Çapraz platform uygulama pazarına kim hakim olacak?

Bir zamanlar, platformlar arası geliştirme, React Native ve Flutter kullanarak uygulamalar oluşturmakla eşanlamlı olarak görülüyordu. Hobi meraklıları ve mobil uygulama geliştirme şirketleri, uygulamalarını Android ve iOS platformlarında daha düşük maliyetle ve daha yüksek verimlilikle yayınlamak için bu iki çerçeveye güveniyor. Ama şimdi Kotlin de rekabete katıldı ve bu da herkesin platformlar arası pazarda kimin baskın oyuncu olacağını merak ediyor.

Yazar | Jack patel

Çevirmen | Ay gibi Mingming, sorumlu editör | Guo Rui

Üretildi | CSDN (ID: CSDNnews)

Aşağıdaki çeviridir:

Bu makalede, Kotlin ve Flutter'ı karşılaştırmaya odaklanacağız ve platformlar arası uygulama geliştirme için doğru seçimi bulmanıza yardımcı olacağız.

Kotlin Multiplatform nedir?

Kotlin dilinin ek bir özelliği olan Kotlin Multiplatform, Android uygulama geliştirme alanlarının ötesine geçmesine yardımcı olur. Bu, geliştiricilerin iOS, Web, Linux, MacOS, Android ve Java Virtual Machine (JVM) gibi birden çok platformda kod, veri ve iş mantığını paylaşmasına olanak sağladığı anlamına gelir.

Burada ağırlıklı olarak çapraz platform özelliklerine odaklandığımız için Kotlin'in yerel platform özelliklerine daha fazla dikkat etmemiz gerekiyor.

Platformlar arası görüntü elde etmek için Kotlin uygulama geliştirmeye yatırım kavramı pazarda hala yeni bir kavramdır, ancak şaşırtıcı bir şekilde çeşitli popüler markalar bu kavramı kabul etmiştir.

Bunun temel nedeni, mobil uygulama geliştiricilerine aşağıdaki avantajları getirmesidir.

Kotlin Multiplatform'un Avantajları

1. Bir çerçeve değil, bir SDK'dır

Kotlin'i seçmenin en büyük avantajı, uygulamayı tamamen taşımanıza gerek olmamasıdır. Tek bir modül veya unsurla başlayabilir, etkinliğini doğrulayabilir ve ardından diğer parçaları aşamalı olarak taşıyabilirsiniz.

2. Öğrenmesi kolay

Kotlin'in sözdizimi Swift, Java, Groovy ve Scala gibi diğer üst düzey programlama dillerine çok benzediğinden, bu dili öğrenmek ve Kotlin Multiplatform geliştirmeye yatırım yapmak çok kolaydır.

Kotlin Multiplatform ile geliştirme, farklı platformlarda aynı mantıkla kod yazmaya daha fazla zaman harcamak yerine yeniliğe daha fazla odaklanmamızı sağlıyor. MPP, önceki yaklaşımımızdan daha iyidir çünkü her platforma birincil hedef olarak davranır. Ankush Gupta, Qulzlet Yazılım Mühendisi

3. İş mantığının yeniden kullanılması

Kotlin, iş mantığını kullanıcı arayüzünden ayırabilen ilk araç değil. Xamarin ve React Native gibi çeşitli platformlar arası çerçeveler zaten benzer hizmetler sağlıyor.

Ancak, UI katmanı altında paylaşılan mantık ve kitaplıkları kullanması nedeniyle diğer uygulamalardan farklıdır. Bu, mobil uygulama geliştiricilerinin yerel ortamla (iOS için Swift ve XCode, web için JavaScript ve Android için Kotlin ve Android Studio) herhangi bir köprü kullanmadan etkileşime girmesine ve daha yerel bir şekilde sunmasına olanak tanır. Kod.

4. Yerel kullanıcı arayüzü deneyimi

Kotlin Multiplatform, geliştiricilerin herhangi bir UI oluşturma talimatını izlemesini gerektirmez. UI geliştiricilerinin uygulamanın görünümünü, davranışını ve performansını yerel bir uygulama gibi ele almalarını sağlar.

5. Daha iyi performans

Platformlar arası geliştirme için Kotlin dilini kullanmayı düşünmenin avantajlarından biri, platformlar arası derleme kodunun hedef platformla aynı formatı kullanmasıdır. Bu, onu platformun ana dili ile aynı performansı yapar.

6. Gelişmiş esneklik ve ölçeklenebilirlik

Kotlin geliştiricileri herhangi bir sanal makine kullanmadan uygulama projelerini genişletebilirler. Bu, onu mobil uygulamalar yapmak için ideal bir seçim haline getirirken aynı zamanda esnek ve ölçeklenebilir hale getirir.

