• 05-05-2018, 15:48:53
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar;

    Android ve Ios ortamı için React Native ile uygulama geliştiriyorum. Aramızda React Native geliştiricisi var mı acaba?

    React Native ile geliştirilen bir uygulamanın, ileride tutması ve yüzbinler tarafından kullanılması dikkate aılndığında, performans, tutarlılık, uyumluluk, telefonların harcayacağı işlemci yükü gibi birçok faktör açısından problem yaşatır mı?

    Facebook'un, React Native sayfasında özellikle vurguladığı "Hybrit değildir" vurgusuna istinaden, her ne kadar Native komponentler kullanılsa da, temel olarak bir köprü vazifesi görmekte. Bu anlamda Android için Java, Ios için swift ile ayrı ayrı geliştirme yapmanın bariz bir avantajı olduğunu söyleyebilir miyiz?

    Facebook tarafından yapılan açıklamalarda, Facebook Ads Manager , Facebook Groups ve İnstagram uygulamalarının React Native ile geliştirildiğine dair açıklama yapıldı. Bu anlamda, yüksek kullanıcı sayısına erişildiğinde dezavantaj oluşturabilecek bir faktör olabilir mi?

    Sizin bu konuda düşünceleriniz nedir?

    Herkese iyi çalışmalar dilerim.
  • 05-05-2018, 18:54:43
    #2
    Üyeliği durduruldu
    React kesinlikle Hybrid tir.
  • 05-05-2018, 19:23:39
    #3
    Üyeliği durduruldu
    React Native kesinlikle çok başarılı bir hibrittir. Adında native geçtiğine bakmayın.
    Yüksek performans gerektiren veya yüksek hacimli kullanım göreceği tahmin edilen uygulamalarınız için ios ve android native uygulamalar geliştirin.
    Genellikle gözlemlediğim akış şu şekilde oluyor. Hybrit olarak hızlıca geliştiriliyor uygulamalar, istenilen seviyeye ulaştığında yatırım yapılarak native hale getiriliyor. İstenilen seviyeye ulaşmazsa öyle kalıyor. Burda bahsettiğim istenilen seviye tamamen ticari konudur.
  • 05-05-2018, 19:32:13
    #4
    bitalk adlı üyeden alıntı: mesajı görüntüle
    React Native kesinlikle çok başarılı bir hibrittir. Adında native geçtiğine bakmayın.
    Yüksek performans gerektiren veya yüksek hacimli kullanım göreceği tahmin edilen uygulamalarınız için ios ve android native uygulamalar geliştirin.
    Genellikle gözlemlediğim akış şu şekilde oluyor. Hybrit olarak hızlıca geliştiriliyor uygulamalar, istenilen seviyeye ulaştığında yatırım yapılarak native hale getiriliyor. İstenilen seviyeye ulaşmazsa öyle kalıyor. Burda bahsettiğim istenilen seviye tamamen ticari konudur.
    KreatifMerkezi adlı üyeden alıntı: mesajı görüntüle
    React kesinlikle Hybrid tir.
    Arkadaşlar react native kesinlikle hybrid değildir örnek olarak örnek bir apk çıkarıp apktool ile decompile edip class ve layoutlarına bakabilirsiniz react native adından anlaşılacağı gibi xamarin, flutter gibi nativedir.

    Zaten sitesine girerseniz "Build native mobile apps using JavaScript and React" ibaresi en üstte yazmaktadır. Halen inanmayan arkadaşlar varsa google'ın aracı olan UI Automator viewer ile mevcut çıkardığınız appe bakarsanız rootta Webview görmeyip native componentlerigöreceksinizdir.
    https://facebook.github.io/react-native/

    edit.

    Performans olarak bazı durumlarda daha iyi olduğu yazılmış fakat böyle olmadığını düşünüyorum Skype Android uygulaması vasat durumda. RxJava ile nativede de reacting programming yapabilirsiniz androidde. Performanstan ziyade benim burada değinmek istediğim önemli birkaç nokta var.

    React native app'i neden yazdırmamalısınız ?

    Çok profesyonel uygulamalarda kullanmamanız.
    Projelerinizin startupları için kullanabilirsiniz. Yükselişe geçince native olarak baştan yazdırabilirsiniz.
    Logic için yazılmış kodda hata olursa olur olmazsa olmaz. Androidde doğru yazılmış iosta yanlış yazılmış bir algoritma oranı düşecektir.

    React native app'i neden yazdırmamalısınız ?

    React native app yazdıracağınız kişi veya kişiler android / ios native doğal yapısına hakim değilse react native + native kod şeklinde ilerlemeniz zor olacaktır. Örnek olarak arkaplanda belirli aralıklarla konum alan bir uygulama yazdırmak istediğinizde react native e native modül ekleyecek arkadaşın bunu githubdan direk alıp modül olarak eklemesi sakıncalı olacaktır. Çünkü githubda bulunan kodu kendisi yazmadığı ve native lifecycle ve apilara hakim olmadığı için zorlanacağını ve hata yapacağını düşünüyorum.

    Örneğin sadece react native bilen arkadaş aşağıdaki lifecycle ve önemini gerçekten biliyor mu ? Yada reactte mevcutta bulunmayan fragment yapısını neden modül olarak eklemesi gerektiğini yeri gelince düşünmesi için bilmesi gerekecektir.

  • 05-05-2018, 19:41:24
    #5
    Üyeliği durduruldu
    GOKBERK adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar react native kesinlikle hybrid değildir örnek olarak örnek bir apk çıkarıp apktool ile decompile edip class ve layoutlarına bakabilirsiniz react native adından anlaşılacağı gibi xamarin, flutter gibi nativedir.

    Zaten sitesine girerseniz "Build native mobile apps using JavaScript and React" ibaresi en üstte yazmaktadır. Halen inanmayan arkadaşlar varsa google'ın aracı olan UI Automator viewer ile mevcut çıkardığınız appe bakarsanız rootta Webview görmeyip native componentlerigöreceksinizdir.
    https://facebook.github.io/react-native/
    Bu konu çok tartışıldı stackoverflowda quorada. Apk yı decompile edersek ionic bile native çıkar. Çünkü o apk içinde sdk lar var.
    React native android ve ios sdk üzerine JS katmanıdır, Hybrid uygulaması HTML / CSS webview'inden yapıldığı yerdedir. Yani hybrittir hem nativedir. Buna native dersem diğer apk üreten covalent ionic hatta apache cordova ya haksızlık ederiz
  • 05-05-2018, 20:30:56
    #6
    bitalk adlı üyeden alıntı: mesajı görüntüle
    Bu konu çok tartışıldı stackoverflowda quorada. Apk yı decompile edersek ionic bile native çıkar. Çünkü o apk içinde sdk lar var.
    React native android ve ios sdk üzerine JS katmanıdır, Hybrid uygulaması HTML / CSS webview'inden yapıldığı yerdedir. Yani hybrittir hem nativedir. Buna native dersem diğer apk üreten covalent ionic hatta apache cordova ya haksızlık ederiz
    Bahsetmek istediğim viewgroupların, viewlerin ve viewlere tanımlanan eventlerin native olmasıydı ionic ile oluşturduğunuz butonların veya diğer viewlerin koduna bakarsanız yada react native ile bakarsanız ne demek istediğimi daha net anlaşılır. Yada bir list oluşturursak ionice performans açısından fark atacaktır çünkü view native olarak render edilmiş olacak react native appte. Malesef react native app hybrit değildir. JS kodunun çalışması hybrit olması anlamına gelmemektedir. Evet JS native dili değildir bu yüzden bu hybrid diyemeyiz fakat bu yönüyle native bulmuyorum demeni anlarım. Yani birşeyin native tanımına girmemesi hybrit tanımına sokmaz.

    Halihazırda konusu olduğu için merak eden arkadaşlar aşağıdaki linkten inceleyebilirler.
    https://www.quora.com/Is-React-Nativ...tive-or-hybrid
  • 05-05-2018, 21:32:25
    #7
    Eğer bir startup kuracaksanız ve farklı bir fikirle birşeyler yapmanız gerekiyorsa tabiki en önemli konu maliyet olacaktır. Elinizdeki fikrin projeye dönüşmesi ve en azından bir demo olarak çıkartmanız gerekir bunuda en ekonomik yoldan halletmeniz gerekiyor zira daha startup'ın hali hazırda müşterileri oluşmamış olabilir ve kazancıda yoktur. Öncelik eğer olabiliyorsa React Native yada Ionic gibi native deneyim sağlayan ve ios ve android için çıktı alabileceğiniz framework lar olacaktır. Demodan sonra müşterilere fikrinizi, projenizi, startup ınızı tanıtabilirsiniz zaten müşterileriniz oluşmaya başladıkça yatırım alarak büyümeniz gerekecek bunun içinde yatırım ekosistem içerisinde doğal olarak uygulamanız için daha profesyonel düşenecekseniz (Bu hemen hemen tüm web ve app girişimlerinde aynıdır) ozaman eğer ihtiyaçlar hybrit ile karşılanıyorsa devam edilir bunun A-B testleri performans testleriyle ölçülür ona göre gerekirse hızlıca native platformada geçiş yapılabilir. Fikrinizi ve projenizi startup'ınızı hayata geçirmek için hybrit bulunmaz nimettir.

    Yukarıdaki yazdıklarım tamamen bir startup girişimi ve sonrasında olabilecekler üzerinedir başka bir şekildede evrilebilir.