Codegen
- React Native kursu
- Uzman
- Ders 5/47
- 5 dk
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
{
"name": "my-lib",
"version": "1.0.0"
// codegenConfig alanını buraya ekle
}Örnek çözüm
{
"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
"codegenConfig": {
"name": "MyLib",
"type": "____",
"jsSrcsDir": "./src"
}
"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ı |