Bununla birlikte, bariz avantajlara rağmen, Kotlin dilinin çapraz platform uzantısının bazı eksiklikler nedeniyle herkesin favorisi haline gelmesi hala zor.

Kotlin Multiplatform'un dezavantajları

1. Hala deney aşamasındadır

Kotlin 1.2'de piyasaya sürülmesine rağmen, SDK gerçekten kararlı 1.0 sürümüne ulaşmadı. Hala deneysel aşamada, bu da geliştiricilerin bir sonraki büyük proje için onu seçmekte tereddüt etmesine neden oluyor.

2. Mevcut kütüphaneler çok sınırlıdır

Şu anda geliştirme ortamında, veri serileştirme kitaplığı ve HTTP istemci kitaplığı gibi yalnızca birkaç temel kitaplık vardır. Kotlin 1.3.60'ın bir sonraki sürümü olan Kotlin 1.4'ün gelişiyle birlikte, DateTime gibi daha fazla kütüphanenin mevcut olması bekleniyor, ancak şimdiye kadar Kotlin ile uygulamaları zahmetsizce geliştirmek zordu.

3. Diğer teknoloji yığınlarına aşina olmanız gerekir

Kotlin Multiplatform, platformun ilgilendiği tüm uygulama programlama arayüzlerinin (API) yerini alması amaçlanmadığından, uygulama geliştirme şirketlerinin her platform ve API hakkında temel bir anlayışa sahip olması gerekir. Bu aynı zamanda Flutter ve diğer platformlar arası geliştirme yerine Kotlin'i seçmenin dezavantajıdır.

4. Daha yüksek geliştirme maliyetleri

Son olarak, Kotlin SDK bazı yarı yerel özellikler sağlar. Bu nedenle, mobil uygulamaların geliştirilmesi daha yüksek maliyetler gerektirir ve bu da nihayetinde MVP ve uygulama prototiplerinin geliştirilmesi için uygun değildir.

Flutter ve Kotlin Multiplatform'un artılarını ve eksilerini derinlemesine karşılaştırmadan önce, önce Flutter'ı anlayalım.

Flutter UI çerçevesi nedir?

Google Fuchsia pazarına hazırlanmak için 2015 yılında piyasaya sürülen Flutter, güzel, yerel mobil, web ve masaüstü yapmak için bir kod tabanı kullanabilen açık kaynaklı bir yazılım geliştirme kitidir.

Google'ın kullanıcı arayüzü çerçevesi, genel bir teknoloji haline gelmek ve diğer pazarların zorluklarını karşılamak ve verimli çözümler sağlamak için tasarlanmıştır. Sonuç, Flutter'ın ideal bir platformlar arası uygulama geliştirme çerçevesi haline gelmesidir. Sadece bu değil, aynı zamanda en iyi markaların kullandığı teknolojiler listesine de girdi.

Bu, herkesin aşağıda öğreneceğiniz Flutter'ın özelliklerini ve avantajlarını daha fazla bilmek istemesine neden olur.

Flutter'ın Avantajları

1. Açık kaynak ve ücretsiz

Flutter ve onun altında yatan programlama dili Dart hem açık kaynak hem de kullanımı ücretsizdir. Bu, geliştiricilerin belgeleri görüntülemesine, açık bir geliştirici forumunda sorgu göndermesine ve sonunda kodu öğrenip uygulamasına olanak tanır.

2. Sıcak yükleme işlevi

Flutter'ın mobil uygulama geliştirme ajansları tarafından tercih edilmesinin en büyük nedenlerinden biri, yeniden yükleme işlevidir. Bu özellik, herkesin arka uçta herhangi bir değişiklik yapmasını ve aynı zamanda ön uçtaki farklılıkları görmesini kolaylaştırır. Bu şekilde, değişikliğin uygulamanın diğer öğeleriyle mükemmel bir şekilde entegre olup olmadığını belirlemek kolaydır.

3. Son derece özelleştirilebilir

Uygulama geliştirme için Flutter'ı kullanan geliştiriciler, geliştirme ortamında farklı widget'lar kullanabilir. Bu, mobil çözümler oluşturmalarını ve görünümü daha hızlı özelleştirmelerini kolaylaştırır.

4. Geliştirme süresini ve maliyetini azaltın

Flutter'ın çapraz platform avantajlarından biri, tek bir kod tabanı kullanarak iOS ve Android için yerel uygulamalar oluşturma olanağı sağlamasıdır. Bu nedenle Flutter mobil uygulaması oluşturmanın maliyeti oldukça düşüktür.

5. Google Firebase'i destekleyin

Firebase entegrasyon araçlarıyla geliştiriciler, Flutter geliştirme ortamına arka uç araçları ekleyebilir.

6. MVP geliştirme ve uygulama prototipleri oluşturmak için uygundur

