Flutter 3.22'deki yenilikler
WebAssembly, Grafiksel görüntüleme geliştirmeleri ve AI entegrasyonu için daha fazla seçenek...
Flutter'ın bir diğer heyecan verici kararlı sürümüyle karşınızdayız! Bu kez, Flutter 3.22'yi sunmaktan büyük mutluluk duyuyoruz. Bu sürümde WebAssembly'yi kararlı kanala getiriyor, Android'de Impeller için tam özellikli bir Vulkan arka ucu sunuyoruz, daha pürüzsüz grafikler ve büyük bir performans artışı vaat ediyoruz. Ayrıca, yeni widget durumu özellikleri, dinamik görünüm boyutlandırma ve geliştirilmiş form doğrulaması ile iş akışlarını daha da kolaylaştırıyoruz. Fakat bu kadarla da kalmıyor — flavor-şartlı varlık paketleme, Dart'ta Vertex AI for Firebase önizlemesi ve hayatınızı kolaylaştıracak güncellenmiş DevTools'lar da bulacaksınız.
Son güncellememizden bu yana sadece birkaç ay içinde, Flutter topluluğundan 1595 pull request birleştirdik ve 37 yeni topluluk üyesi Flutter'a ilk kez katkıda bulundu!
Öyleyse dalın ve bu son sürümde Flutter topluluğunun getirdiği tüm yeni özellikleri ve geliştirmeleri keşfedin!
WebAssembly
Flutter 3.22'nin piyasaya sürülmesiyle birlikte, Wasm artık kararlı kanalda mevcut ve önemli performans iyileştirmeleri sunuyor. M1 MacBook'ta Chrome kullanarak yaptığımız dahili karşılaştırmalarda, Wonderous uygulamasının kare işleme süresi ortalama 2 kat ve en kötü senaryolarda 3 kat iyileşti.
Bu iyileştirmeler, animasyonlar ve zengin geçişler içeren uygulamalar için çok önemlidir; çünkü pürüzsüz kare hızlarını korumak esastır. Wasm, performans tıkanıklıklarını azaltarak daha pürüzsüz animasyonlar ve geçişler elde edilmesini sağlar. Flutter web uygulamalarınızda Wasm kullanmaya başlamak için Dart Wasm ve Flutter Wasm belgelerine göz atabilirsiniz. Tam duyuru için Flutter at Google I/O blog yazısını ziyaret edin.
Motor
Flutter 3.22, Flutter uygulamalarınızı güçlendiren Impeller motoruna önemli güncellemeler getiriyor. Öne çıkan özellikler arasında Android'de Vulkan arka ucunun tamamlanması, bulanık efektler ve karmaşık yol çizimi için devam eden optimizasyonlar ve Impeller ile test yapmak için yeni bir deneysel API bulunuyor. Yol haritamız doğrultusunda, Impeller'ın kalitesini ve performansını artırmaya, iOS'a geçişi tamamlamaya ve Android desteğini genişletmeye kararlıyız.
Impeller
Vulkan Arka Ucu Android'de Tamamlandı
Bu sürümde, Impeller'ın Android için Vulkan arka ucu tam özellikli. Geçtiğimiz birkaç ay içinde, ekip hızlı gelişmiş karışımların uygulanmasını, FragmentProgram API ile özel parça gölgelendiriciler için destek, PlatformView desteği (küçük bir API geçişi gerektirir) ve tüm bulanık stililerin tam olarak uygulanmasını tamamlamak için yoğun çalıştı.
Android Önizleme
Flutter 3.19 kararlı sürümde, Impeller'ın OpenGL arka ucundaki iyileştirmeleri yayınladıktan sonra, kullanıcıları Vulkan desteği olan ve olmayan Android cihazlarda Impeller'ı denemeye davet ettik. Geçtiğimiz birkaç ay içinde, OpenGL arka ucunun performansını değerlendirip Vulkan arka ucundaki kalan işi tahmin ettikten sonra, Vulkan arka ucunu önce üretime hazır hale getirme konusunda odaklanmaya karar verdik.
Impeller, gölgelendirici derleme jank sorununu çözer. Ayrıca, karşılaştırmalarımızda, ortalama, 90. ve 99. yüzdelik dilim kare sürelerinde eski render motordan daha iyi performans gösteriyor. Bu nedenle, Vulkan arka ucunun Android'de performansının kabul edilebilir olduğunu düşünüyoruz. Bu sürümde (3.22), Impeller'ı seçen bir uygulama, mevcut olduğunda Vulkan arka ucunu kullanacaktır. Gelecekteki bir sürümde, bu varsayılan hale gelecektir. Vulkan'ı desteklemeyen bir cihazda çalışan bir uygulama, OpenGL ES ile Skia kullanarak otomatik olarak geri dönüş yapacaktır. Tarafınızdan herhangi bir işlem yapmanız gerekmiyor. Gelecekte, OpenGL ES Impeller arka ucunun üretime hazır olduğunu düşündüğümüzde, bu geri dönüş de Impeller kullanacaktır.
Android'deki Impeller önizlemesi, 3.22 kararlı döngüsü boyunca devam ederken, Flutter geliştiricilerinin en son kararlı sürüme geçmelerini ve Impeller etkinleştirildiğinde fark edilen herhangi bir eksiklikle ilgili sorunları bildirmelerini rica ediyoruz. Bu aşamadaki geri bildirimler, Impeller'ın Android'de başarılı olmasını ve bu yılın ilerleyen zamanlarında varsayılan render motoru yapabileceğimizden emin olmamızı sağlamada çok değerlidir. Android donanım ekosistemi çok çeşitlidir. Bu nedenle, Impeller hakkındaki en yararlı geri bildirimler, sorunların meydana geldiği belirli cihaz ve Android sürümü hakkında ayrıntılı bilgiler içermelidir.
Bulanıklık Performans İyileştirmeleri
Bulanıklık hem iOS hem de Android'de Impeller'da yeniden uygulandı. Özellikle, Skia'ya benzer yeni yaklaşım, karşılaştırmalarda bulanıklıkların CPU ve GPU süresini neredeyse yarıya indirdi.
Aşağıdaki grafik, iPhone 11 cihazında bulanıklık performansını vurgulamak amacıyla tasarlanmış bir patolojik karşılaştırmada, en kötü, 99%-lik, 90%-lik ve ortalama kare rasterizasyon sürelerini ve GPU kare sürelerini gösterir. Impeller'ın bulanıklığını yeniden yazdıktan sonra, arka plan filtresi bulanıklıklarının CPU ve GPU maliyeti neredeyse yarıya indi. Bu iyileştirmenin ölçeği, tipik uygulamalarda olduğu gibi patolojik olmayan durumlarda da geçerlidir.
Stencil-then-Cover
Impeller hem iOS hem de Android'de, Stencil-then-Cover yaklaşımına dayalı yeni bir render stratejisine geçti. Bu yaklaşım, raster iş parçacığının, örneğin SVG'ler ve Lottie animasyonları gibi karmaşık yollar için CPU'da fazla zaman harcamasını çözmektedir. Değişiklikten sonra, karmaşık yollar içeren kareler için toplam kare süresi (UI iş parçacığı CPU'da + raster iş parçacığı CPU'da + GPU çalışması) çok daha düşüktür. Kullanıcılar, Lottie animasyonlarının ve diğer karmaşık yolların daha pürüzsüz bir şekilde renderlandığını, daha düşük CPU kullanımı ve biraz daha yüksek GPU kullanımı ile fark edecekler.
Yeni API
Henüz deneysel olsa da, flutter test şimdi --enable-impeller bayrağını kabul ediyor ve bu, Vulkan arka ucunu kullanarak Impeller'ı test eder.
Çerçeve
Widget Durumu Özellikleri
MaterialState, Material kütüphanesinin dışına taşındı ve WidgetState olarak yeniden adlandırıldı, böylece Cupertino, temel Flutter çerçevesi ve paket yazarları tarafından kullanılabilir hale geldi. Yeni WidgetState'e geçiş hakkında daha fazla bilgi için geçiş kılavuzuna bakın.
Dinamik Görünüm Boyutlandırma
Dinamik görünüm boyutlandırma iyileştirmeleri, çeşitli cihaz ekranlarında daha iyi UI uyarlanabilirliği sağlayarak, duyarlı düzenler oluşturan geliştiricilere fayda sağlar.
Geliştirilmiş Form Doğrulaması
Flutter topluluğu üyesi SharbelOkzan'ın katkıları sayesinde, Flutter 3.22 daha esnek form doğrulama yöntemleri ile geliyor, bu da geliştiricilerin daha sağlam kullanıcı girdisi işleme oluşturmasını sağlıyor, kullanılabilirlik ve güvenliği artırıyor.
2D API'lerde Kovaryantlar
2D grafik API'lerinde tür atamalarına duyulan ihtiyacı azaltmak, geliştirme iş akışlarını basitleştirir ve performansı artırır; bu, oyunlar ve karmaşık animasyonlar için önemlidir.
Lezzet-Şartlı Varlık Paketleme
Flavors özelliğini kullanan geliştiriciler, artık yalnızca belirli bir flavor için oluşturulurken paketlenecek olan bireysel varlıkları yapılandırabilir. Daha fazla bilgi için conditionally bundling assets based on flavor'a göz atın.
Dart Paketlerini Kullanarak Varlıkların Dönüştürülmesi
Kullanıcılar artık varlıklarını paketlenirken dönüştürmek için Dart paketlerini yapılandırabilirler. Daha fazla bilgi için Transforming assets at build time'a göz atın.
Android
Derin Bağlantılar
Derin bağlantılar, Flutter 3.22'de daha iyi desteklenmektedir, bu da kullanıcıların uygulamanızdaki belirli içeriğe erişmelerini kolaylaştırır. Uygulamanızda derin bağlantıların nasıl destekleneceğini öğrenin.
Güncellenmiş SDK Bağımlılıkları
Android projeleri için SDK bağımlılıkları güncellendi, en son sürümleri kullanarak güvenliği ve performansı artırdık.
iOS
Platform Görüntüleme Optimizasyonu
iOS'ta Platform Görüntüleme widget'ları için geliştirilmiş destek, daha iyi bir yerel bileşen deneyimi sağlar ve uygulama performansını artırır.
Metal Arka Ucu İyileştirmeleri
Metal Arka Ucu'ndaki iyileştirmeler, daha iyi grafik işleme ve animasyon performansı sağlar.
Eklentiler
Resmi Destek
- flutter_local_notifications
- google_maps_flutter
- path_provider
- url_launcher
- video_player
Topluluk Destekli
- flutter_sound
- flutter_barcode_scanner
- flutter_blue
- sqflite
Geliştirici Araçları
DevTools Güncellemeleri
DevTools, performans ve hata ayıklama işlevselliğinde güncellemeler aldı. Yeni özellikler ve iyileştirmeler hakkında daha fazla bilgi edinmek için DevTools Update'a göz atın.
Dart SDK
Dart SDK'nın son sürümüyle, yeni dil özellikleri ve performans iyileştirmeleri sunuluyor. Dart SDK Release Notes'u ziyaret edin.
Özet
Flutter 3.22, performans, güvenlik ve geliştirici deneyimini artıran önemli iyileştirmeler ve yeni özellikler içeriyor. WebAssembly, Impeller, WidgetState, Dynamic View Sizing, Improved Form Validation, flavor-conditional asset bundling, Flutter Wasm gibi yeni teknolojiler, Flutter'ın gelecekteki potansiyelini göstermektedir.
Flutter 3.22 ile projelerinizin kalitesini ve performansını artırın ve bu heyecan verici yeni özellikleri deneyimleyin!
Daha fazla bilgi edinmek için resmi Flutter bloguna göz atın.
Yorum Gönder
Görüşlerinizi belirtin :