Android ve iOS Uygulama Geliştiricileri Neden Flutter'ı Düşünmeli{2021-2022}
Yayınlanan: 2019-03-28Mobil uygulama dünyası kasabasının sessiz konuşması, gelecekte Native Apps'in - özellikle android ve iOS için yapılanların, her ikisi için tek bir kod tabanı kullanarak geliştirilenlerden güçlü bir rekabetle karşı karşıya kalacağıdır: Çapraz Platform.
React Native ve Flutter gibi daha gelişmiş platformlar arası çerçevelerin daha da gelişmiş olduğu gözleminden yola çıkarak, mobilite dünyası yakında sesli sorgulamanın olduğu bir döneme girecek: Native vs Cross Platform daha da belirgin ve gürültülü hale gelecek .
Ve bugün oturmasına rağmen, Native Android ve iOS geliştirme ve sunduğu faydalar için bir eşleşme olmamasına rağmen, şu anda Native yaklaşımına tamamen bir sonraki seviye yakıt dolu rekabeti vermek için ortaya çıkan bir yardımcı çerçeve var – Flutter.
İlk güncellemesi Flutter 1.2 ve Dart 2.2'yi aldığında kısa sürede unutulacak olan ve Google'ın hobisi olduğu varsayılan çerçeve, resmin tamamını değiştirdi.
Araç, birkaç ay içinde Alibaba, Tencent, vb. gibi dünyanın en köklü isimlerinde sadık bir kullanıcı tabanı bulmakla kalmadı, aynı zamanda hiçbir platformlar arası çerçevenin gitmediği bir Hemmingway planı başlattı. önce - Web.
Flutter derneğinin faydasını gören tüm endüstri, artık nihai rekabet gününün yakın olduğu fikrine ısınıyor.
Şimdi bunun bir gecede olacağını söylemiyoruz, zaman alacak ama uygulama endüstrisinin oraya gittiğine inanılıyor.
Hem geliştiriciler hem de işletmeler tarafında yer alan mobil uygulama topluluğunun, uygulama geliştirmede ilk tercih olarak Flutter fikrine nasıl ısındığını görün.
Aslında, giderek daha fazla geliştiricinin, Native'in çöküşü zamanı geldiğinde talepte kalabilmek için geniş bir teknoloji yığını ve dil yelpazesinde ellerini denemek için yola çıkmasının nedeni budur.
Şimdi, React Native, geliştirme hattında devam etmek isteyen uygulama geliştiricilerinin ellerine geçmesi gereken bir çerçeve olarak kendisini zaten kurmuş olsa da, ünlü araç artık blokta tamamen yeni bir araç olan Flutter tarafından yoldan çıkarıldığını görüyor. Flutter mobil uygulama geliştirmenin avantajlarının listesi de bilinmiyor.
Flutter Artıları 2021
Flutter hakkında yenilikçi, farklı ve basitçe yürütülen nedir? Yeni bir araç için React Native'i terk etmeyi düşünmenizi sağlayacak özellikleri ve 2021 artılarını ve eksilerini gözden geçirelim.
Hızlı UI Kodlaması için Özel Widget'lar
Flutter ile ilgili en devrim niteliğindeki şey, yapı taşları ve tutarlı ve birleşik nesne modeli yardımıyla bir kullanıcı arayüzü oluşturmaya yardımcı olmasıdır.
Flutter, widget olarak adlandırılabilir, çünkü Flutter'daki herhangi bir nesne, bir düğme, dolgu veya yazı tipi olsun, bir widget'tır. Widget'lar, tasarımlar veya düzenler yapmak için birleştirilebilir ve widget'ları, Flutter ekibinin yaptığı aynı araçlarla kendi widget'larınızı oluşturduğunuzda, yapı karelerinden en düşük seviyeye kadar herhangi bir özelleştirme derecesinde kullanmaya karar verebilirsiniz.
Flutter'ın kendi widget'larına sahip olması size önemli bir fayda sağlar, yani platformlar arası geliştirmede tamamlanması genellikle en uzun süren UI özelleştirmesi Flutter ile minimum zaman alır.
Büyüyen Bir Topluluk
Dart'a alışmanın sizin için büyük bir sorun olmadığı düşünüldüğünde, aracı öğrenmek basit olmalıdır. Flutter grubu, kısıtlı programlama bilgisi, prototip oluşturma ve oluşturma uygulamalarına sahip bireyler gördüklerini fark etti ve ayrıca Flutter ile başlamak için mobil geliştirme deneyimine gerek olmadığını belirtti.
Böyle genç bir teknoloji için Flutter çok hızlı büyüyor. İstatistiklere göre, Flutter kullanımında hızlı bir büyüme olduğu ve her ay yarım milyondan fazla geliştiricinin Flutter'ı kullandığı gösterilmiştir. Bazı istatistikler , Flutter'ın artan büyümesinin altında gösteriyor .
- Flutter geliştiricilerinin yaklaşık %78'inin kararlı kanallar kullandığı, %11'inin beta kullandığı ve geri kalan %11'inin de dev veya master kullandığı görülüyor.
- Hindistan, Çin, Amerika Birleşik Devletleri, AB ve Brezilya, Flutter için ilk beş bölgedir.
- Play Store'da yayınlanan Flutter uygulamaları yaklaşık olarak sayılır. 90.000.
Dart – Basit ve Zorlayıcı Dil
Dart, sözdizimi ile Java veya C++'ı hatırlamanıza yardımcı olacak son teknoloji nesne yönelimli bir dildir. Hem sağlam hem de zayıf beste stillerini destekler, yeni başlayanlar için almayı kolaylaştırır.
XML kayıtları için gereklilik yoktur. Android geliştirmede, iş tasarım ve koda bölünmüştür. Biçim, daha sonra Java kodunda atıfta bulunulan Görünümler olarak XML'de yazılmalıdır. Dart, format ve kodu tek bir yerde tutarak bununla ilgilenir. Flutter'daki nesneler widget'lar olduğundan, düzen Dart'ta oluşturulur.
Bildiğiniz gibi, bir kullanıcının gadget'ındaki uygulama, köprü olmadan yerel kodda derlendiğinden Dart sayesinde kolayca çalışır, bu nedenle Dart, JavaScript bağlantısı olmadan daha iyi yürütme sağlar.
Dart ile ilgili önemli bir not, dilin web uygulamaları oluşturmak için kullanıldığı için mobil geliştirme ile sınırlı olmamasıdır. Normalde web yapıları ve AngularDart ile birlikte kullanılır.
Yeniden Yükleme İşlevi
Dağıtımın birkaç dakika sürdüğü normal programlamaya geri dönmek zor olabilir. Çalışırken yeniden yükleme, programcıların üretkenliğini artırır, hızlı yinelemelere yardımcı olur ve uzun gecikmeler olmadan deneme yapmanıza olanak tanır. Xamarin ve React Native de bu özelliğin eşdeğerlerine sahiptir, ancak bazı incelemeler Flutter'da çok daha hızlı olduğunu iddia ediyor. Bunun kanıtı için henüz karşılaştırma ölçütlerini görmedik.
Bu araç, Flutter'ın tasarımına sabitlenmiştir ve çalışması için herhangi bir eklentiye ihtiyaç duymaz. Sıcak yeniden yükleme, güncellemeleri gerçek zamanlı olarak görmenizi sağlar. Örneğin, bir programı çalıştırırken bir hatayla karşılaştığınızı varsayalım. Flutter'da, her şeyi yeniden başlatmadan kaldığınız yerden devam ederek hemen düzeltme avantajına sahipsiniz.
Dağıtımın birkaç dakika gerektirdiği normal programlamaya geri dönmek sizin için zor olabilir. Sıcak yeniden yükleme, geliştiricilerin verimliliğini artırır, hızlı yinelemelere yardımcı olur ve uzun ertelemeler olmadan test etmenize olanak tanır.
taşınabilirlik
Flutter sadece bir çerçeve değil, toplam bir SDK'dır (Yazılım Geliştirme Kiti), ekranı olan herhangi bir cihazda çalışabilir. Mac OS, Linux ve Windows için Flutter uygulamaları geliştirmek için üçüncü taraf bağlantı noktaları yapılmıştır. Yerleştirme API'lerini, fare ve klavye giriş işlevlerini ve çeşitli eklentileri içerirler. Hatta birkaç kişi Flutter kullanarak TV uygulamaları geliştirmeye çalıştı. Olanakları göz önüne alındığında, her geçen gün sevilen çerçevelerden biri haline geliyor.
Yüksek performans
Bir uygulamanın sunumuna ulaşmak için birçok bileşen kullanılır: CPU kullanımı, ortalama tepki süresi, saniyedeki kare sayısı (fps) vb., bir uygulamanın performansına erişmeye yardımcı olan faktörlerden bazılarıdır. Flutter, günümüz ekranlarının pürüzsüz ve net bir resim gösterdiği oran olan tutarlı bir 60 fps garanti eder. Böyle bir kare hızındaki herhangi bir gecikme, bir göz tarafından hızlı bir şekilde gözlemlenecektir, bu nedenle geliştiriciler, bu seviyedeki ana ayak uydurmaya çalışırlar.
Flutter uygulama geliştirmenin React Native uygulama geliştirme üzerindeki faydalarıyla birlikte React Native vs. Flutter tartışmasına zaten derinlemesine daldığımız için, bu makale için android ve iOS geliştiricilerinin neden zamanının geldiğine odaklanalım. Flutter uygulama geliştirme hizmetlerine odaklanın ve bu alandaki becerilerini yükseltin.
Lafı fazla uzatmadan Flutter'ın iOS ve Android uygulama geliştirme üzerindeki etkisine başlayalım:
iPhone uygulama geliştiricilerini şimdiye kadar platformlar arası uygulama geliştirmeye yatırım yapmaktan uzak tutan şey, tek bir kod tabanından iki uygulama geliştirmelerine olanak tanıyan araçların, bir şeylerin eksik olduğunu gösteren bir kalite sunmasıdır. Swift'in üzerinde çalışılacak en iyi araçlardan biri olduğu gerçeğine eklenen bu eksiklik duygusu, onları çapraz platform yönüne bakmaktan alıkoyan sebep olmuştur.
Ancak Flutter piyasaya girdiğinden beri, Native uygulama ile Flutter çerçevesi kullanılarak geliştirilen uygulama arasında bir fark bulmak neredeyse imkansız hale geldi. Çerçevenin beraberinde getirdiği pürüzsüzlük, kayganlık ve salt yerellik, iOS ve android geliştiricileri için flutter'ı ideal bir seçim haline getiriyor.
Flutter'ın artık mobilite alanında kendini tanıttığı zaten tespit edildiğinden, zamanlama, hangisinin neyden daha iyi olduğuna dair bir fikir edinmek için Flutter ve Native iPhone uygulaması geliştirme arasında küçük bir karşılaştırma görmeye uygun.
Flutter vs Native iOS geliştirmesinin cevabı aşağıdaki karşılaştırma noktalarında görülebilir –
Tek Teknoloji Yığını
Yerel iOS uygulamaları geliştirirken Swift veya Objective-C kullanıma girerken, Flutter Dart dilini kullanır. IDE'ler de diller gibi farklıdır. Yerel iPhone uygulamaları Xcode kullanılarak geliştirilirken Flutter, Android Studio, IntelliJ Idea veya Atom veya Sublime Text gibi diğer metin düzenleyicileri kullanır. Şimdi, Swift'in yerleşik uygulamalarını gerçekten hızlı yapan şey, içine giren tüm bileşenlerin yerel olarak geliştirilmesidir. Flutter ise, yerel modüllerle iletişim kurmak için köprülemeye gerek kalmadan bir Dart çerçevesi kullanır - yani, iOS geliştiricileri için flutter , yerel uygulama geliştirme için gerekli olan her şeye zaten sahiptir.
Geliştiricilerin Verimliliği
iOS uygulamaları yerel olarak geliştirildiğinde, geliştiriciler, uygulamada her değişiklik yaptıklarında, cihazlardaki veya uyarıcıdaki değişiklikleri görmek için tüm uygulamayı veya üçüncü taraf bağımlılıklarını yeniden oluşturmak için yapılır.
Flutter'ın ios ve android uygulama geliştirme için neden kullanıldığının cevabı ise, simülatörde yapılan tüm değişikliklerin gerçek zamanlı olarak göründüğü bir sıcak yeniden yükleme seçeneği sunması gerçeğinde yatmaktadır.
Native iOS geliştirmede bulunan diğer üretkenliği etkileyen özellik, bağımlılık yönetimi programıdır. Yerel geliştirme durumunda bağımlılık yönetimi, bir öğrenme eğrisi ile birlikte gelen Carthage veya CocoaPods gibi çeşitli üçüncü taraf araçlara bağlıdır. Flutter uygulama geliştirme faydaları, bu durumda, çerçevenin Pub adlı kişisel bağımlılık yönetimi aracını kullanması gerçeğinde görülebilir. Bağımlılık işleme sistemi, Flutter uygulamalarının içinde zaten yerleşiktir; bu, gerektiğinde ve gerektiğinde yeni bağımlılıklar almayı son derece kolaylaştırır.
Kullanıcı Arayüzü Öğeleri
Apple tarafından UI bileşenleri oluşturmak için kullanılan yerel çerçeve, çok çeşitli hareket desteği sunan her şey dahil olay odaklı kullanıcı arabirimi olan UIKit olarak bilinir. Çerçeve, belge, animasyon, yazdırma ve çizim için yerel destekle birlikte gelir. Ancak Flutter'ın UI motoru çok farklı davranır. Bir işleme motoru ve kendi çerçevesi üzerinde çalışır . Temelde durum bilgisi olan ve durum bilgisi olmayan pencere öğelerinden oluşan bir ağaç olan motor, ismine sadık kalır ve mutlak piksel mükemmel olan bir sürü pencere öğesi sunar. Flutter'ın UIKit'i, aslında, android ve iOS uygulama geliştiricilerinin Flutter'ı düşünmesinin bir numaralı nedenidir.
Test Desteği
Apple, iOS uygulamalarının entegrasyonu, performansı ve UI testi için XCTest olarak bilinen yerel bir test çerçevesi sunar - sorunsuz gelmeyen bir çerçeve. XCTest çerçevesi, testlerin gruplandırılması, veriye dayalı testler, anlık görüntüler testi vb. gibi bir dizi önemli unsur olmadan gelir. Ancak XCTest'in en büyük eksikliklerinden biri alay etme ve saplama, eski çok fazla kod isterken, orada ikincisi için yerel bir destek değildir. Flutter, geliştiricilerin işlevsel, birim ve kullanıcı arabirimi düzeyinde testler yazmasına olanak tanıyan kaya gibi sağlam bir test çerçevesi sunar. Çerçeve, uygulamaları farklı seviyelerde test etmek için izlenmesi gereken süreç hakkında örnek kodlarla ayrıntılı belgelere bile sahiptir. Xcode UI testlerine benzeyen Flutter entegrasyon testleri, ayrı bir paket olan Flutter Driver tarafından sağlanır.
Artık Flutter'ı Yerel iOS'tan biraz daha iyi - veya bazı durumlarda büyük ölçüde - daha iyi yapan tüm farklı unsurlara baktık ve android ve iOS uygulama geliştiricilerinin neden Flutter'ı düşünmeleri gerektiğinin nedenini bazı yönlerden verdik. Play Store'da yayınlanan uygulamaların geliştirilmesine zaman ayıran geliştiricilere dikkat.
Hem Native Android uygulama geliştirme çerçeveleri hem de Flutter aynı ana şirketten – Google'dan gelse de, Native Android'den Flutter'a geçiş, iPhone mobil uygulama geliştiricilerinde olduğu gibi Android uygulama geliştiricilerinde de belirgindir.
İşte android geliştiricileri için çarpıntı durumunda vurgulamamız gereken noktalar ve Native android geliştiricilerinin neden becerilerini geliştirmeleri ve Flutter çerçevesinde ellerini denemeleri gerektiği.
Çok Tekrarlayan Gradle Build Süresinin Yokluğu
Gradle hands down, tüm Android uygulama geliştirme sürecindeki en önemli araçlardan biridir, ancak bununla yüzleşelim - oluşturma süresi çok uzundur ve hızlı geliştirme döngülerinde büyük bir engeldir .
Flutter'ın iOS ve Android uygulama geliştirme üzerinde tam bir etkisi olması için, Gradle derlemesini de gerektirir, ancak Yerel Android kadar sık değil. Bir Flutter derlemesi, geliştirmenin başlangıcında ilk kez bir Gradle derlemesi gerektirse de, uygulamanın tam olarak yeniden başlatılması için tekrar gerektirmez. Android Studio, Gradle oluşturma süresini de iyi bir sayıya indirmiş olsa da, Flutter'ın birlikte geldiği yükleme süresi, Yerel yükleme süresini büyük ölçüde yener.
Arka Uç ve Düzen için Aynı Dil
Yerel Android, geliştiricilerin görünümler için referanslar almasını ve ardından bunları arka uç dosyalarında değiştirmesini sağlayan ayrı bir düzen ve Kotlin/Java dosyalarıyla birlikte gelir. Flutter ise tasarım için tek bir dil ve arka uç gerektirirken, reaktif çerçevesi widget'lara referans ihtiyacını ortadan kaldırarak Flutter ile neden uygulama oluşturulduğuna ve 2021'de neden flutter seçildiğine yanıt veriyor .
Dart, Çoklu Dillerin En İyisini Alır
Java, Java 8'in piyasaya sürülmesinden sonra bile, iyileştirmelerin kapsamı konusunda bir iz bırakıyor. Dart, bir dizi farklı dilin en iyi özelliklerini stratejik olarak alırken, çok ihtiyaç duyulan Java aşinalık duygusunu kaydırmadan - tüm geliştirme sürecini geliştiriciler için neredeyse zahmetsiz ve yatırım yapmayı seçen işletmeler için karlı hale getiren bir şey. ABD'de çarpıntı uygulama geliştiricisi .
Yüksek Animasyon Hızı
Flutter, mobil uygulamalarda kullanılacak animasyon modellerini aşırı basitleştirir ve optimize eder. Android geliştiricileri için Flutter'ın animasyonun 60FPS hızında yüklenmesine izin vermesi, her şeyi söylüyor.
Flutter'ın hem android hem de iOS geliştiricilerinin karşılaştığı eksiklikleri çözen bir çerçeve haline nasıl geldiğini ve Flutter ile uygulama oluşturmanın neden sorulmayan bir soru haline geldiğini gördükten sonra, bu geçişin acil olup olmadığını görmenin zamanı geldi. . Ve platformlar arası çerçeveyle ilgili pek çok şey, her iki taraftaki Yerel geliştirme süreçlerinin yerini almaya bile hazırsa.
Flutter Üretimde Kullanılmaya Hazır mı?
Flutter'daki gerçek ilerleme, Google'ın Flutter'ın Beta aşamasından çıkıp Flutter 1.0 olarak piyasaya girmesiyle, geliştiriciler dünyasının üzerinde çalışabilmesi ve bir dizi işletmenin daha fazla yerellik vaadiyle uygulamalarının teknoloji yığınına eklemesi ile başladı. ve daha yüksek performans – Flutter Live Event'de .
Ve sadece iki ay sonra, Şubat ayında, artık sevilen çapraz platform çerçevesi, Flutter 1.2 ve Dart 2.2'nin piyasaya sürülmesiyle güçlendirildi. Aralık ayında yayına alındığından beri Flutter çerçevesinde yapılan sürekli güncellemeler, Google'ın çerçeve konusunda ne kadar ciddi olduğunu ve iOS ve Android mobil uygulama geliştiricilerinin ve sektörler genelindeki işletmelerin bu ilişki aracılığıyla ne yapmayı planladığını göstermek için yeterli. .
İşlevler, iOS ve Android için Flutter uygulama geliştirmesinin beraberinde geldiğini belirlerken ve Google ekibinin ve büyüyen Flutter topluluğunun, ücretsiz ve ölçeklenebilirliğe hazır hale getirmek için sürekli çabaları, Native uygulama geliştiricileri için zemini karıştırmak için yeterli olsa da, geçiş süresi bugün değil. Muhtemelen 2-3 yıl daha olmaz.
Şu anda en iyi uygulama geliştirme şirketlerinden bazıları tarafından kullanılan çerçeve, üretime hazır olduktan sonra bile, Flutter uygulama geliştirme topluluğu bugüne kadar 9000 sorunu ortadan kaldırmak için mükemmel bir iş çıkardıktan sonra bile, hepsinden öne çıkan bazı sorunlarla mücadele ediyor. Hata ayıklayıcının rastgele bağlantısının kesilmesinden, belirgin bir neden olmaksızın uygulamanın çökmesine kadar değişen sorunlar.
2021'de Flutter, mobil uygulama geliştiricileri tarafından düşük karmaşıklıktaki uygulamalarda ve prototiplemede kullanılmaya hazırdır, ancak orta veya yüksek karmaşıklıktaki bir uygulama projesine geçiş yapmak aptalca riskli olabilir. Bu, iş cephesinden veya android ve iOS uygulama geliştiricileri olarak piyasada yayına girecek bir uygulama üzerinde çalıştığınız zaman için olsa da , zamanınızı Flutter'ı öğrenmeye ve özelliklerini keşfetmeye ayırmanız için zamanlama uygundur. sunmak zorundadır.
Bugün değilse bile, Flutter, işletmelerin ve girişimlerin ilk tercihi olmaktan yalnızca birkaç sorun uzakta . Ve zaman er ya da geç gelecek, bu da hazırlıklı olmanızı zorunlu kılıyor.