Flutter, daha az zaman, maliyet ve çabayla Android ve iOS platformları için uygulamalar oluşturma yeteneği sağlar. Bu, Flutter'ı, suları test etmek veya fon toplamak için kullanılabilecek MVP geliştirme ve prototip oluşturma için mükemmel bir seçim haline getirir.

Flutter SDK kullanmanın dezavantajları

1. Uygulama çok büyük

Uygulama geliştirme planı için Flutter'ı seçmenin en büyük dezavantajı uygulamanın çok büyük olmasıdır. React Native ve Xamarin ile karşılaştırıldığında, bu çerçevede bile Hello World'ün yayın dosya boyutu yaklaşık 6,7 MB'dir.

2. Dart'a göre

Dart'ın öğrenmesinin kolay ve uygulanmasının daha hızlı olduğu inkar edilemez. Ancak benzer Java, C #, JavaScript ve C dilleri kadar popüler olmamıştır. Bu, geliştiricilerin dart'ın en iyi programlama kurslarına kaydolmasını ve kendilerini Flutter'a adamalarını engelledi.

Şimdi, artık ikisini önceden anladığımıza göre. Ardından, platformlar arası geliştirme-Kotlin veya Flutter için hangisinin daha uygun olduğuna bir göz atalım.

Kotlin Multiplatform ve Flutter'ı karşılaştırırken dikkate alınması gereken faktörler

1. Pazar popülerliği

Kotlin ve Flutter, hem açık kaynaklı hem de kullanımı ücretsiz araçlardır. Bu nedenle geliştiriciler her ikisiyle de ilgileniyor.

Google Trends'e bakarsanız, Flutter'ın popülaritesi Kotlin'den bile daha fazla arttı. Benzer şekilde, Kotlin ve Flutter'ı GitHub aracılığıyla karşılaştırırsanız, ilki 28300 başlangıç ve 3290 çatala sahipken, ikincisinde * 69500 başlangıç ve 8110 çatal * vardır.

Bu Flutter'ın Kotlin'den daha popüler olduğunu gösteriyor.

2. Öğrenme eğrisi

Öğrenme eğrisini Kotlin ve Flutter'ı karşılaştırmada bir faktör olarak alırsanız, eski şüphesiz kazanacaktır. Bunun arkasındaki nedenlerden biri, Kotlin'in Java ile birlikte çalışabilmesi ve Google'ın birkaç ay önce çeşitli Kotlin öğrenme kursları sağlamasıdır.

Ancak avantaja sahip olan Kotlin Multiplatform veya Flutter söz konusu olduğunda durum biraz daha farklı. Flutter ile karşılaştırıldığında Kotlin Multiplatform, piyasada sınırlı kaynaklara sahip yeni bir ekosistemdir.

Bu nedenle Flutter daha da iyi.

3. Performans

Flutter, geliştiricilerin aynı dil düzenini ve arka uç gereksinimlerini kullanmasına, daha yüksek animasyon hızından yararlanmasına vb. Olanak tanır.

Ancak Kotlin ile karşılaştırıldığında Flutter, Çin pazarında hala çok geride. Bunun arkasındaki ana sebep, Kotlin Multiplatform kodunun derlenen formatının hedef platform ile birebir aynı olmasıdır.

Bu nedenle Kotlin, platformlar arası performans açısından daha da iyidir.

4. Üçüncü taraf kitaplıklarının ve araçlarının entegrasyonu

Kotlin Multiplatform, yerel platform ekosisteminde çalışır. Bu nedenle, uygulama uzmanları Jetpack Compose ve SwiftUI dahil olmak üzere yerel geliştirmede kullandıkları araçları ve kitaplıkları kullanabilir. Bu, nihayetinde, yerel ortama bağlanmak için üçüncü taraf kitaplıkları ve araçları bulmalarına gerek olmadığı anlamına gelir.

Bununla birlikte, Flutter platformlar arası SDK temelde bir UI geliştirme aracı ise, üçüncü taraf kitaplıklarına veya araçlarına güvenmesi gerekir.

5. Arka uç geliştirmenin kapsamı

Arka uç hizmet geliştirmeye odaklanırken, Kotlin Multiplatform'un Flutter'a göre bir avantajı vardır.

Flutter, bir BaaS (hizmet olarak arka uç) platformu olan Firebase'i entegre edebilmesine rağmen, arka uç geliştirmeyi entegre eder. Ancak Kotlin çoklu platform, geliştiricilerin arka uç kodu yazmasına doğrudan izin verir.

6. Birden çok platforma odaklanın

Şu anda, mobil cihazlar (Android ve iOS) ve web için tasarlanmış uygulamaların tümü Flutter tarafından kullanılmaktadır. İnsanlar bunu tvOS, Android Auto, CarOS ve WatchOS'ta aynı anda görünmek için kullanamazlar.

