Flutter 2'deki Yenilikler

2-3 Mart tarihinde düzenlenen bir etkinlikle birlikte Flutter 2 yayınlandı. Bu versiyondaki yeniliklere hep birlikte bakalım.


Web


Bugün itibariyle, Flutter’ın web desteği betadan kararlı sürüme geçiş yaptı. Artık stabil olarak bir Flutter uygulaması oluşturduğunuzda, web içinde bir uygulamanız oluşmuş olacaktır. HTML oluşturucuya ek olarak, yeni bir CanvasKit tabanlı oluşturucu eklenmiş.

Görsel Referansı


Sound Null Safety


Sound Null Safety, Dart diline önemli bir ektir ve null atanabilir türleri null yapılamayan türlerden ayırt ederek tür sistemini daha da güçlendirir. Bu, geliştiricilerin, uygulamaların çökmesinin yaygın bir nedeni olan boş hata kilitlenmelerini önlemesini sağlar. Boş kontrolleri tip sistemine dahil ederek bu hatalar geliştirme sırasında yakalanabilir ve böylece üretimdeki çökmeleri önleyebilir.


Desktop


Beta anlık sürümünde olan özellik masaüstünde de uygulamalar oluşturmanızı sağlayacak. Ayrıca, Materyal ve Cupertino tasarım dilleri için TextField ve TextFormField widget'larına yerleşik bir bağlam menüsü eklenmiş. Son olarak, ReorderableListView widget'ına tutma kolları eklenmiş.

Görsel Referansı


ReorderableListView, mobil kullancılar için uzun basma kullanarak bir sürükleme başlatmasını gerektiriyordu. Bu, bir mobil cihaz için mantıklıydı, ancak çok az masaüstü kullanıcısı, hareket ettirmek için fareleriyle bir öğeye uzun basmayı düşünür, bu nedenle bu sürüm, fare veya dokunmatik giriş için uygun bir tutma kolu içeriyor.


Görsel Referansı


Kaydırma çubuğu widget'ı, başparmağı sürükleme, sayfaya yukarı ve aşağı doğru yolu tıklama ve fareyle üzerine geldiğinde bir parça gösterme gibi masaüstünde beklenen etkileşimli özellikleri sağlayacak şekilde güncellendi. Ayrıca Scrollbar, yeni ScrollbarTheme sınıfını kullanarak temaya uygun hale getirildiğinden, uygulamanızın görünümüne ve tarzına uyacak şekilde stil oluşturabilirsiniz.

Görsel Referansı


Masaüstü yapılandırma ayarlarından birini etkinleştirmek için 'flutter config' kullanırsanız (örneğin, enable-macos-desktop), uzun taşıma sürecinden geçmek zorunda kalmadan masaüstü desteğinin beta işlevini deneyebilirsiniz.


Flutter Folio Sample


Flutter artık üretim uygulamaları için üç platformu (Android, iOS ve web) ve beta sürümde üç platformu (Windows, macOS ve Linux) desteklediğine göre, doğal bir soru ortaya çıkıyor: Kendini birden çok farklı uygulamaya iyi adapte eden bir uygulamayı nasıl yazarsınız? form faktörleri (küçük, orta ve büyük ekranlar), farklı giriş modları (dokunma, klavye ve fare) ve farklı deyimler (mobil, web ve masaüstü)? Bu soruya cevap olarak Flutter Folio scrapbooking uygulaması ortaya çıkmış.


Google Mobile Ads Beta


Flutter için Google Mobile Ads SDK'sının açık beta sürümü de yayınlanmış oldu. Bu, mevcut yer paylaşımlı biçimlere (yer paylaşımlı afiş, geçiş reklamı ve ödüllü video reklamlar) ek olarak satır içi banner ve yerel reklamlar sağlayan yepyeni bir eklentidir. Bu eklenti, Ad Manager ve Admob desteğini birleştirir, böylece hangi boyutta yayıncı olursanız olun, bu eklenti senaryolarınıza göre uyarlanabilir.


Görsel Referansı


iOS Tarafında Gelen Yenilikler


Yeni CupertinoSearchTextField, iOS arama çubuğu kullanıcı arayüzünü sunar.

Görsel Referansı


CupertinoFormSection, CupertinoFormRow ve CupertinoTextFormFieldRow widget'ları, iOS’un bölümlere ayrılmış görsel estetiğiyle doğrulanmış form alanları oluşturmayı kolaylaştırır.

Görsel Referansı


iOS için özellik çalışmasına ek olarak, gölgelendiriciler ve animasyon söz konusu olduğunda genel olarak iOS ve Flutter için performans iyileştirmeleri yapılmış.


Yeni Widgetlar: Autocomplete and ScaffoldMessenger


Flutter'ın bu sürümü, AutocompleteCore ve ScaffoldMessenger olmak üzere iki yeni widget ile birlikte geldi. AutocompleteCore, otomatik tamamlama işlevini Flutter uygulamanıza almak için gereken minimum işlevselliği temsil eder.

Görsel Referansı


