Flutter ile mobil uygulama geliştirme — Başlamanız için 5 neden

Erem Karagoz
4 min readJul 13, 2020

--

Başlamadan önce, biraz Flutter’ı tanıyalım.

Nedir bu Flutter?

Flutter, mobil uygulamalar oluşturmak için kullanılan açık kaynak kodlu bir yazılım geliştirme kitidir. İçinde Dart programlama dilini kullanır, eğer Java ile biraz haşır neşir olmuşsanız, Dart’ı da kısa bir süre içerisinde hiç sorun yaşamadan öğrenebilirsiniz.

Google’ın geliştirdiği Flutter, Mayıs 2017 tarihinde piyasaya tanıtıldı. Cross-platform mobil uygulama geliştirmek için derde deva desek yerinde olur sanki.

Cross-platform uygulama geliştirme?

Türkçeye çarpraz platform da olarak çevirebileceğimiz bu terim, her işletim sistemine ayrı ayrı kod yazmadan, yaptığımız uygulamayı hiçbir ek işlem yapmadan hem iOS, hem de Android gibi işletim sistemlerinde çalışabiliyor.

Peki neden Flutter?

Günümüzde farklı işletim sistemlerine uygulama geliştirirken kullanabileceğimiz bir sürü framework var.

Ionic, Xamarin, React Native bunlardan sadece birkaçı fakat biz neden Flutter’ı seçmeliyiz?

Lafı fazla uzatmadan, Flutter’ı seçmek için nedenlerimize bakalım.

#1 Öğrenilmesi ve kullanılması kolay

Flutter içerisinde Dart dilini kullanır, eğer daha önce Java ile ilgilenmişseniz, Dart’ı öğrenmeniz birkaç saati geçmeyecektir. Hiçbir tecrübeniz yok ise internette bulunan ücretli veya ücretsiz sayısız Flutter derslerinden rahatlıkla öğrenebilirsiniz.

Uygulamanın en basit haliye bir kod bloğu örneği verelim.

import 'package:flutter/material.dart';

void main() {
runApp(myApp());
}

class myApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Flutter",
home: Scaffold(
body: Container(
child: Center(
child: Text("Hello World"),
),
),
),
);
}
}

İlk adımımızı attık! Kodda da görebildiğiniz gibi Flutter’da iç içe bulunan bir yapı mevcuttur. Bu öğelerin her biri aslında “widget” dediğimiz bir yapıdır ve arasında bir parent-child (ebeveyn ve çocuk) ilişkisi vardır.

MaterialApp uygulamamızın ana widget’ıdır, basitçe vücudumuz olarak düşünebiliriz. Scaffold ise iskelet görevindedir. Devamında body: de bir Container widget’ımız ve içinde onun çocukları Center ve Text widget’ı bulunur. Bu widget’larla ilgili diğer yazılarıma şu linkten ulaşabilirsiniz.

Görebileceğimiz en basit layout bu şeklinde oluşturabiliriz, genellemek gerekirse yapılarımız şu şekillde dallanabiliyor.

Scaffold widget’ından sonra ne gibi widget’lar ekleyebileceğimiz sizin hayal gücünüze kalmış.

Gördüğünüz gibi, her şey bir widget’tan türüyor, mobil uygulama üzerinde örneğini vermek gerekirse;

#2 Geniş paket içeriği

Bu linkten de ulaşabileceğiniz pub.dev sitesinde ihtiyacınız olan özelliği eklemenize yardımcı olacak yüzlerce package var. Ayrıca farklı package yayınlayıcılarının olduğu bu sitede puanlarına göre de tercihlerinizi belirleyebilirsiniz. Genelde 90 ve üzeri puanlı package’ları kullanmaya dikkat edin, bunlar çoğunluk tarafından denenmiş ve muhtemelen sorunsuz çalışan eklentilerdir.

Örnek olarak bir butonumuzdan URL çağırmak istiyoruz diyelim, bunun için şu linkten de ulaşabileceğimiz “http” package’ı var. Tek yapmamız gereken sitedeki dökümantasyona göre kodumuza implemente etmek, bu da yaklaşık 5 saniye süren bir işlem. Evet, bu kadar kolay.

#3 Ayrıntılı dökümantasyon

En çok sevdiğim özelliklerinden birisi, aklınıza takılan her soruya neredeyse Flutter’ın bir cevabı olması. Şu linkten ulaşabileceğiniz dökümanlar sayfasında arama kısmına sorun yaşadığınız sınıf veya widget ile alakalı kelimeleri girmeye başladığınız andan itibaren sonuçlar gözükmeye başlıyor. Bu da üçüncü bir tarafa başvurmadan Flutter’ı anlamanıza yardımcı oluyor.

#4 Zamandan tasarruf et

Elinizde bir projeniz veya fikriniz varsa ve uygulamasını yapmak için kısıtlı bir zamanınız varsa Flutter sizin için en uygun tercih olacaktır.

Yazdığınız kodla hem farklı işletim sistemlerine aynı uygulamayı sunabileceksiniz, hem de sizi memnun edecek bir performans yakalayacaksınız.

#5 Her şey bir widget!

Flutter, geliştirecekleri projeler için kullanıcılarına geniş bir widget yelpazesi sunuyor. Arkasındaki Google gibi bir devin de yardımlarıyla tadından yenmez bir kullanıcı arayüzü deneyimi sağlıyor. Bu sayede kullanıcılar, şık görünümler ve ihtiyacı olan öğeler ile fikirlerini koda döküp, istedikleri gibi görselleştirebiliyorlar.

Şimdilik hepsi bu kadardı! Zamanınızı ayırdığınız için teşekkürler. Her türlü öneri ve görüşünüzü yorum olarak bırakabilirsiniz.

Yazıyı beğendiyseniz 👏 atmayı unutmayın, bir sonraki yazıda görüşmek üzere!

--

--