Flutter ileMobil Uygulama GeliştirmeDart Temelleri – Nesne Yönelimli Programlama
Cihan ÜRTEKİN
İÇİNDEKİLER
İçindekiler
Önsöz 5
1. BÖLÜM:
DART: TEMEL PROGRAMLAMA
1. DEĞİŞKENLER 12
1.1. Metinler (String) 13
1.2. Integer ve Double 15
1.3. Boolean 16
1.4. Değişken İsimlendirme 17
1.5. Çalışma Sırası 20
1.6. var Anahtar Kelimesi 20
1.7. null Değerler 22
1.8. dynamic Veri Tipi 23
1.9. Tip Dönüşümleri 24
2. OPERATÖRLER 27
3. LİST VE SET 33
3.1. List 33
3.2. Set 36
4. MAP 37
5. SABİTLER 42
5.1. const ve final Arasındaki Farklar 43
6. KONTROL YAPILARI 46
6.1. If Yapısı 46
6.1.1. If – Else Yapısı 47
6.1.2. If – Else – If Yapısı 48
6.1.3. Kısaltma Yapıları 49
6.1.3.1. Ternary – If (?:) 49
6.1.3.2. If – null (??) 50
6.1.3.3. If – Null – Assign (??=) 51
6.2. Switch – Case Yapısı 52
7. DÖNGÜLER 54
7.1. For 54
7.2. Foreach 57
7.3. While 60
7.4. Do – While 62
8. HATA KONTROLÜ (try – catch – finally) 64
9. FONKSİYONLAR 69
9.1. Fonksiyonlar: Matematiksel Anlatım 85
9.2. Fonksiyonlar: İsimlendirilmiş Parametreler 90
9.3. Fonksiyonlar: Opsiyonel Parametreler 98
10. ASENKRON PROGRAMLAMA 100
10.1. Future 100
10.2. async ve await 105
11. YORUM SATIRLARI 107
12. NULL SAFETY 110
12.1. Sound Null Safety 116
12.2. late Anahtar Kelimesi 117
2. BÖLÜM:
DART: NESNE YÖNELİMLİ PROGRAMLAMA
1. SINIF (CLASS) OLUŞTURMA 123
2. KAPSAM (SCOPE) 133
2.1. this 138
3. CONSTRUCTOR (YAPICI METOD) 140
3.1. Named (İsimlendirilmiş) Constructor 146
4. ERİŞİLEBİLİRLİK (public ve private) 147
5. GETTER VE SETTER 152
6. ABSTRACTION (SOYUTLAMA) 157
7. ENCAPSULATION (KAPSÜLLEME) 159
8. INHERITANCE (KALITIM) 162
8.1. super 168
9. POLYMORPHISM (ÇOK BİÇİMLİLİK) 172
10. FONKSİYONEL SINIFLAR 175
10.1. static 177
11. ABSTRACT CLASS (SOYUT SINIF) 179
12. INTERFACE (ARAYÜZ) 184
13. MİXİN 191
14. ENUMERATİON (ENUM) 197
15. PACKAGE (PAKET) 200
3. BÖLÜM:
FLUTTER
1. FLUTTER PROJESİ OLUŞTURMA 205
2. PROJEYE İLK BAKIŞ 210
2.1. pubspec.yaml 211
3. WIDGET KAVRAMI VE İLK KODLAR 214
4. EKRAN OLUŞTURMA VE SCAFFOLD 225
5. STATEFUL WIDGET 234
5.1. Stateless Widget ile Stateful Widget Arasındaki Farklar 235
5.2. State Kavramı 239
6. HOT RELOAD VE HOT RESTART 241
6.1. Hot Reload 241
6.2. Hot Restart 241
6.3. Full Restart 242
7. TEMEL WIDGET'LAR 243
7.1. Text 243
7.1.1. Text Style (Yazı Stili) 245
7.2. Container 247
7.3. Column ve Row 252
7.3.1. SizedBox 259
7.4. Resimler 262
7.4.1. Image.asset 265
7.4.2. Image.network 269
7.4.3. CircleAvatar 270
7.5. Butonlar 273
7.5.1. ElevatedButton 273
7.5.1.1. ElevatedButton.icon 281
7.5.2. OutlinedButton 281
7.5.3. TextButton 282
7.5.4. IconButton 282
7.5.5. FloatingActionButton (FAB) 283
7.6. TextField 285
7.7. ListView 301
7.7.1. ListView.builder 304
7.7.2. ListTile 309
7.8. Expanded 313
7.8.1. flex Parametresi 320
7.9. DropdownButton 323
8. EKRANLAR ARASI GEÇİŞ 332
8.1. Navigator.push 335
8.2. Navigator.pushment 338
8.3. Navigator.pop 340
8.4. Sayfalar Arası Veri Aktarımı 342
8.5. WillPopScope 350
9. CİHAZ HAFIZASINA VERİ KAYDETME 352
9.1. Hazır Paket Kullanımı 353
9.2. SharedPreferences 355
10. JSON Parse 367
10.1. initState 380
10.2. ExpansionTile 383
11. İNTERNETTEN VERİ ÇEKME () 387
12. ÖRNEK UYGULAMA: DÜNYA ÜLKELERİ 402
12.1. widget Anahtar Kelimesi 428
Yazar Hakkında 435