CodeBlanks Logo Icon CodeBlanks

Codegen

Codegen ve otomatik kod üretimini öğrenirsin.

Codegen nedir?

Codegen, TypeScript spec dosyalarından C++/Java/Objective-C iskelet kodu üreten araçtır. Elle yazılan binding kodunu ortadan kaldırır; tip uyumsuzluğu derleme anında yakalanır.

Codegen, yeni mimarinin ayrılmaz parçasıdır. Build sırasında çalışır; spec dosyasındaki arayüzleri okur, native tarafta karşılık gelen tipleri üretir. Çıktı node_modules/... altında tutulur.

Codegen tipleri

Codegen üç çıktı verir: components (Fabric native bileşenleri), modules (TurboModules) ve all (ikisi birden). package.json içindeki codegenConfig alanı bunu belirler ve hangi çıktının üretileceğini söyler.

Tip dosyaları codegenNativeComponent ve TurboModuleRegistry çağrılarını arar; bunlardan native kod üretir. Üretilen dosyalar node_modules altında tutulur; elle düzenlenmez.

Uygulama Codegen config ekle

Bir package.json dosyasına codegenConfig alanı ekle. name: MyLib, type: modules, jsSrcsDir: ./src olsun.

Başlangıç kodu

App.js
{
  "name": "my-lib",
  "version": "1.0.0"
  // codegenConfig alanını buraya ekle
}

Örnek çözüm

App.js
{
  "name": "my-lib",
  "version": "1.0.0",
  "codegenConfig": {
    "name": "MyLib",
    "type": "modules",
    "jsSrcsDir": "./src"
  }
}

Soru ve cevaplar

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

1 Codegen ne üretir?

  • Yeni bir JS bundle Doğru cevap
  • C++/Java/ObjC iskelet
  • React bileşenleri
  • CSS stilleri

Açıklama: Codegen native tarafta iskelet kod üretir.

2 Codegen config tipi

Soru
"codegenConfig": {
  "name": "MyLib",
  "type": "____",
  "jsSrcsDir": "./src"
}
Cevap
"codegenConfig": {
  "name": "MyLib",
  "type": "modules",
  "jsSrcsDir": "./src"
}

Açıklama: type 'modules' TurboModule üretir.

3 Codegen çıktılarını eşleştir

Kavram Anlamı
components Fabric bileşenleri
modules TurboModules
all İkisi birden
codegenConfig package.json alanı

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