...

/

ما هو React؟

ما هو React؟

تعرف على ما هو React ولماذا يعد خيارًا شائعًا لبناء واجهات مستخدم ديناميكية وحديثة.

سنغطي ما يلي...

نعلم الآن أن React ، على أقل تقدير، مكتبة JavaScript شائعة لبناء واجهات المستخدم. كما أنها مفيدة بشكل خاص لتطبيقات الصفحة الواحدة (SPAs). تم إنشاؤها وصيانتها بواسطة Facebook (المعروفة الآن باسم Meta)، ونمت لتصبح واحدة من أكثر المكتبات استخدامًا في تطوير واجهات المستخدم الأمامية. في جوهرها، تساعد React المطورين على إنشاء واجهات مستخدم ديناميكية وتفاعلية بجهد أقل وأداء أفضل.

Press + to interact

بخلاف الطرق التقليدية لتحديث واجهة المستخدم مباشرةً عبر DOM، يعتمد React نهجًا تعريفيًا. يصف المطورون الشكل الذي ينبغي أن تبدو عليه واجهة المستخدم في أي حالة، ويتولى React تحديث DOM الفعلي ليتوافق مع ذلك. هذا يُلغي الحاجة إلى كتابة منطق معالجة DOM معقد يدويًا، مما يُسهّل كتابة وصيانة الكود.

نظام React البيئي

يتضمن نظام React أدوات ومكتبات تُكمّل وظائفه. لنستكشف بعض العناصر مفتاح في هذا النظام:

  • React Router: يُمكّنك من التنقل بين صفحات تطبيق React . على سبيل المثال، في منصة التدوين، يُمكنك React Router من التنقل بين صفحات مثل الصفحة الرئيسية، ومنشورات المدونة، وصفحة "حول".

  • Redux: يُساعد في إدارة حالة التطبيق المُعقّدة. تخيّل تطبيق عربة تسوق نحتاج فيه إلى تتبّع المنتجات المُضافة إلى العربة، وتفاصيل المستخدم، وحالة الدفع عبر مُكوّنات مُختلفة. يضمن Redux وصول جميع المُكوّنات إلى البيانات المطلوبة دون إنشاء شبكة مُتشابكة من التبعيات.

  • Next.js: إطار عمل مبني على React للعرض من جانب الخادم وإنشاء مواقع ثابتة. على سبيل المثال، يمكن لمواقع التجارة الإلكترونية التي تستخدم Next.js عرض صفحات منتجات مُعدّة مسبقًا للمستخدمين، مما يُقلل من أوقات التحميل ويُحسّن ترتيبها في محركات البحث.

  • React Native: يُوسِّع نطاق قدرات React ليشمل تطوير تطبيقات الأجهزة المحمولة. على سبيل المثال، يُمكن لتطبيق حجز السفر المُصمَّم باستخدام React Native توفير تجربة مستخدم سلسة على نظامي iOS وAndroid دون الحاجة إلى قواعد برمجية منفصلة لكل منصة.

  • حزمة MERN: تدمج حزمة MERN React مع تقنيات JavaScript و MongoDB لتمكين التطوير الكامل. على سبيل المثال، يمكن لتطبيق إدارة المهام المُصمم باستخدام حزمة MERN استخدام React لواجهة المستخدم، وExpress.js لمنطق الواجهة الخلفية، و Node.js لتشغيل خادم، و MongoDB لتخزين المهام وبيانات المستخدم.

لقد جعل هذا النظام البيئي من React الخيار المفضل لتطوير الويب الحديث، بدءًا من إنشاء مواقع ويب بسيطة وحتى بناء تطبيقات معقدة يستخدمها ملايين المستخدمين.

لماذا React شائع؟

اكتسب React شعبيةً هائلةً لعدة أسباب. لنستكشف اثنتين من ميزاته البارزة: أسلوب واجهة المستخدم التصريحية وبنيته القائمة على المكونات.

واجهة المستخدم التصريحية: تبسيط تحديثات واجهة المستخدم

غالبًا ما يتضمن تطوير الويب التقليدي برمجةً إلزامية، حيث يُحدد المطورون بوضوح كل خطوة لازمة لتحديث نموذج DOM. وقد يُصبح هذا عرضة للأخطاء ويصعب إدارته مع نمو التطبيق.

Press + to interact
Key differences between imperative and declarative programming
Key differences between imperative and declarative programming

من ناحية أخرى، يعتمد React نهجًا تعريفيًا. نصف واجهة المستخدم المطلوبة لحالة معينة، ثم يُحدّث React نموذج DOM بكفاءة ليتوافق معها. على سبيل المثال، إذا تفاعل مستخدم مع زر يُغيّر بعض البيانات، يضمن React أن تعكس واجهة المستخدم الحالة المُحدّثة دون الحاجة إلى كتابة شيفرة مُرهقة لمعالجة نموذج DOM.

الهندسة المعمارية القائمة على المكونات: بناء كود قابل لإعادة الاستخدام ومعياري

في React، يدور كل شيء حول المكونات. المكونات هي اللبنات الأساسية لتطبيقات React . وهي وحدات برمجية مستقلة تُعرّف جزءًا من واجهة المستخدم وسلوكها. على سبيل المثال، يمكن أن يكون كلٌّ من زر، أو شريط التنقل، أو بطاقة ملف تعريف المستخدم مكونًا.

تعمل المكونات على تعزيز إمكانية إعادة الاستخدام والوحدات النمطية:

  • إمكانية إعادة الاستخدام: يمكن إعادة استخدام المكونات عبر أجزاء مختلفة من التطبيق، مما يوفر الوقت ويقلل من تكرار التعليمات البرمجية.

  • الوحدات النمطية: يتم تقسيم التطبيقات إلى أجزاء أصغر يمكن إدارتها، مما يجعل من السهل تطويرها وتصحيح أخطائها وصيانتها.

لننظر إلى الأمر بهذه الطريقة: تخيل أننا نُجمّع سيارة. بدلًا من بنائها من الصفر كل مرة، نستخدم أجزاءً جاهزة كالمحرك والعجلات والمقاعد. وبالمثل، يُتيح لنا React "تجميع" تطبيقنا باستخدام المكونات.

مثال: مكون React بسيط

مثال على مكون في React:

function Welcome() {
return <h1>Welcome to React!</h1>;
}
React functional component displaying a welcome message

عندما يتم عرض هذا المكون في تطبيق React ، فإنه يعرض عنوان Welcome to React!

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

الآن بعد أن فهمت ما هو React ولماذا هو شائع جدًا، دعنا نكتسب بعض الخبرة العملية معه.