Yerli vs kotlin tepkisi: bilmeniz gereken her şey
Yayınlanan: 2019-01-25Günümüzde teknoloji çok hızlı değişiyor ve her geçen gün geliştirme çerçevelerinin daha yeni sürümleri daha güncel hale geliyor ve yeni bir şeyler yapma fizibilitesine izin veriyor! Hızla değişen iş ihtiyaçlarını karşılamak için birçok farklı platform ve teknoloji bulunmaktadır. Burada, Android ve iOS uygulamaları geliştirmek için iki programlama platformunu tartışacağım.
React ailesinin yeni nesil bir üyesi olan React Native, Javascript ile birlikte iOS ve Android için hibrit uygulama geliştirme sağlayan bir JavaScript platformudur ve Kotlin, Java'dan sonra Android uygulama geliştirme için ikinci resmi dildir. Böylece Kotlin'e alternatif olarak kullanabilirsiniz.
StackOverflow ve Github çözümlerinden son bir yıldan bu yana yüksek talep artışı görüyoruz.
Bakalım ne yapışıyor, ne kayıyor.
REAKTİF YERLİ:
React(javascript kullanarak web ve mobil uygulamalar oluşturmak için bir çerçeve) + Native(javascript tarafından kullanılan yerel bileşenler) = React Native. iOS ve Android için gerçek, yerel mobil uygulamalar yazmak ve web ve mobil uygulamalarda kodu yeniden kullanmak için bir JavaScript çerçevesidir. Bu çerçeve, geliştiricilerin tüm zamanların en sevilen klasik JavaScript'lerine gerçekten özgü mobil uygulamalar oluşturmasına ve bildirime dayalı bileşenlerden zengin mobil kullanıcı arayüzü oluşturmasına olanak tanır.
Geliştirme için yerel tepkiyi kullanmak için NodeJs() ve NPM(Reaksiyon-yerel bağımlılıkları yüklemek için Düğüm Paket Yöneticisi =) yazılımını yüklemeniz ve daha fazla yapılandırma yapmanız gerekir.
Artıları:-
Daha Hızlı İnşa Etme: React Native'in en önemli satış noktası, geliştirme süresinin daha kısa olmasıdır. Şimdi soru ortaya çıkıyor, kısa süreli geliştirme ile sonuçlanan nasıl daha hızlı? Yani bunun cevabı şudur: Yenilerini oluşturmamak için zaman kazandıran çok sayıda uygulamaya hazır bileşen sağlar. Örneğin, FlatList, size Android'in geri dönüşüm görünümü veya iOS'un tablo görünümü ile aynı işlevselliği sağlayan, tepki yerel tarafından sağlanan yerleşik bir bileşendir.
Tek Çerçeveyle İki Platform Vur: Tek atışla iki kuş vurabilirsin. React Native, iOS ve Android platformları için aynı anda uygulamalar oluşturmanıza olanak tanır ve yalnızca tek bir kod tabanına sahip olursunuz. Şu an itibariyle React kütüphaneleri, yerel SDK'nın sağladığı tüm paketleri sağlamamaktadır, ancak sağlanmayanlar yazılacaktır. Böylece bir uygulama fiyatına iki uygulamaya sahip oluyorsunuz.
RCT köprüsü, platforma bağlı olan NPM tarafından sağlanır. Böylece kod her iki platformda da yürütülür.
Sıcak Yeniden Yükleme: Bu, geliştiriciler için en iyi avantajdır. Bu özellik, kodlarında her değişiklik yaptıklarında uygulamayı çalıştırmaları gerekmediğinden, yalnızca kodlarını kaydetmeleri gerektiği için zamandan tasarruf sağlar ve bu, ekrana yansıtılır. Kodun bu otomatik yansıması, NPM tarafından sağlanan bir dinleyici tarafından gerçekleştirilir. Native kod için ise küçük bir değişiklik yapılacak olsa bile tüm uygulama yeniden başlatılır.

Daha Küçük Ekipler: Yerel geliştirme için iki ayrı ekip gerekir, bu da iletişimde gerileme olabileceğinden geliştirmeyi yavaşlatır. Ancak React için JavaScript bilen geliştirici, yerel ekibe kıyasla ekip boyutunu azaltarak her iki platform için de kod yazabilir. Ekip ne kadar küçükse, yönetmek o kadar kolay olur.
Web'den Mobil'e Geçiş: Web'den mobil geliştirmeye geçmeyi düşünen biri, JavaScript'in Web geliştirme için yaygın olduğu ve Mobil için de aynı olduğu için daha kolay bir geçişe sahip olacaktır. Dolayısıyla, bir Reach JS geliştiricisi web uygulamasını bir mobil platforma taşımak isterse, bunu çok kolay bir şekilde yapabilir, çünkü React platformu onun için mobil platformda da aynı kalır. Hatta tam tersi.
Eksileri:-
Gerekli Ön Koşul Bilgisi: En büyük dezavantaj, geliştiricinin uygun Javascript bilgisine sahip olması ve ardından hibrit uygulamalar için yerel kodla birleştirmesidir. Ayrıca özel bileşenlerini, Android'de olduğu gibi XML dosyalarıyla kodlamaları gerekecek.
Daha Az Güvenli: JavaScript kitaplığı kırılganlığıyla ünlü olduğundan, mobil bankacılık gibi A Tipi güvenlik söz konusu olduğunda React daha az güvenlidir. Bu nedenle, kullanılan ve yazılan kodun kötü niyetli veya kirli olmadığından emin olmak için özel dikkat gösterilmelidir. Programcılar 3. taraf eklentileri kullanırken ekstra dikkat etmelidir.
Sınırlı 3. Taraf Kitaplıkları: API erişilebilirliği söz konusu olduğunda, Yerel uygulama geliştirme çerçeveleri tüm API türlerini doğrudan kullanabilir. React Native uygulamaları, geliştirme süreçlerinde yalnızca birkaç API kullanabilir. Karmaşık API'leri uygulamak için Yerel teknolojileri kullanarak bir bağlantı katmanı oluşturmanız gerekir.

