Flutter
| Yazar | |
|---|---|
| Geliştirici | Google ve topluluk |
| İlk yayınlanma | 12 Mayıs 2017) |
| Güncel sürüm | 3.41[1] |
| Kod deposu | |
| Platform | Android, iOS, Google Fuchsia, Web, Windows, macOS ve Linux |
| Tür | Yazılım Framework'ü |
| Lisans | BSD Lisansı |
| Resmî sitesi | flutter.dev |
Flutter, Google tarafından oluşturulan açık kaynaklı bir UI yazılım geliştirme kitidir. Android, iOS, Windows, Mac, Linux ve web için uygulamalar geliştirmek için kullanılıyor.[2] Flutter'ın ilk sürümü "Sky" olarak biliniyordu ve Android işletim sisteminde çalışıyordu. Flutter ilk olarak 2015 Dart geliştirici zirvesinde tanıtıldı. Tanıtımında sabit bir şekilde saniyede 120 FPS çalışan uygulamalar geliştirilebileceği belirtildi.[3] 4 Aralık 2018'de Flutter 1.0, Flutter Live etkinliğinde ilk "kararlı sürüm" olarak yayımlandı. 11 Aralık 2019'da Flutter Interactive etkinliğinde Flutter 1.12 yayımlandı.[4]
6 Mayıs 2020'de, 2.8 sürümündeki Dart SDK ve 1.17.0 sürümündeki Flutter, Metal API'a desteğin eklendiği ve iOS cihazlarındaki (yaklaşık %50) ana widget'larındaki performansı büyük ölçüde artırdı. Ağ etkinlikleri izleme aracı ve çok daha fazlası eklendi.
Tarihçe ve Sürüm Gelişimi
[değiştir | kaynağı değiştir]- Flutter, Google tarafından geliştirilmeye başlanmış ve ilk olarak 2015 yılında Dart geliştirici zirvesinde “Sky” adıyla tanıtılmıştır.
- 4 Aralık 2018: Flutter 1.0 sürümü yayımlanarak kararlı hâle gelmiştir.
- 2021: Flutter 2.0 yayımlandı. Bu sürüm ile web, masaüstü ve yerleşik cihaz desteği “kararlı” olmasa da “beta” veya “dev” kanallarında desteklenmeye başlandı.
- 3 Mayıs 2023: Google, Flutter 3.10 sürümünü duyurdu. Bu sürüm, Dart 3 ile birlikte geldi ve platformlar arası geliştirme araçlarını büyük ölçüde iyileştirdi.
Dart Programlama Dili
[değiştir | kaynağı değiştir]Flutter, Dart adlı programlama dili ile yazılır. Dart, yine Google tarafından geliştirilmiş, istemci tarafı odaklı, C tarzı sözdizimine sahip, JIT (Just-In-Time) ve AOT (Ahead-Of-Time) derleyicilerini destekleyen bir programlama dilidir.
Dart sayesinde:
- Geliştirme sürecinde “hot reload” özelliği ile anında güncellemeler görülebilir.
- AOT derleme ile yüksek performanslı, native (yerel) kodlar üretilebilir.
Teknik Mimari ve Bileşenler
[değiştir | kaynağı değiştir]Flutter Motoru
- C++ ile yazılmıştır.
- Grafik işlemleri için Skia grafik motorunu kullanır.
- Platforma özgü API'lerle (kamera, GPS, dosya sistemi gibi) iletişimi sağlayan platform kanallarını içerir.
Widget Sistemi
- Flutter’ın temel yapı taşı “widget”lardır.
- StatelessWidget ve StatefulWidget türleriyle kullanıcı arayüzleri inşa edilir.
- Material Design (Android) ve Cupertino (iOS) stillerinde önceden tanımlı widget’lar sunar.
Rendering (Çizim)
- Flutter, platformun yerel UI sistemini kullanmak yerine kendi widget'larını çizer. Bu, daha tutarlı bir görünüm sağlar.
- Skia motoru sayesinde yüksek performans elde edilir.
Platform Desteği
[değiştir | kaynağı değiştir]Flutter; aşağıdaki platformlarda çalışabilir:
- Android
- iOS
- Web (HTML/CSS/CanvasKit ile)
- Windows
- macOS
- Linux
- Embedded sistemler (Raspberry Pi gibi)
Masaüstü desteği başlangıçta sadece deneyseldi; ancak Flutter 3.0 itibarıyla Windows, macOS ve Linux için kararlı destek sunulmuştur.
Flutter ile Geliştirilen Bazı Uygulamalar
[değiştir | kaynağı değiştir]- Google Ads
- Alibaba
- BMW
- eBay Motors
- Reflectly
- Hamilton Musical App
Flutter’ın Avantajları
[değiştir | kaynağı değiştir]- Tek bir kod tabanıyla çoklu platformlara uygulama geliştirme imkânı
- Hot reload ile hızlı geliştirme süreci
- Yüksek performans (native benzeri)
- Zengin widget kütüphanesi
- Aktif topluluk ve düzenli güncellemeler
Rakipleri
[değiştir | kaynağı değiştir]Flutter, aşağıdaki diğer çapraz platform araçlarıyla rekabet halindedir:
- React Native (Meta)
- Xamarin (Microsoft)
- SwiftUI (Apple, sadece iOS/macOS)
- Kotlin Multiplatform (JetBrains)
Framework Mimarisi
[değiştir | kaynağı değiştir]Flutter'ın ana bileşenleri şunlardır:
- Dart platformu
- Flutter motoru
- Temel kütüphane
- Tasarıma özel widget'lar
Merhaba Dünya Örneği
[değiştir | kaynağı değiştir]Flutter kullanılarak yazılmış bir "merhaba dünya" örneği:
import 'package:flutter/material.dart';
void main() => runApp(HelloWorldApp());
class HelloWorldApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
//Uygulama arayüzünde gösterilecek olan alan.
// MaterialApp veya Scaffold açılabilir, yahut metot ile farklı bir yerden inşa edilebilir.
return MaterialApp(
title: 'Merhaba Dünya Uygulaması',
//title ile uygulamamızın ismi belirlenir (telefon ana ekranında görünecek olan isim).
home: Scaffold(
//AppBar() isimli widget otomatik olarak uygulamanın en üstüne bir bar oluşturur.
appBar: AppBar(
title: Text('Merhaba'),
// Uygulama barına "Merhaba" yazdırır
),
//Center isimli widget ile yazıyı sayfa ortasına yerleştiriyoruz.
body: Center(
child: Text('Merhaba Dünya'),
// ekrana "Merhaba Dünya" yazdırır.
),
),
);
}
}
Yararlı Bağlantılar
[değiştir | kaynağı değiştir]- Resmi web sitesi4 Haziran 2020 tarihinde Wayback Machine sitesinde arşivlendi.
Kaynakça
[değiştir | kaynağı değiştir]- ^ "What's new in Flutter 3.41". Erişim tarihi: 13 Şubat 2026.
- ^ "Google's "Fuchsia" smartphone OS dumps Linux, has a wild new UI". 8 Mayıs 2017 tarihinde kaynağından arşivlendi.
- ^ "Google's Dart language on Android aims for Java-free, 120 FPS apps". 6 Mayıs 2015 tarihinde kaynağından arşivlendi.
- ^ "Flutter: the first UI platform designed for ambient computing". 11 Aralık 2019 tarihinde kaynağından arşivlendi.