React Native

React Native هو إطار عمل برمجي مفتوح المصدر لواجهة المستخدم، طوّرته شركة Meta Platforms (المعروفة سابقًا باسم Facebook Inc.). [ 3 ] يُستخدم لتطوير تطبيقات لأنظمة Android ، [ 4 ] : ​​§الفصل 1 [ 5 ] [ 6 ] وAndroid TV ، [ 7 ] وiOS ، [ 4 ] : ​​§الفصل 1 [ 6 ] وmacOS ، [ 8 ] وtvOS ، [ 9 ] وVega OS ، [ 10 ] [ 11 ] والويب ، [ 12 ] و Windows، [ 8 ] و UWP، [ 13 ] وذلك بتمكين المطورين من استخدام إطار عمل React جنبًا إلى جنب مع إمكانيات النظام الأساسي الأصلية. [ 14 ] يُستخدم لتطوير تطبيقات Android وiOS في شركات Facebook و Microsoft و Shopify . [ 15 ] كما يُستخدم أيضًا لتطوير تطبيقات الواقع الافتراضي في شركة Oculus . [ 16 ]

تاريخ

في عام ٢٠١٢، علّق مارك زوكربيرج قائلاً: "كان أكبر خطأ ارتكبناه كشركة هو المبالغة في الاعتماد على HTML5 بدلاً من التقنيات الأصلية". [ ١٧ ] [ ١٨ ] وقد أدى استخدام HTML5 في نسخة فيسبوك للهواتف المحمولة إلى تطبيق غير مستقر وبطيء في استرجاع البيانات. [ ١٩ ] ووعد زوكربيرج بأن فيسبوك سيقدم قريباً تجربة استخدام أفضل للهواتف المحمولة.

داخل شركة فيسبوك، طوّر جوردان والكي برنامجًا يُنشئ عناصر واجهة المستخدم لنظام iOS من خلال خيط جافا سكريبت يعمل في الخلفية ، والذي أصبح فيما بعد أساسًا لإطار عمل React لتطوير تطبيقات الويب . وقرروا تنظيم هاكاثون داخلي لتحسين هذا النموذج الأولي بهدف بناء تطبيقات أصلية باستخدام هذه التقنية. [ 20 ]

في عام ٢٠١٥، وبعد أشهر من التطوير، أصدرت فيسبوك النسخة الأولى من إعدادات جافا سكريبت لـ React . وخلال محاضرة تقنية، [ ٢١ ] أوضح كريستوفر شيدو أن فيسبوك كانت تستخدم بالفعل React Native في تطبيقاتها الإنتاجية، وتحديدًا تطبيق المجموعات وتطبيق إدارة الإعلانات. [ ٢٢ ]

في أكتوبر 2025، أعلنت شركة ميتا أنها ستتبرع بـ React و React Native و JSX ( JavaScript XML ) إلى مؤسسة React الجديدة، وهي جزء من مؤسسة Linux . [ 23 ]

تطبيق

تتشابه مبادئ عمل React Native إلى حد كبير مع React، باستثناء أن React Native لا تتعامل مع DOM عبر Virtual DOM . [ 4 ] : ​​§الفصل 2. تعمل React Native في عملية خلفية (تفسر كود JavaScript الذي يكتبه المطورون) مباشرةً على الجهاز النهائي، وتتواصل مع المنصة الأصلية [ 4 ] : ​​§الفصل 2 عبر بيانات مُسلسلة من خلال جسر غير متزامن ومُجمّع . [ 24 ]

تُغلّف مكونات React الشيفرة الأصلية الموجودة وتتفاعل مع واجهات برمجة التطبيقات الأصلية عبر نموذج واجهة المستخدم التصريحي لـ React ولغة JavaScript . [ 25 ] غالبًا ما تُستخدم TypeScript بدلًا من JavaScript في تطبيقات React Native الحديثة نظرًا لزيادة أمان أنواع البيانات فيها . [ 26 ]

على الرغم من أن تنسيق React Native يشبه CSS في بنيته ، إلا أنه لا يستخدم HTML أو CSS . [ 4 ] : ​​§الفصل 5 [ 27 ] بدلاً من ذلك، تُستخدم الرسائل من سلسلة JavaScript لمعالجة العروض الأصلية. وباستخدام الإضافات، يمكن أيضًا استخدام Tailwind مع React Native.

يتوفر React Native أيضًا لأنظمة التشغيل Windows و macOS ، والذي تتولى شركة Microsoft صيانته حاليًا .

مثال على عبارة "مرحباً بالعالم!"

يبدو برنامج "Hello, World!" في React Native كالتالي:

import { AppRegistry , Text , View , Button } from 'react-native' ;استيراد React من 'react' ;const HelloWorldApp = () => {const [ count , setCount ] = React . useState ( 0 );const incrementCount = () => {setCount (( prevCount ) => prevCount + 1 );};يعود (< عرض >< نص > مرحباً بالعالم !< /نص>< نص > { عدد } < / نص>< Button onPress = { incrementCount } title = "زيادة العدد" /></View>);};export default HelloWorldApp ;AppRegistry.registerComponent ( 'HelloWorld' , ( ) = > HelloWorldApp );

مثال على TypeScript

في لغة TypeScript، يبدو مكون العداد كالتالي:

import { Button , Text , View } from "react-native" ;import React from "react" ;واجهة خصائص العداد {العنوان : سلسلة نصية ؛ // خاصية مطلوبةbaseNumber? : number ; // خاصية اختيارية}const Counter : React.FC < CounterProps > = ({ title , baseNumber }) => {const [ count , setCount ] = React . useState < number > ( baseNumber || 0 );const incrementCount = () : void => setCount (( prevCount ) => prevCount + 1 );يعود (< عرض >< نص > { عدد } < / نص>< Button onPress = { incrementCount } title = { title } > </Button></View>);};

انظر أيضاً

الاقتباسات

  1. "React Native: جلب تقنيات الويب الحديثة إلى الأجهزة المحمولة" . 26 مارس 2015.
  2. "الإصدار 0.86.2" . 27 يوليو 2026. تم الاطلاع عليه في 28 يوليو 2026 .
  3. "الفصل الأول: ما هو React Native؟" . oreilly.com . O'Reilly Media, Inc. تم الاطلاع عليه بتاريخ 30 يوليو 2020 .
  4. 1 2 3 4 5 أيزنمان 2016 .
  5. "إصدار أندرويد لـ React Native" . 14 سبتمبر 2015.
  6. 1 2 شانكلاند، ستيفن (29 مارس 2018). "خطوة موزيلا الجذرية نحو المصادر المفتوحة ساعدت في إعادة صياغة قواعد التكنولوجيا" . سي نت . تم الاسترجاع في 11 مايو 2022 .
  7. "بناء تطبيقات لأجهزة التلفزيون · React Native" . reactnative.dev . تم الاطلاع عليه بتاريخ 2020-10-02 .
  8. 1 2 "React Native لنظامي التشغيل Windows و macOS · بناء تطبيقات أصلية لنظامي التشغيل Windows و macOS باستخدام Javascript و React" . microsoft.github.io . تم ​​الاطلاع عليه بتاريخ 2020-10-02 .
  9. "React Native for Apple TV" . React Native for Apple TV . مؤرشف من الأصل بتاريخ 21 سبتمبر 2020. تم الاطلاع عليه بتاريخ 2 أكتوبر 2020 .
  10. "نظرة عامة على React Native | مرجع React Native Vega" . developer.amazon.com . تم الاطلاع عليه بتاريخ 1 أبريل 2026 .
  11. "نظرة عامة على React Native لـ Vega | دليل البدء السريع لـ Vega" . developer.amazon.com . تم الاطلاع عليه بتاريخ 1 أبريل 2026 .
  12. "React Native for Web" . GitHub . تم الاطلاع عليه بتاريخ 2019-11-06 .
  13. فريق تطبيقات ويندوز (13 أبريل 2016). "React Native على منصة ويندوز العالمية" . blogs.windows.com . تاريخ الاسترجاع: 6 نوفمبر 2016 .
  14. "المنصات الخارجية" . reactnative.dev . شركة فيسبوك . تم الاطلاع عليه بتاريخ 30 يوليو 2020 .
  15. "عرض توضيحي لـ React Native" . react.native.dev . تم الاطلاع عليه بتاريخ 2023-04-04 .
  16. "React Native في النصف الثاني من عام 2021 · React Native" . reactnative.dev . تم الاطلاع عليه بتاريخ 20 أغسطس 2021 .
  17. "أكبر خطأ ارتكبه زوكربيرج؟ 'المراهنة على HTML5'"" . Mashable . تم الاطلاع عليه بتاريخ 7 أبريل 2018 .
  18. زوكربيرج، مارك (12 سبتمبر 2012). "جلسة حوارية مع مؤسس فيسبوك ومديره التنفيذي مارك زوكربيرج" . تيك كرانش (مقابلة) . تاريخ الاسترجاع: 16 أغسطس 2021 .
  19. وارين، كريستينا. "أكبر خطأ ارتكبه زوكربيرج؟ 'الرهان على HTML5'"" . Mashable . تم الاطلاع عليه بتاريخ 29-10-2020 .
  20. "قصة قصيرة عن React Native" . jobninja.com . مؤرشف من الأصل في 5 يونيو 2023. تم الاطلاع عليه في 16 يناير 2018 .
  21. كريستوفر، شيدو. "نظرة معمقة على React Native" . يوتيوب . تم الاطلاع عليه بتاريخ 16 يناير 2018 .
  22. "React Native: جلب تقنيات الويب الحديثة إلى الأجهزة المحمولة" . 26 مارس 2015.
  23. «ستنقل شركة ميتا شركة رياكت إلى مؤسسة لينكس لمعالجة مخاوف هيمنة الموردين» . ذا ريجستر . 9 أكتوبر 2025.
  24. "الربط في React Native" . 14 أكتوبر 2015. تم الاطلاع عليه في 16 يناير 2018 .
  25. "كيفية إنشاء ماسح ضوئي للمستندات باستخدام React Native" . sdk.docutain.com . INFOSOFT . تم الاطلاع عليه بتاريخ 6 سبتمبر 2024 .
  26. "استخدام TypeScript" . reactnative.dev . Meta Platforms, Inc. تم الاطلاع عليه في 14 يوليو 2023 .
  27. "أسلوب React Native" . تم الاطلاع عليه بتاريخ 24 فبراير 2021 .

مراجع

  • أيزنمان، بوني (2016). تعلم React Native . أورايلي . ISBN 978-1-491-92900-1.