Aynı şekilde, ScaffoldMessenger, bir AppBar eylemine yanıt olarak bir SnackBar'ı kolayca oluşturma, Scaffold geçişleri arasında kalıcı olmak için SnackBar oluşturma ve tamamlandığında SnackBar'ları gösterme gibi SnackBar ile ilgili bir dizi sorunu çözmek için oluşturulmuştur.


Görsel Referansı


Uygulamaya Ekleme ile Birden Çok Flutter Örneği


Uygulamaya Ekle adı verilen bu özellik, mevcut yerel kod tabanınızı korurken Flutter kodunuzu her iki mobil platformda yeniden kullanmanın mükemmel bir yoludur. Flutter 2'de, ek Flutter motorları oluşturmanın statik bellek maliyetini örnek başına ~% 99 oranında ~ 180kB'ye düşürülmüş.


Görsel Referansı


Flutter Fix


Flutter Fix, nesnelerin bir kombinasyonudur. İlk olarak, kullanımdan kaldırılmış API'lerin bir listesini nerede arayacağını ve bu API'leri kullanarak kodun nasıl güncelleneceğini bilen dart fix adlı dart CLI aracına yeni bir komut satırı seçeneği vardır. İkinci olarak, sürüm 2'den itibaren Flutter SDK ile birlikte gelen mevcut düzeltmelerin kendisinin listesidir. Ve son olarak VS Code, IntelliJ ve Android Studio IDE'leri için aynı şeyi nasıl ortaya çıkaracağını bilen güncellenmiş bir Flutter uzantıları kümesidir. Küçük ampullerle hızlı düzeltmeler gibi mevcut düzeltmelerin listesi, farenizle tek bir tıklama ile kodu değiştirmenize yardımcı olur.


Örnek olarak, uygulamanızda aşağıdaki kod satırına sahip olduğunuzu varsayalım:

Görsel Referansı


Görsel Referansı


Aşağıdaki komutu çalıştırarak tüm projenizde nasıl yapılacağını bildiğimiz tüm düzeltmeleri görebilirsiniz:

$ dart fix --dry-run

Bunları toplu olarak uygulamak isterseniz, bunu kolayca yapabilirsiniz:

$ dart fix --apply

Görsel Referansı


Flutter DevTools


DevTools, Flutter uygulamalarınızda hata ayıklamak için kullanılması gereken bir araçtır.

Görsel Referansı


Bu düğmeye basmak sizi doğrudan DevTools'ta soruna neden olan widget'taki Flutter Inspector'a götürür, böylece onu düzeltebilirsiniz. DevTools'u çalıştırdıktan sonra, sekmelerdeki yeni hata rozetleri, uygulamanızdaki belirli sorunları izlemenize yardımcı olur.


Görsel Referansı


DevTools'taki bir diğer yeni özellik, aşırı uygulama boyutunu ve bellek kullanımını takip etmeye yardımcı olan, görüntülenenden daha yüksek çözünürlükte bir görüntüyü kolayca görme yeteneğidir. Bu özelliği etkinleştirmek için Flutter Inspector'da Invert Oversized Images özelliğini etkinleştirin.


Görsel Referansı


Şimdi, çözünürlüğü ekran boyutundan önemli ölçüde daha büyük olan bir resmi görüntülediğinizde, uygulamanızda bulmayı kolaylaştırmak için baş aşağı görünecek:

Görsel Referansı


Flutter Inspector’ın Düzen Gezgini'nde esnek düzenler hakkındaki ayrıntıları göstermenin yanı sıra, her türden düzen hatalarını ayıklamanıza olanak tanıyan sabit düzenleri gösterme özelliği de eklendi.

Görsel Referansı


Flutter DevTools 2'deki yeni özelliklerden birkaçının daha özetini burada bulabilirsiniz:

  • Flutter çerçeve grafiğine ortalama FPS bilgisi ve kullanılabilirlik iyileştirmeleri eklendi.

  • Ağ profilleyicisindeki başarısız ağ isteklerini kırmızı hata etiketleriyle çağırma.

  • Yeni bellek görünümü çizelgeleri, belirli bir zamandaki etkinliği açıklamak için yeni bir bilgi kartı dahil olmak üzere daha hızlı, daha küçük ve kullanımı daha kolay.

  • Günlük sekmesine arama ve filtreleme eklendi.

  • DevTools başlatılmadan önceki günlükleri takip edin, böylece başlattığınızda tam günlük kaydı geçmişini görebilirsiniz.

  • Sağladığı işlevselliği daha net hale getirmek için "Performans" görünümünü "CPU Profilcisi" olarak yeniden adlandırdı.

  • CPU Profiler alev grafiklerine timing grid eklendi.

  • Hangi işlevselliği sağladığını daha net hale getirmek için "Zaman Çizelgesi" görünümünü "Performans" olarak yeniden adlandırdı.


Android Studio/IntelliJ Eklentisi


IntelliJ IDE ailesi için Flutter eklentisi, Flutter 2 için de bir dizi yeni özellik kazandı. IntelliJ'deki yeni sihirbaz stiliyle eşleşen yeni bir proje sihirbazı var.


