الفرق بين المراجعتين ل"ReactNative/out of tree platforms"
جميل-بيلوني (نقاش | مساهمات) ط |
|||
(مراجعتان متوسطتان بواسطة مستخدمين اثنين آخرين غير معروضتين) | |||
سطر 1: | سطر 1: | ||
− | <noinclude>{{DISPLAYTITLE: منصات | + | <noinclude>{{DISPLAYTITLE: منصات أخرى خارجية يدعمها React Native}}</noinclude> |
+ | إطار React Native ليس فقط لنظامَي التشغيل Android و iOS. إذ هناك مشاريع مدعومة من الشركاء ومن المجتمع يمكنك بها استعمال React Native على منصات أخرى، مثل: | ||
− | + | '''من الشركات:''' | |
− | * [https://github.com/ | + | * [https://github.com/microsoft/react-native-windows React Native Windows]: دعم React Native لكل من Universal Windows Platform (UWP) وWindows Presentation Foundation (WPF). |
− | * [https://github.com/ | + | *[https://github.com/microsoft/react-native-macos React Native macOS]: تفرّع React Native يستهدف macOS و Cocoa. |
− | * [https://github.com/ | + | '''من المجتمع:''' |
− | * [https://github.com/ | + | *[https://github.com/areslabs/alita alita]: بوابة React Native تجريبية شاملة للبرنامج الصغير (mini-program). |
− | + | * [https://github.com/react-native-community/react-native-tvos React Native tvOS]: مواءمة React Native لأجهزة Apple TV و Android TV. | |
+ | * [https://github.com/necolas/react-native-web React Native Web]: نقلٌ تجريبي شامل لإطار العمل React Native إلى منصّة الويب بالاعتماد على React DOM. | ||
+ | * [https://github.com/valence-native/valence-native Valence Native]: مغلّف React Native يستخدم Qt ليستهدف Linux و MacOS و Windows، وقد اشتق من [https://github.com/kusti8/proton-native Proton Native] المهمل. | ||
==إنشاء منصة React Native خاصة بك== | ==إنشاء منصة React Native خاصة بك== | ||
سطر 38: | سطر 41: | ||
* [https://facebook.github.io/react-native/docs/out-of-tree-platforms صفحة Out-of-Tree Platforms في توثيق React Native الرسمي.] | * [https://facebook.github.io/react-native/docs/out-of-tree-platforms صفحة Out-of-Tree Platforms في توثيق React Native الرسمي.] | ||
[[تصنيف:ReactNative]] | [[تصنيف:ReactNative]] | ||
+ | [[تصنيف:React Native Docs]] |
المراجعة الحالية بتاريخ 13:36، 9 أكتوبر 2021
إطار React Native ليس فقط لنظامَي التشغيل Android و iOS. إذ هناك مشاريع مدعومة من الشركاء ومن المجتمع يمكنك بها استعمال React Native على منصات أخرى، مثل:
من الشركات:
- React Native Windows: دعم React Native لكل من Universal Windows Platform (UWP) وWindows Presentation Foundation (WPF).
- React Native macOS: تفرّع React Native يستهدف macOS و Cocoa.
من المجتمع:
- alita: بوابة React Native تجريبية شاملة للبرنامج الصغير (mini-program).
- React Native tvOS: مواءمة React Native لأجهزة Apple TV و Android TV.
- React Native Web: نقلٌ تجريبي شامل لإطار العمل React Native إلى منصّة الويب بالاعتماد على React DOM.
- Valence Native: مغلّف React Native يستخدم Qt ليستهدف Linux و MacOS و Windows، وقد اشتق من Proton Native المهمل.
إنشاء منصة React Native خاصة بك
لا يوجد حاليًّا توثيق جيّد لعملية إنشاء منصة React Native من البداية، تسهيل إنشاء وصيانة منصّةٍ أحد أهداف إعادة الهيكلة القادمة (Fabric).
التجميع (Bundling)
بدءًا من React Native 0.57، يمكنك الآن تسجيل منصّة React Native الخاصّة بك باستخدام Metro، وهو مُجمِّع JavaScript الخاص بإطار العمل React Native. هذا يعني أنّه يمكنك تمرير المعامل --platform example
إلى الأمر react-native bundle
، وسيبحث عن ملفّات JavaScript ذات اللاحقة .example.js
.
لتسجيل منصّتك مع RNPM، يجب أن يتوافق اسم وحدتك مع أحد هذه الأنماط:
-
react-native-example
: سيبحث المجمِّع في جميع وحدات المستوى الأعلى (top-level modules) التي تبدأ بـالمقطع react-native-
. - :
@org/react-native-example
سيبحث المجمِّع عن الوحدات التي تبدأ بـالمقطع react-native-
تحت أي نطاق. - :
@react-native-example/module
سيُبحَث في جميع الوحدات النمطيّة التي تقع تحت النطاقات ذات الأسماء التي تبدأ بالمقطع @react-native-
.
ينبغي كذلك وجود خانةٍ في ملفّ package.json
كما يلي:
{
"rnpm": {
"haste": {
"providesModuleNodeModules": ["react-native-example"],
"platforms": ["example"]
}
}
}
"providesModuleNodeModules"
هي مصفوفةٌ من الوحدات التي ستُضاف إلى مسار Haste للبحث عن الوحدات (Haste module search path)، و"platforms"
مصفوفةٌ من لاحقات المنصّات التي ستُضاف كمنصات صالحة.