Kotlin:

JetBrains tarafından geliştirilen Kotlin, JavaScript kaynak koduna derlenen veya LLVM derleyici altyapısını kullanan Java Sanal Makinesi üzerinde çalışan yeni bir programlama dilidir. Artık Google tarafından onaylanan Android Studio için resmi bir dildir.
Artıları:
Kotlin'deki kod, kesin ve özlü kod temeli sağlar, ancak netlikle, özellikle Null işaretçiler için daha az hata şansına sahiptir ve üretimde kararlı koda, Java'da kodladığınız aynı işlevsellik için daha az kod satırına sahiptir.
Java Kodu:
public class clearBridge { public static double calculate(double a, String op, double b) throws Exception{ switch (op) { case "add": return a+b; case "substract": return ab; case "multiply": return a*b; case "divide": return a/b; default: throw new Exception(); } } }
Kotlin Kodu:
fun calculate(a: Double, op: String, b: Double): Double { When (op) { "add" -> return a - b "substract" -> return a + b "multiply" -> return a * b "devide" -> return a / b else -> throw Exception() } }
Güvenilir Bakım ve Destek: Kotlin, en iyi IDE araçlarını sağlama konusunda popüler olan büyük JetBrains şirketi tarafından sağlanmaktadır. Dolayısıyla Kotlin'e araç desteği sağlamayı ihmal edeceğine şüphe yok. Android Studio dahil olmak üzere çeşitli IDE'lerde desteklenir. JetBrains, bağlı sistemle eşzamansız sunucular ve istemciler oluşturmak için Ktor çerçevesi üzerinde çalışıyor.
Daha Az Kod: Kodlamanın genel bir kuralı vardır: “Ne kadar az kodlarsanız o kadar az hata oluşur”. Bu, üretimde hatalara daha az, kararlı kodlara daha fazla yer bırakır. Kotlin için boş değerler için bir koşul sağlamaya gerek yoktur, Java'da boş değerler için koşullar sağlamamız gerekir.
Güvenilir Dil: 2011'de ortaya çıkmadan önce Kotlin, son sürümden önce birden fazla test aşamasından geçmişti. Android üzerinde çalışmak ve farklı sürümlerle uğraşmak geliştiriciler için en büyük acıdır, Kotlin'in güvenilirliği bir nimettir.
Mevcut Kodla Uyumluluk: Kotlin, zengin bir ekosistem sağlayan tüm araçlar ve çerçeveler dahil olmak üzere Java ile iyi çalışır. Sonuçta, kod derlenecek ve bu da bayt kodunu platformdan bağımsız Java Sanal Makinesine döndürecektir. Kotlin'de bir işlevi kodlarsanız ve onu bir Java dosyasından (Android Studio'da) çağırırsanız, yürütülür çünkü sonunda bayt koduna dönüştürülecektir.
Eksileri:

Öğrenme Eğrisi: Java ve Kotlin arasında bazı farklar vardır, bu nedenle Kotlin'e geçmek isteyen geliştiriciler için bir öğrenme eğrisi olacaktır. Bunun için uygun eğitim ve zamana ihtiyaç olacaktır. Değişken bildirimi, işlev tanımlama vb. için sözdizimi değişecektir.
Daha Küçük Topluluk: Pazarda hızlı bir popülerlik kazandıktan sonra, katkıda bulunanlar tarafından cevaplanmayan bazı sorular nedeniyle daha küçük bir topluluğa sahiptir, burada React Native, birçok geliştirici tarafından bilinen bir JavaScript kitaplığı olduğu için daha büyük bir topluluğa sahiptir. Giriş bölümünde yukarıda belirtildiği gibi, sorunların sayısını ve katkıda bulunan çözümlerini kontrol edebilirsiniz.
Çözüm
React Native, mobil uygulama geliştirme sektörü için uyumlu bir ekosistemin yanı sıra pazara daha hızlı süre sağlamak için kitaplıklara ve eklentilere erişim sunan gelişen bir topluluktur. Uygulamalar, performanstan ödün vermeden yerel uygulamaların sezgisel ve sağlam özelliklerinin keyfini daha kısa bir zaman çizelgesi, maliyet ve kaynaklarla çıkarır.
Öte yandan Google, Android geliştirme için standart IDE olarak Kotlin'i önerir. Kotlin, Java ile %100 birlikte çalışabilir ve Java ve Android projeleriyle geriye dönük uyumluluk sunar. Kotlin, gerçek dünyadaki geliştirme sorunlarını çözmeyi amaçlayan kurumsal düzeyde bir dildir.