CodeBlanks Logo Icon CodeBlanks

dartaotruntime

AOT ve JIT runtime farkını öğrenirsin.

dartaotruntime

dartaotruntime, Dart'ın AOT (Ahead-Of-Time) derlenmiş programlarını çalıştıran runtime'dır. AOT'de tüm kod derleme anında makine koduna çevrilir; çalışma anında derleme yoktur. Bu, hızlı başlangıç ve öngörülebilir performans sağlar.

JIT (Jüst-In-Time) runtime ise VM üzerinden çalışır; kodu çalışma anında derler. JIT, geliştirme döngüsü için hızlı yeniden derleme sağlar (hot reload). AOT üretim için, JIT geliştirme için kullanılır.

AOT vs JIT farkı

AOT, tüm kodu derleme anında makine koduna çevirir; başlangıç hızlı, bellek ayak izi küçük. Üretim uygulamaları (Flutter release) AOT kullanır. JIT, kodu çalışma anında derler; bu nedenle başlangıç daha yavaş ama geliştirme sırasında hot reload mümkündür.

JIT, VM içinde type feedback toplar ve sık çalışan yolları optimize eder. AOT ise statik analizle tüm optimizasyonları önceden yapar. İkisi de Kernel'ı girdi olarak alır ama çalışma stratejileri farklıdır.

Uygulama RuntimeMode sınıfı

Bir RuntimeMode sınıfı tanımla: final String name; final bool supportsHotReload; RuntimeMode(this.name, this.supportsHotReload); alan ve kurucu. String describe() => '$name: hot reload = $supportsHotReload'; metodu. main içinde final r = RuntimeMode('JIT', true); yarat; print(r.describe()); ile yazdır.

Başlangıç kodu

main.dart
void main() {
  // RuntimeMode sınıfını tanımla (name, supportsHotReload; describe)
  // bir RuntimeMode yarat; describe() yazdır
}

Örnek çözüm

main.dart
class RuntimeMode {
  final String name;
  final bool supportsHotReload;
  RuntimeMode(this.name, this.supportsHotReload);
  String describe() => '$name: hot reload = $supportsHotReload';
}

void main() {
  final r = RuntimeMode('JIT', true);
  print(r.describe());
}

Beklenen çıktı

JIT: hot reload = true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Runtime modu

Soru
final mode = '____';
print(mode);
Cevap
final mode = 'AOT';
print(mode);

Açıklama: AOT üretim runtime'ıdır; kodu derleme anında üretir.

2 Runtime özelliklerini eşleştir

Kavram Anlamı
AOT Üretim
JIT Geliştirme
Hot reload JIT özelliği
Hızlı başlangıç AOT özelliği

3 Hot reload hangi runtime modunda çalışır?

  • Yalnızca AOT
  • Yalnızca native makine
  • Yalnızca tarayıcı
  • JIT Doğru cevap

Açıklama: hot reload JIT runtime'ında çalışır (çalışma anı derleme).

Uzman bölümündeki tüm dersler