Flutter

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. 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. 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ı.

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 

 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 
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 
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 
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 

 Google Ads
 Alibaba
 BMW
 eBay Motors
 Reflectly
 Hamilton Musical App

 Flutter’ın Avantajları 

 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 
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 
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 
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 

 Resmi web sitesi

 Kaynakça 

Kategori:Google yazılımları
Kategori:Mobil yazılım geliştirme araçları
Kategori:Mobil yazılım geliştirme
Kategori:Yazılım geliştirme kitleri