الفرق بين المراجعتين لصفحة: «ReactNative/out of tree platforms»
أنشأ الصفحة ب'<noinclude>{{DISPLAYTITLE: منصات مدعومة من طرف المجتمع في React Native}}</noinclude> إطار React Native ليس فقط لنظامَي الت...' |
لا ملخص تعديل |
||
سطر 3: | سطر 3: | ||
إطار React Native ليس فقط لنظامَي التشغيل Android و iOS. إذ هناك مشاريع مدعومة من المجتمع يمكنك بها استعمال React Native على منصات أخرى، مثل: | إطار React Native ليس فقط لنظامَي التشغيل Android و iOS. إذ هناك مشاريع مدعومة من المجتمع يمكنك بها استعمال React Native على منصات أخرى، مثل: | ||
* React Native Windows: دعم React Native لكل من Universal Windows Platform (UWP) وWindows Presentation Foundation (WPF). | * [https://github.com/Microsoft/react-native-windows React Native Windows]: دعم React Native لكل من Universal Windows Platform (UWP) وWindows Presentation Foundation (WPF). | ||
* React Native DOM: نقلٌ تجريبي شامل لإطار العمل React Native إلى منصّة الويب. (يجب عدم الخلط بينه وبين React Native Web الذي يمتلك أهدافًا مختلفة). | * [https://github.com/vincentriemer/react-native-dom React Native DOM]: نقلٌ تجريبي شامل لإطار العمل React Native إلى منصّة الويب. (يجب عدم الخلط بينه وبين [https://github.com/necolas/react-native-web React Native Web] الذي يمتلك أهدافًا مختلفة). | ||
* React Native Turbolinks: مُوائِم (adapter) لإطار React Native لإنشاء تطبيقات هجينة باستخدام Turbolinks 5. | * [https://github.com/lazaronixon/react-native-turbolinks React Native Turbolinks]: مُوائِم (adapter) لإطار React Native لإنشاء تطبيقات هجينة باستخدام [https://github.com/turbolinks/turbolinks Turbolinks 5]. | ||
* React Native Desktop: مشروع يهدف إلى نقل React Native إلى منصّة سطح المكتب باستخدام تقنيّة QML الخاصة بمشروع Qt. وهو نسخة (fork) من React Native | * [https://github.com/status-im/react-native-desktop React Native Desktop]: مشروع يهدف إلى نقل React Native إلى منصّة سطح المكتب باستخدام تقنيّة QML الخاصة بمشروع Qt. وهو نسخة (fork) من [https://github.com/CanonicalLtd/react-native/ React Native Ubuntu]، الذي لم يعد قيد التحديث والصيانة. | ||
* React Native macOS: | * [https://github.com/ptmt/react-native-macos React Native macOS]: نسخة React Native تجريبية تستهدف macOS وCocoa. | ||
==إنشاء منصة React Native خاصة بك== | ==إنشاء منصة React Native خاصة بك== |
مراجعة 18:39، 20 يونيو 2019
إطار React Native ليس فقط لنظامَي التشغيل Android و iOS. إذ هناك مشاريع مدعومة من المجتمع يمكنك بها استعمال React Native على منصات أخرى، مثل:
- React Native Windows: دعم React Native لكل من Universal Windows Platform (UWP) وWindows Presentation Foundation (WPF).
- React Native DOM: نقلٌ تجريبي شامل لإطار العمل React Native إلى منصّة الويب. (يجب عدم الخلط بينه وبين React Native Web الذي يمتلك أهدافًا مختلفة).
- React Native Turbolinks: مُوائِم (adapter) لإطار React Native لإنشاء تطبيقات هجينة باستخدام Turbolinks 5.
- React Native Desktop: مشروع يهدف إلى نقل React Native إلى منصّة سطح المكتب باستخدام تقنيّة QML الخاصة بمشروع Qt. وهو نسخة (fork) من React Native Ubuntu، الذي لم يعد قيد التحديث والصيانة.
- React Native macOS: نسخة React Native تجريبية تستهدف macOS وCocoa.
إنشاء منصة 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"
مصفوفةٌ من لاحقات المنصّات التي ستُضاف كمنصات صالحة.