Auzef Mobil Programlama 2024-2025 Vize Soruları (Bahar)
https://lolonolo.com/2026/03/07/mobil-programlama-2024-2025-vize-sorulari-bahar/
https://lolonolo.com
Show More Show Less View Video Transcript
0:00
Herkese selam. Flutter'ı şöyle bir
0:02
hızlıca öğrenmeye ne dersiniz? İşte
0:04
karşınızda Flutter'ın temellerini 5
0:06
dakikada özetleyen bir rehber.
0:08
Hazırsanız başlıyoruz. Peki hadi direkt
0:11
konuya girelim. Şöyle bir düşünün. Bir
0:13
akıllı telefonu bildiğimiz o eski
0:15
telefonlardan ayıran en temel şey ne
0:17
olabilir? Tabii ki uygulama
0:19
yükleyebilmemiz. Bakın sadece bu tek
0:22
özellik resmen bir teknoloji devrimi
0:24
başlattı. O kadar ki 2020'ye
0:26
geldiğimizde Android piyasanın hakimi
0:28
olmuştu bile. Şimdi bu yolculukta bizi
0:31
neler bekliyor hemen bakalım. Önce
0:33
Flutter mobil dünyada nerede duruyor onu
0:34
konuşacağız. Sonra onun can damarı olan
0:37
dart diline, yapı taşı olan widgetlara,
0:39
arayüz düzenine ve son olarak da
0:41
projenizde işinize yarayacak araçlara
0:43
bir göz atacağız. Harika. İlk konumuzla
0:45
başlayalım. Flutter Mobil Dünyada tam
0:48
olarak nerede konumlanıyor? Gelin büyük
0:50
resme bakalım. Şimdi burada çok sık
0:52
yapılan bir hatayı düzeltelim. Bakın,
0:55
flutter bir programlama dili değil. O
0:57
aslında bir framework yani bir araç
0:59
takımı. Talimatları yazmak için
1:02
kullandığı dilin adı ise dart. İşte
1:04
şimdi Flutter uygulamalarının kalbine
1:07
yani motor odasına iniyoruz. Karşınızda
1:10
dart dili. Peki nedir bu dart? Aslında
1:13
Google'ın geliştirdiği nesne yönelimli
1:15
bir programlama dili. En kilit
1:17
özelliklerinden biri de güçlü tip
1:19
denetimine sahip olması. Bu ne demek?
1:22
Kısacası yazdığınız kodun daha güvenli
1:24
ve daha tahmin edilebilir olması demek.
1:27
Diyelim ki elinizde veriler var ve
1:29
bunları bir sözlük gibi yani bir anahtar
1:32
ve ona karşılık gelen bir değer şeklinde
1:35
saklamak istiyorsunuz. Dart'ta bunu
1:37
nasıl yaparız? İşte tam bu noktada
1:40
Dart'ın harika veri yapıları imdadımıza
1:42
yetişiyor. Anahtar değer çiftleri için
1:45
map dediğimiz yapıyı kullanıyoruz. Peki
1:47
ya bir listedeki her şeyi alıp başka bir
1:49
listeye kopyalamak isterseniz işte o
1:52
zaman da şu üç noktalı sihirli gibi
1:54
çalışan spread operatörü devreye
1:56
giriyor. Çok pratik. Sıradaki konumuz
1:59
Flutter'da arayüz geliştirmenin A'sı
2:02
B'si yani en temel taşı widgetler. Gelin
2:05
bu dünyaya bir dalalım. Flutter
2:07
felsefesini tek bir cümlede özetlemek
2:09
gerekirse o cümle bu olurdu. Gerçekten
2:12
de bir butondan tutun metinlere hatta
2:16
ekranın tamamına kadar flutterda
2:18
gördüğünüz her şey ama her şey bir
2:20
widgittir. Temelde iki çeşit widgetimiz
2:23
var. Birincisi stateless widget. Adı
2:25
üstünde durumsuz yani ekranda sabit
2:28
duran değişmeyen şeyler için bunu
2:30
kullanıyoruz. Ama eğer bir şeye
2:32
tıklandığında değişen yani bir durumu
2:34
olan dinamik bir parça yapıyorsanız o
2:36
zaman sahneye stateful widget çıkıyor.
2:39
Peki tamam dinamik dedik de bir flutter
2:41
uygulaması ekranı nasıl güncelliyor?
2:43
Süreç aslında çok basit. Kullanıcı bir
2:46
etkileşimde bulunur. Siz kodla set state
2:48
fonksiyonu çağırırsınız. Bu da Flutter'a
2:50
hey bir şeyler değişti. Widget ağacını
2:52
yeniden çiziler ve hop ekran
2:55
güncellenir. Uygulamanızın daha en
2:57
başından profesyonel ve kullanıcılara
2:59
tanıdık gelen bir Android görünümüne
3:00
sahip olmasını ister misiniz? Bunun için
3:03
geliştiricilerin yaptığı çok basit bir
3:05
şey var. Material.dart kütüphanesini
3:07
projeye dahil etmek. Bu kütüphane
3:10
Google'ın bütün materyal tasarım
3:11
bileşenlerini size sunuyor. Gelelim en
3:14
can alıcı konulardan birine. Tamam
3:16
widgetler harika ama bunları ekranda
3:19
istediğimiz gibi nasıl hizalayacağız,
3:21
nasıl düzenleyeceğiz? Konteyner widget'ı
3:23
adeta bir İsviçre çakısı gibidir. Renk
3:25
vermek, kenarlık eklemek, iç ve dış
3:28
boşlukları ayarlamak için mükemmel. Ama
3:30
dikkat konteynerın görevi birden fazla
3:33
şeyi yan yana dizmek değildir. O iş için
3:36
roll gibi başka videtlarımız var. Ve
3:38
şimdi size Flutterda arayüz düzeninin
3:41
altın kuralını veriyorum. Bunu aklınızın
3:43
bir köşesine yazın. Kısıtlamalar
3:45
yukarıdan aşağıya, boyutlar ise aşağıdan
3:47
yukarıya akar. Bu tek cümle aslında
3:50
ekranda gördüğünüz her şeyin boyutunun
3:52
ve pozisyonunun nasıl belirlendiğini
3:54
açıklıyor. O zaman şöyle kafa
3:56
karıştırıcı bir soru sorayım. Madem
3:57
öyle, neden bazen genişlik 100,
4:00
yükseklik 100 olsun dediğimiz bir
4:02
konteyner bir bakıyoruz ki bütün ekranı
4:04
kaplamış. Bu kurala ters değil mi? Cevap
4:07
aslında çok mantıklı. Çünkü onu içeren
4:09
ebeveyn widget ona kendi kurallarını
4:11
dayatıyor ve "Hayır benim belirlediğim
4:13
alana sığacaksın" diyor. Yani çocuğun
4:16
kendi boyut isteğini ezip geçiyor. Hani
4:18
demiştik ya kısıtlamalar yukarıdan
4:20
aşağıya akar diye. İşte tam olarak bu.
4:23
Ebeveyn her zaman kazanır. Ve geldik son
4:25
bölümümüze. Artık elimizde bir flutter
4:28
projesi varken işimizi kolaylaştıracak
4:30
temel araçlar neler onlara bakalım.
4:33
Pubdei Flutter'ın hazine sandığı olarak
4:35
düşünebilirsiniz. Burası Dart ve Flutter
4:38
için resmi paket yöneticisi. Yani
4:41
başkalarının yazdığı ve paylaştığı
4:42
binlerce hazır kod kütüphanesini
4:44
bulabileceğiniz yer. Projenizi
4:46
hızlandırmak için neye ihtiyacınız varsa
4:49
muhtemelen burada vardır. Şimdi de sıkça
4:51
kullanacağınız üç önemli yardımcıya
4:53
bakalım. Projenize eklediğiniz resimlere
4:55
veya Jason dosyalarına ulaşmak mı
4:57
istiyorsunuz? Görev root bundle'da. Peki
4:59
ya bir ekrandan diğerine geçmek? O zaman
5:02
navigator.pushed'ı çağırıyoruz. Hatta
5:04
geçerken yanımızda veri götürmek
5:06
istersek de argüment parametresini
5:08
kullanıyoruz. Ve geldik Flutter'ın belki
5:10
de en heyecan verici özelliğine. Çoklu
5:13
platform desteği. Düşünün tek bir kod
5:15
yazıyorsunuz ve bu kod hem Android'de
5:18
hem iOS'ta hem web'de hem Windows'da hem
5:21
de Linux'ta çalışıyor. Gerçekten
5:23
inanılmaz. Tabii 2021 verilerine göre
5:26
Harmony OS henüz bu listede yoktu. Şimdi
5:29
son bir soruyla bitirelim. Tek bir kodla
5:32
neredeyse aklınıza gelebilecek her
5:33
ekrana uygulama yapabildiğimiz bir
5:35
çağdayız. Sizce Flutter gibi bu tarz
5:37
platformlar arası araçlar yazılım
5:40
dünyasının geleceğini nasıl
5:41
şekillendirecek? Bu sorunun cevabı
5:43
aslında bir sonraki teknoloji devriminin
5:46
de kapısını aralayabilir.

