in

Flutter Nedir ve Kurulumu Nasıl Yapılır?

Flutter Nedir ve Kurulumu Nasıl Yapılır?

Flutter, Google’ın geliştirdiği açık kaynaklı bir mobil uygulama geliştirme çatısıdır. Flutter kullanarak hem Android, hem de iOS uygulaması yapabilirsiniz.

Flutter Kurulumu İlk Aşaması SDK İndirmek

Mac OS X işletim sistemine Flutter kurulumu yapmanın birden çok yöntemi bulunmaktadır. Ben size pek az bilinen ancak bana göre en kolay yöntemi anlatacağım.

  1. Terminal uygulamasını açalım.
  2. git clone -b beta https://github.com/flutter/flutter.git yazıp entera basarak komutu çalıştırın. Şu anda SDK cihazınıza inmektedir. Bu işlem internet hızınıza göre değişmektedir.
  3. export PATH=$PWD/flutter/bin:$PATH  yazıp entera basarak komutu çalıştırın.
  4. flutter doctor yazın ve gerekli yönergeleri izleyin. Bu yönergeler muhtemelen Flutter’ın güncellenmesi olacaktır. Bu da tek satır komut ile olacaktır. Ardından Android Studio ve Xcode ile ilgili hatalar alabilirsiniz. Bunları da nasıl çözeceğinizi doktor size söyleyecektir.

Flutter Doctor komutu size Flutter’ın sağlıklı çalışabilmesi için izlemeniz gereken adımları söyleyecektir. Benim önerebileceğim ilk 2 adım Android Studio ve Xcode indirip her ikisinde de boş bir proje oluşturup derlemek olacaktır.

Flutter Geliştirmek İçin IntelliJ IDEA

Flutter kullanarak uygulama geliştirceklere IntelliJ IDEA kullanmalarını öneririm. Bahsettiğim uygulamayı bu adresten indirebilirsiniz. Yazımın devamında IntelliJ indirmiş ve kurmuşsunuz olarak kabul ederek devam ediyorum.

IntelliJ IDEA programını açtıktan sonra Configure > Plugins yolunu izleyerek eklentiler penceresini açmanız gerekmektedir. Marketplace kısmından Dart ve Flutter eklentilerini idenize yükleyin. IntelliJ IDEA programını yeniden başlattıktan sonra ilk Flutter projenizi oluşturabilirsiniz.

Tek Dil, Tek Runtime, Tek SDK!

Dolayısıyla Flutter aslında donanım seviyesinde native cross-platform uygulama geliştirebileceğiniz tek çözüm.

Neden Önemli?

  • Performans: Artık mobil uygulamalarda animasyon dediğimiz şey sürekli gördüğümüz için artık farketmediğimiz ve görmediğimizde farkettiğimiz bir şey. En sıradan gördüğünüz uygulamada bile listeler, switchler, checkbox’lar, sayfa geçişleri, diyaloglar, gesture efektleri vs. derken aslında her yer animasyonla doluyor. Böylece yüksek ve stabil FPS bir mobil uygulama için kritik hale geliyor.
  • Özelleştirme Kolaylığı: Flutter’da arayüz katmanı ne native SDK’lere bağımlı, ne de onların üzerine kurulan bir takım soyutlamalara, arayüzlere, köprülere vs. bağımlı. Tek bir dille, donanım seviyesinde native, tek bir codebase’den aklınıza gelebilecek her türlü kullanıcı arayüz mümkün. Üstelik Flutter çok zengin bir hazır arayüz bileşenleri kataloğu sunuyor ve elbette açık kaynak. Editörünüze bir Go To Definition uzaklıkta.
  • Tutarlılık: Android ve IOS SDK’leri elbette birbirinden çok farklı. Cross-platform çözümlerde kodu olabildiğince paylaşmak isteriz ve bu gibi platform farklılıklarında zorlanabiliriz. Kod ayrımı yapmak ne zorluk varsa ondan en az 2 tane, hatta 3 tane demek. Flutter’da platformlar arasında ne kadar ayrım yapacağınız sizin tercihinize bağlı. Çünkü hazır arayüz bileşenleri native SDK’leri bire bir taklit edecek şekilde ayrılmış evet, ama cross-platform da çalışabiliyorlar ve daha da önemlisi kendi çözümlerinizi de üretebilirsiniz.
  • Test edilebilirlik: Nedeni anlaşıldı sanırım. Tek dil, tek runtime, tek SDK!

Bu arada tutarlılıkla bağlantılı olarak Flutter’ın native uygulamalar gibi hissettirmeyebileceği eleştirisi yapılıyor. Benim cevabım şöyle:

  1. Hissettiriyor. Hazır Flutter arayüz bileşenleri kullanılarak yapılmış bir mobil uygulamanın native olmadığnı hissettmek gerçekten çok zor. Yani hem IOS’un hem Android’in tasarım dilini takip eden çok kaliteli bir kütüphane sunuluyor.
  2. Eğer bir araç gereç (utilization) uygulaması vs. yapmıyorsanız native tasarım dillerine sıkı sıkıya bağlı kalmanız ve her yerde hazır bileşenler kullanmanız çok anlamlı değil. Yani istisnalar haricinde tasarımcılar genelde özgün işler yaparlar. Flutter tam da bu noktada cross-platform olarak sınırları kaldırdığı için devrimsel zaten.

 

Çin’in casusluk uygulaması Tiktok!

SER RACK Kabinet Sistemleri