تكرار السؤال: …
الإجابة المختصرة
هي أداة تقوم بقراءة ملفات الـ TypeScript/Flow Types وإنشاء كود C++ و Java و Swift/Obj-C المطابق تلقائياً لضمان توافق الأنواع الكامل ومنع أخطاء النوع بين JS والـ Native.
الشرح
تمنع أداة Codegen الأعطال الناتجة عن عدم تطابق المعاملات بين لغة الـ JavaScript والشيفرة الأصلية. بدلاً من التحقق اليدوي البطيء من معلمات الـ Bridge، تقوم Codegen أثناء عملية الـ Build بإنشاء كود وسيط C++ قوي وصارم يضمن أمان الأنواع على كلا الطرفين قبل تشغيل التطبيق.
مثال بالكود
// تعريف الواجهة التي تقرأها أداة Codegen:
import type { TurboModule } from 'react-native';
import { TurboModuleRegistry } from 'react-native';
export interface Spec extends TurboModule {
multiply(a: number, b: number): Promise<number>;
}
export default TurboModuleRegistry.get<Spec>('Calculator');أخطاء شائعة
- استخدام أنواع غير مدعومة مثل Any أو Union types معقدة في ملف مواصفات Codegen.
أسئلة متابعة
- ما هي الـ New Architecture في React Native وما هو دور الـ JSI (JavaScript Interface)؟
- ما هي معمارية React Native التقليدية (The Bridge) وما هي الاختناقات الأدائية المرتبطة بها؟