مقالات برمجية

ما هي الـ React Native ؟

أن الـ React Native عباره عن أطار عمل ( Framework ) تم تطويرها من قبل شركة الفيس بوك. توفر الـ React Native الامكانيات الكاملة لبناء التطبيقات المتكامله التي تشبه التطبيقات التي يتم برمجتها بأستخدام لغات البرمجة المخصصة مثل Java او Swift. بالاضافة الى ذلك, فأن وحدات البناء الاساسية لواجهة المستخدم ( UI ) المستخدمة بواسطة iOS و Andriod يتم أستخدامها ايضاً بواسطة الـ React Native.

الفرق بين الـ React Native عن الـ React ؟

أن React Native ليست نسخة مختلفه للـ React. بل هي تطوير مخصص للـ React , كما هو الحال مع React Dom. حيث تستخدم الـ React Native مكونات (Native) بدلاً من مكونات الـ ( Web ) كما هو الحال مع الـ React . حيث أن مكونات الويب عادة تنتج تطبيقات بأمكانيات بسيطة تدعى بـ WebView Apps على عكس مكونات الـ(Native) التي تنشىء تطبيقات تشبه التطبيقات التي يتم بناءها بواسطة لغات البرمجة المخصصه لتطوير تطبيقات الاجهزة المحمولة مثل Java و Swift. على الرغم من ذلك, لتبدء بتعلم الـ React Native تحتاج في البداية الى دراسة ومعرفه المفاهيم الاساسية للـ React. مثل الـ  JSK و الـ Components و الـ State و الـ Props. وأن كنت تمتلك المعرفه المسبقة لأساسيات الـ React لا تزال ملزماً بمعرفه الامور المخصصه للـ React  Native مثل الـ ( Native components ). بشكل عام, أن اعتدت على أستخدام الـ React في الـ Web. فَلَن تشعر بالغرابه عند التعامل مع الـ React Native او أن كنت ممن يستخدمون الـ Java او الـ Swift في بناء تطبيقات الاجهزة المحمولة فلن تشعر بالغرابة ايضاً عند التعامل مع الـ React Native.

الشركات التي تستخدم الـ React Native في تطبيقاتها ؟

Facebook, GitHub, Airbnb, Box, Google, Microsoft, Pinterest, Pixar Animation Studios, Twitter, Uber, Instagram, LinkedIn, and WhatsApp

مميزات الـ React Native

 

– Cross-platform : مع الـ React Native فأنت لست بحاجه الى برمجة تطبيقات الـ iOS بشكل منفصل عن تطبيقات الـ Andriod. حيث تساعد الـ React Native المطورين على تطوير التطبيقات التي تعمل على نظاما الـ iOS و الـ Andriod من خلال استعمال منصه واحده تنتج تطبيقاً يعمل على أنظمة مختلفه.

 

– Truly native :  يوفر الـ React Native الامكانية الكاملة للمطورين لبناء تطبيقات Native بشكل كامل ومثالي. مما يجعل التطبيقات المصممه بأستخدام الـ React Native تبدوا كأنها مصممه بأحد لغات البرمجة المخصصه لبناء تطبيقات الهواتف على المنصات المخصصه للـ Android و  الـ iOS.

 

– Readability : حتى بالنسبة لأولئكَ الذين لم يستخدموا React Native من قبل, يمكنهم بسهوله قراءه الاسطر البرمجية لهذا الاطار.  في حين أن الكثير من أطارات العمل يتوجب على الاشخاص الذين يريدون قراءه الاسطر البرمجية الخاصه بها أن يقوموا بقراءه قائمة واسعه من المفاهيم ليفهموا اسطر تلكَ الاطارات.

– Community Backing : أغلب الاسطر البرمجية للاطار React Native عباره عن JavaScript Code, لذا ستعتبر فائده كبيره اذا كنت تعرف او تمتلك معرفه سابقه للـ JavaScript, حيث سيصبح من السهل تطوير وتعلم الـ React Native. بمعنى اخر , هكذا سيتمكن مطورين الواجهات الاماميه للمواقع ( Front-End Developers ) أن يصبحوا مطورين تطبيقات اجهزه محموله ( Mobile Developers ) مع أطار العمل React Native. كل ما تحتاج معرفته لذالك هو الـ JavaScript و الـ APIs و بعض المعرفه في بناء وحدات الواجهات الاماميه للتطبيقات( UI ).

– Reloading : بدلاً من اعاده معالجة او تشغيل البرنامج لمعرفه التغييرات التي أجريتها يتم أعاده تحميل التطبيق بشكل مباشر. حيث في الـ React Native تمتلك خيارين في عمليه الـ Reloading : الاول هو الـ Live Reloading. حيث يتم تحديث التطبيق في كل مره تقوم بخزن الاضافات او التعديلات التي قمت بها على ملفاتك. الخيار الثاني هو الـ Hot Reloading حيث يحدث التطبيق فقط الملفات التي قمت بالتعديل عليها وليس كل ملفات التطبيق.

– Use native code when you need to : من السهل استخدام أكثر من لغه في برمجة التطبيقات. حيث يمكنك بناء جزء من التطبيق بأستخدام الـ React Native والجزء الاخر بأستخدام لغة برمجية أخرى خاصة لبناء تطبيقات الهواتف. كما هو الحال مع تطبيق الفيس بوك.

– Efficiency : تـوفر الـ React Native الكثير من المميزات التي تعطي الكفاءة العالية للتطبيقات المصممه بها. مثل السرعة والاداء العالي , التجاوب المتكامل والكثيرر.

في النهايه, تعتبر الـ React native من أفضل واقوى الادوات في تطوير التطبيقات الـ Native بالنسبة لمطورين المواقع ولكنها تبقى ليس الحل المثالي للمشاكل او التطبيقات المعقده في تصميمها فكلما كان التطبيق معقد كلما كان بحاجه الـ مطورين تطبيقات يجيدون لغات البرمجة الـNative. مثل الـ Java.

 

أليكم مجموعه من المصادر المهمه لبدء رحلتك مع الـ React native

Facebook – Introducing React Native #1

Facebook – Official React Native documentation #2

Appcoda – React Native Introduction  #3

Ray Wenderlich – Introduction to Apps with JavaScript #4

Modus Create – React Native Has Landed #5

Herman Schaaf – Building a flashcard game  #6

Colin Eberhardt – React Native Retrospective #7

ReactNative – Collection of Resources #8

Red Badger – Killer Features #9

React Parts – All the components you need #10