Flutter Nedir? Nasıl kullanılır?
Published: 2020-10-15 08:26:12

## Başlıklar
  * [Flutter Nedir?](#chapter-1)
  * [Flutter'ı Nasıl Öğrenebilirim?](#chapter-2)
  * [Flutter’ı hangi Compiler (derleyici) ile yazabilirim?](#chapter-3)


### **Flutter Nedir?** <a name="chapter-1"></a>
Son günlerde bir hayli duyduğumuz Flutter’ı bu kadar önemli kılan nedir bugün hep beraber öğreneceğiz. Mobil uygulama geliştirirken bildiğiniz üzere iOS ve Android işletim sistemli cihazlar için ayrı kod yazmamız gerekmektedir. iOS için Objective-C ve Swift kullanılırken, Android için Java ya da Kotlin popüler olarak kullanılmaktadır. Peki bu durumun bize açtığı sorunlar neler?

• Bir güncelleme yaparken her bir platform için iki farklı koda da güncellemeyi eklemek.
• Kullanıcı ara yüzleri farklı olduğu için ayrıca görselleştirme gerekmektedir.

![lisans-gorsel](https://miro.medium.com/max/700/1*xPbvSk1vPNoUWP6FI_O2Hg.png)

Fakat Google’ın çıkardığı Dart dilinin kütüphanesi olan Flutter sayesinde geliştiriciler hem iOS hem de Android işletim sistemli cihazlarda bir kod üzerinden geliştirme yapabilmektedirler. Böylece geliştiriciler hem maliyetten hem de zamandan tasarruf edebilirler. Dart bilmiyorsanız bu problem değil, Dart’ın syntax’i Java’ya ve Kotlin’e oldukça benzemektedir. Eğer daha önce bu diller ile az da olsa bir tecrübeniz varsa kolaylıkla öğrenebilirsiniz. 

1980’lerde Python geleceğin en önemli programlama dili olacak denildiğinde bunu söyleyenlerin çok da yanılmadığını söyleyebiliriz. Şu anda en popüler dil olan Python birçok alanda sıklıkla kullanılmaktadır. Şu anda ise, Google geliştiricileri bundan 5 yıl sonrasında Flutter’ın oldukça popüler olacağını söylüyorlar. Şu anda Google Play ve AppStore’da bulunan uygulamaların çoğu alışagelmiş sistem programlama üzerine kurulmuş olsa da siz yeni bir uygulama geliştiriyorsanız Flutter üzerinden geliştirmenizde fayda var.

• Flutter’ın Hot Reload, Live Reload gibi kullanıcılara geliştirme aşamasında hızlı bir test imkânı sunması.
• Kolay ve anlaşılır bir şekilde geliştirme ortamına sahip olması.
• Yeni, modern kullanıcı ara yüzü tasarımlarına sahip olması.
• Cupertino Widgetları, zengin API’ları ve cross-platform özelliği.
• Linux, Windows ve Mac üzerinden rahatlıkla geliştirilebilir.

Ve benzeri özellikle şüphesiz Flutter’ı öğrenmemiz için yeterli nedenler.

![lisans-gorsel](https://www.freecodecamp.org/news/content/images/2020/07/flutter-app-example.gif)

### **Flutter’ı nasıl öğrenebilirim?** <a name="chapter-2"></a>

Şu anda güncel olarak Udemy’den aldığım kursu yarılamış bulunmaktayım ve oldukça memnun olduğu söyleyebilirim. Sizinle aldığım dersleri, kullandığım kaynakları ve takip ettiğim YouTube kanallarını aşağıda paylaşacağım. 
**Udemy kursu:** https://www.udemy.com/course/learn-flutter-dart-to-build-ios-android-apps/

Bu kursu kesinlikle tavsiye ederim. Giriş seviyesinden başlayıp en ince detayına kadar son seviyeye kadar 41 saatlik bir eğitim imkânı sunuyor. 

**Yararlı kaynaklar:**
• https://fluttergems.dev
• https://flutter.dev

Bu sitelerden Flutter ile ilgili yeni bilgiler öğrenebilir, özelliklerini, widgetlarını keşfedebilirsiniz.

**YouTube kanalı:** The Flutter Way
https://www.youtube.com/channel/UCJm7i4g4z7ZGcJA_HKHLCVw
Bu kanalda tasarımını çok beğendiğim modern ve yaratıcı kullanıcı ara yüzleri tasarımlarını göstermektedir. Siz de izleyip, kendinize göre dilediğiniz değişiklikleri yapabilirsiniz gayet verimli bir kanal.

### **Flutter’ı hangi Compiler (derleyici) ile yazabilirim?** <a name="chapter-3"></a>

Flutter’ı kullanan geliştiriciler ya Android Studio ya da Visual Studio Code’u yaygın olarak kullanmaktadır. Fakat daha önceden kullanmış olanlarınız biliyordur, Android Studio’nun derlemesi biraz vakit alır ve yavaş çalışan bir uygulama geliştirme ortamıdır. Benim tavsiyem, VS Code indirip, Dart ve Flutter eklentilerini yüklemeniz. Fakat mobil uygulama geliştiriyorsanız uygulamanızın çalıştığını görmeniz için Android Studio AVM (Android Virtual Machine)’e ihtiyacınız vardır bu yüzden eğer Windows’ta uygulama geliştiriyorsanız Android Studio’yu her hâlükârda yüklemeniz gerekmektedir. Fakat Mac’te geliştiriyorsanız VS Code’da yazıp, XCode’un sanal telefonunu test etmek için kullanabilirsiniz, Android Studio yüklemeniz gerekmemektedir. Linux kullanıcıları için ise, Android Studio ya da herhangi bir Android Emulatörü indirip test etmek için kullanabilirsiniz. Linux için önerilen en popüler sanal makineler **Genymotion** ve **Andro VM** tercih edilmektedir.