Ancak Kotlin Multiplatform söz konusu olduğunda böyle bir sınırlama yoktur. Amacı, platform dışındaki mobil cihazlar ve cihazlar için uygulama projeleri geliştirmektir.

Bu nedenle mobil uygulama geliştirme hizmeti veren şirketler için Kotlin Multiplatform'u tercih etmek daha iyi bir seçimdir çünkü uygulamalarını dahil olmak istedikleri platform ve cihazda başlatabilirler.

7. İş ve maaş aralığı

Dikkate alınması gereken bir diğer önemli faktör, işin kapsamı ve maaştır.

StackShare topluluğuna göre, Kotlin programlama dili 268 şirket ve 210 geliştirici tarafından bahsedilirken, Flutter yalnızca 42 şirket ve 146 geliştirici tarafından bir teknoloji yığını olarak listelenmiştir.

Şimdi, çünkü Kotlin Multiplatform bağımsız bir platform değil. Bu, ana dili temel alan deneysel bir uzantıdır.Kotlin'in yerel ortamında daha fazla iş fırsatı izlenimi bırakan kullanabilirsiniz.

8. Belgeler ve topluluk desteği

Flutter ile karşılaştırıldığında, Kotlin Multiplatform hala nispeten yeni ve aslında hala deneysel aşamada. Bu nedenle, ikincisinin belgeleri ve topluluk desteği bir dereceye kadar öncekinin gerisinde kalıyor. Ancak, platformlar arası işlevler kararlı hale geldiğinde, dokümantasyon ve topluluk gücü geliştirilecek ve platformlar arası geliştirme için daha fazla kişi Kotlin'i seçecek.

Çapraz platform geliştirme savaşının galibi kim?

Kotlin Multiplatform ve Flutter'ın her ikisi de güvenilirdir, amaçları Android ve iOS platformlarında uygulama geliştirme döngüsünü kısaltmaktır. Hepsi Google tarafından desteklenmektedir. Birbirleriyle şiddetle rekabet ederler ve her sürüm giderek daha rekabetçi hale gelir.

Bu durumda en mantıklı yaklaşım, sizin için Kotlin veya Flutter olarak hangisinin daha iyi olduğunu belirlemek için çapraz platform uygulamalarınızın ihtiyaçlarını ve önceliklerini analiz etmek için mobil alandaki uzmanlara danışmaktır.

Orijinal: https://medium.com/@jackpatelsa/kotlin-vs-flutter-who-will-rule-the-cross-platform-app-market-6d1d69cad894

Çevirmen: Mingmingruyue, tanınmış bir İnternet şirketi Java kıdemli geliştirme mühendisi, CSDN blog uzmanı.

Bu makale bir CSDN çevirisidir, lütfen yeniden basımın kaynağını belirtin.

Hangzhou son salgın risk haritasını yayınladı, tüm caddeler düşük riskli ve düşük riskli
önceki
4 gollü 3 eşsiz oyun! 25 yaşındaki yeni yardım Manchester United'ı tekrar kurtardı, Ocak ayında Red Devils uyluğuna katıldı
Sonraki
Java eski, hala yiyebilir misin? 2020 Java Ekosistem raporu yayınlandı
İki Bundesliga takımı karşı karşıya geldi! Berlin United evinde 2-2 berabere kaldı ve 3 puan kaybetti
Sıcaklık binlerce kilometreye yayıldı, bir öğretmen Lin'an önemli salgın bölgelerdeki öğrencilere yazıyor
Premier Lig'de başka bir düşük seviye hatası daha var: Açılışın 3 dakikasında, Manchester United kalecisi topa tekme attı ve rakibi ileriye doğru blok yaptı.
Dünyanın ilk otonom sürüş aşaması "başlangıcını yapıyor", kim C konumunda duracak?
Heyecan verici 3-2! La Liga Sevilla, evinde 10 misafir takımı yendi! 22 yaşındaki forvet, son hikâyeyi gönderdi
GitHub açık kaynak kodlu resmi komut satırı aracı, başlamak için 5 dakika, İLK1'in başında
Futbolda "Ghost Fighting Ghost" un nadir bir sahnesi! AFC Şampiyonlar Ligi takımı kendi taraftarları tarafından kuşatıldı ve 0-3 mağlubiyet cezasına çarptırıldı.
Programcıların kitaplıkları silmesi ve kaçması imkansızdır, ancak önlenmelisiniz ...
60.000 kişi yürek burkan bir sahneye tanık oldu! Bundesliga kalecisi maçın ardından 73. dakikada düşük seviye hata ile topu ıskaladı.
Abartılan test odaklı geliştirme?
2-1 art arda 3 galibiyet kazanın! 82 dakikada "dünya standartlarında" asist, Serie A 650 milyon dev 60.000'i fethetti
To Top