Görsel Referansı


Görsel Referansı


Ayrıca, Snap Store'dan yüklenen Flutter SDK'ya karşı programlama yapmak için Linux'ta IntelliJ veya Android Studio kullanıyorsanız, Flutter snap yolu bilinen SDK yolları listesine eklenmiştir. Bu, Flutter snap kullanıcılarının Ayarlar'da Flutter SDK'yı yapılandırmasını kolaylaştırır.


Visual Studio Code Eklentisi


Visual Studio Code için Flutter uzantısı, sadece başarısız olan testleri yeniden çalıştırma yeteneği de dahil olmak üzere bir dizi test geliştirmesiyle başlayarak Flutter 2 için de geliştirildi.


Görsel Referansı


İki yıllık geliştirme sürecinden sonra, Dart için LSP (Dil Sunucusu Protokolü) desteği, Flutter uzantısı için Visual Studio Code ile entegrasyon için Dart analizörüne ulaşmanın varsayılan yolu olarak şimdi kullanıma sunuluyor. LSP desteği, geçerli Dart dosyasında belirli bir türdeki tüm düzeltmeleri uygulama ve parantez ve gerekli argümanlar dahil olmak üzere kod tamamlamanın eksiksiz işlev çağrıları oluşturmasını sağlama yeteneği de dahil olmak üzere Flutter geliştirmesi için bir dizi iyileştirme sağlar.

Görsel Referansı


Görsel Referansı


Ve LSP desteği sadece Dart için değildir; ayrıca pubspec.yaml ve analysis_options.yaml dosyalarında kod tamamlamayı da destekler.

Görsel Referansı


DartPad, Flutter 2'yi Destekleyecek Şekilde Güncellendi


Görsel Referansı


Artık en sevdiğiniz tarayıcının rahatlığından ayrılmadan Flutter'ın yeni güvenli sürümünü deneyebilirsiniz.


Ekosistem Güncellemeleri


Flutter geliştirme deneyimi, çerçeve ve araçlardan daha fazlasını içerir; ayrıca Flutter uygulamaları için mevcut olan çok çeşitli paketleri ve eklentileri içerir. Flutter'ın son kararlı sürümünden bu yana, bu alanda da çok şey oldu. Örneğin, kamera ve video_player eklentileri arasında, her ikisinin de kalitesini büyük ölçüde artırmak için yaklaşık 30 PR birleştirildi.


Ayrıca, bir Firebase kullanıcısıysanız, en popüler eklentilerin, sıfır güvenlik desteği ve Android, iOS, web için eksiksiz bir referans dokümantasyonu ve yaygın kullanım eğitimleri de dahil olmak üzere üretim kalitesine getirilmiş. Bu eklentiler şunları içerir:

  • Core

  • Authentication

  • Cloud Firestore

  • Cloud Functions

  • Cloud Messaging

  • Cloud Storage

  • Crashlytics

Ayrıca, uygulamanız için kilitlenme raporu arıyorsanız, Flutter uygulamaları için yeni bir SDK duyuran Sentry'ye bakabilirsiniz.

Görsel Referansı


Ayrıca, Flutter Topluluğu "artı" eklentilerini henüz görmediyseniz, bunlara göz atmak isteyebilirsiniz. Bu eklentiler şunları içerir:

  • Android Alarm+

  • Android Intent+

  • Battery+

  • Connectivity+

  • Device Info+

  • Network Info+

  • Package Info+

  • Sensors+

  • Share+

Bu noktada, Flutter uyumlu paketler ve eklentilerin sayısı 15.000'den büyük, bu da ilk önce düşünmeniz gerekenleri bulmanızı zorlaştırıyor. Bu nedenle, Flutter Favorisi olarak işaretlenen paketler için Pub Puanlarını (statik analiz puanlaması), popülerlik sıralamasını, beğenileri ve olağanüstü yüksek kalite için özel bir atama listesi bulunuyor. Flutter 2'de, favoriler listesine yeni eklenen paketler listesi ise:

  • animated_text_kit

  • bottom_navy_bar

  • chopper

  • font_awesome_flutter

  • flutter_local_notifications

  • just_audio

Paketlerin sürüm bilgilerine ulaşabileceğiniz pub.green sitesi oluşturuldu:

Görsel Referansı


Referans ve daha fazla bilgi için: https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65


#cross #flutter #flutter2

0 yorum

Son Paylaşımlar

Hepsini Gör

Komünite

Platform

Mobiler.dev Anasayfa
  • Twitter
  • Instagram
  • development_düzenlendi_düzenlendi
  • Youtube
  • slack-icon-black_edited_edited_edited
  • Gri LinkedIn Simge
imageedit_2_9667998092.png
JetBrains Hakkında Detaylı Bilgi Alın

© 2021 by mobiler.dev

Kurumsal Yazar Hesapları

adesso.png
mobilerdevLogo.jpg
Yazarlık Başvurusu Hakkında Bilgi Alın, Başvuru Yapın.
Topluluk Yazarlarını Tanıyın