Sıfırdan Adım Adım Flutter Öğrenmek

Bir programlama dili adım adım nasıl öğrenilir? Ne gibi durumlarla karşılaşılır, zorlukları nelerdir? Bu gibi soruların cevabını ve benim dil öğrenirken edindiğim tecrübeleri bu yazı içerisinde bulacaksınız.


Bu yazıda Dart diline değineceğim ve Google tarafından oluşturulan açık kaynaklı bir UI geliştirme kiti olan Flutter öğrenme süreçlerimi aktaracağım.


Bu yazıyı hazırlarken bir kursu referans almanın doğru olacağını düşündüm. Udemy’deki kursları incelediğimde “The Complate 2020 Flutter Development Bootcamp With Dart” isimli ve eğitmeni Dr. Angela Yu olan kursu almaya karar verdim. Kursun Flutter ekibi ile hazırlanmış olması çok güzel. Ayrıca kurs İngilizce ve altyazısı da mevcut. Kurs 27,5 saat ve farklı konulara değinerek oldukça kapsamlı bir içeriğe sahip.


Kurs Linki : https://www.udemy.com/course/flutter-bootcamp-with-dart/


Flutter Nedir ?


Flutter’ın ne olduğunu açıklamak için ufak bir hikaye yazayım. Bir yazılımcımız var, adı Burak. Burak iOS için bir uygulama geliştirdi ve iOS'da çok indirilen bir uygulama oldu. Ve insanlar şunu sormaya başladı; “Android için ne zaman gelecek? “. Burak bu uygulamayı Android’e çıkarmak için bir çok kitap ve eğitim aldı. Sonunda Android için bu uygulamayı geliştirdi. Fakat bir sorun var. Burak uygulama için bir güncelleme veya hata düzeltmesi için iki uygulamaya da aynı fixleri uygulamalı. Bu, zaman ve efor açısından oldukça maliyetli.


Yani yapması gereken bir iş her seferinde ikiye katlanıyor. Ayrıca uygulama iki platformda da farklı görünüyor ve değişiklikler mevcut. Bunun nedeni yalnızca iOS ekosistemi için çok çeşitli ekran boyutlarını ve en boy oranlarını desteklemek zorunda kalmaması değil .  iPad’ler, iPhone’lar, çok sayıda farklı Android cihazını düşündüğümüzde çok çeşitli ekran boyutlarını ve en boy oranlarını desteklemek zorunda. Ayrıca Android cihazlar için farklı ekran boyutlarının sayısı çok fazla. İşte burada Flutter devreye giriyor.



Flutter; geliştiricilerin her türden ekran boyutu ve cihaz için güzel arayüzler tasarlamasını kolaylaştıran basit bir araç kiti. Uygulamanızı oluşturmayı kolaylaştıran önceden oluşturulmuş bir çok widget kullanılabiliyor. Uygulamanızı satırlar, sütunlar veya yığınlar halinde yerleştirebiliyorsunuz. Ayrıca, ortalanmış, dolgulu veya kenar boşluklu tasarımlara sahip olabileceğiniz web tasarımından bazı kavramları da baz almış durumda.


Peki bu sistemi kullandığınızda sadece mobil cihazlar için mi ekran geliştirmiş oluyoruz. Hayır! Flutter’ın istediği tek şey, herhangi bir cihazda boş bir pencere. Android, iOS, web veya masaüstü fark etmez. Tek istediği sadece basit bir boş pencere. Flutter, o boş pencereye oluşturulması gereken ne ise onları çizebiliyor.


Yani Flutter Android için ayrı iOS için ayrı hatta Web ve Masaüstü için ayrı ayrı teknolojiler kullanmak yerine tek bir kod tabanı ile istediğiniz uygulamayı istediğiniz platformda geliştirmenizi sağlıyor. Flutter’da bir çok widget’a erişebilir ve bu widgetların özellikleriyle oynayabilirsiniz. Bu widgetlar Lego olarak düşünülebilir. Bunları birbirine bağlayarak ve özelleştirerek uygulama geliştirebilirsiniz.