php //// End //// ?>
Instructor
هل تريد إتقان تطوير الواجهات التفاعلية باستخدام React؟ انضم إلى هذه الدورة المتكاملة التي يقدمها لك إسماعيل مسعد مهندس البرمجيات المحترف وصاحب الخبرة الواسعة في مجال تطوير الويب. في هذا الكورس سيأخذك إسماعيل خطوة بخطوة من المفاهيم الأساسية إلى التقنيات المتقدمة، ما يمنحك القدرة على بناء تطبيقات ويب حديثة وقوية باستخدام React.
تشرح هذه الدورة كيف يُستخدم React لبناء الواجهات كهيكل مكوّنات قابل لإعادة الاستخدام، مما يغيّر طريقة تفكيرك في تنظيم الواجهة وإدارة التفاعل داخل التطبيق.
هذا الكورس ليس مجرد دروس نظرية بل تجربة تعليمية عملية يقودها إسماعيل مسعد بأسلوبه الواضح والمباشر، ستتعلم بالتطبيقات العملية والأمثلة الحية تساعدك على ترسيخ المفاهيم وبناء مشروعات حقيقية.
Check the frequently asked questions about this course.
We recommend completing the prerequisites for more effective learning.
Explore newly published courses and stay updated.
This course includes 1 modules, 20 lessons, and 0 hours of materials.
أهلًا بك في أولى حلقات كورس React على منصة تعلَّم! في هذه الحلقة، وسأبدأ معك بتوضيح مفهوم "إطار العمل" (Framework) وما المقصود به، مع أمثلة مثل Bootstrap، وهو مجموعة من الأكواد الجاهزة المبنية باستخدام JavaScript وCSS وHTML.
بعد ذلك سنتحدث عن المميزات التي تجعل React مميزة مقارنةً ببقية أُطر العمل، وسنتعرف على مرونة React، وكيف يُمكن استخدامها مع React Native لتطوير تطبيقات الهواتف المحمولة، وأيضًا مع Electron.js لإنشاء تطبيقات سطح المكتب. وسأوضح لك أيضًا لماذا تُعد React سهلة التعلُّم مقارنةً بالخيارات الأخرى، وسنناقش الفرق بينها وبين Angular.
وأخيرًا سأشارك معك بعض المميزات الإضافية التي تجعل React خيارًا رائعًا للمطورين.
في هذه الحلقة سنتحدث عن كيفية تعلُّم React بطريقة صحيحة، وسأرشدك إلى الأدوات والمهارات التي تحتاجها قبل البدء. قبل أن تخوض في عالم React، من المهم أن تكون لديك معرفة بأساسيات JavaScript وHTML وبعض المفاهيم الأساسية في تطوير الويب.
بعد ذلك سأعرِّفك على الأدوات التي يجب عليك تحميلها قبل البدء، وأهمها Node.js، وهو ضروري لاستخدام NPM الذي يُعرف بسجل الحزم، ويُستخدم لإدارة المكتبات والمكونات في مشروعاتك، وسأوضح لك كيفية تحميل Node.js وتثبيته على جهازك خطوة بخطوة.
ثم سننتقل إلى الجزء العملي الذي سأعلمك فيه كيف يمكنك إنشاء أول مشروع React لك من الصفر، وسأشرح لك طريقة سهلة لفتح المشروع وتشغيله بسلاسة.
في هذه الحلقة سأشرح لك بالتفصيل الملفات التي تجدها داخل أي مشروع React، وسنتعرف معًا على وظيفتها وأهميتها، وسنبدأ بالحديث عن مجلد node_modules، وهو أحد الملفات الأساسية داخل مشروع React، لأنه يحتوي على جميع الحزم والمكتبات التي يحتاج إليها المشروع ليعمل بطريقة صحيحة. وسأوضح لك ما يؤديه هذا المجلد ولماذا لا تحتاج إلى التعديل عليه يدويًّا.
بعد ذلك سنتعرف على باقي الملفات المهمة مثل package.json الذي يحتوي معلومات المشروع وقائمة بالحزم المثبتة، إضافة إلى مجلد public والملفات الأخرى التي تؤدي دورًا في تشغيل المشروع.
ثم سنركز على ملف index.js، وسأشرح لك أهميته في React وكيف يعمل مركزًا أساسيًّا لبدء تشغيل التطبيق.
وفي النهاية سأرتب لك العمليات التي تحدث عند تشغيل مشروع React ليكون لديك فهم أوضح لطريقة عمله.
فهم ماهيّة Component-Based Architecture
في هذه الحلقة سنتعرف معًا على مفهوم Component-Based Architecture في React، وهو الأساس الذي يقوم عليه بناء التطبيقات في هذا الإطار. وسأبدأ بشرح أنواع المكونات (Components) في React التي تنقسم إلى نوعين رئيسين: Class Components وFunction Components.
وسنركز على Class Components وسأوضح لك مكوناتها الأساسية مثل state، وكيفية استخدام render لعرض المحتوى، ثم سنتحدث أيضًا عن أهمية أكواد HTML داخل React وكيفية استخدامها داخل المكونات.
وبعد ذلك سننتقل إلى الجزء العملي، وسأشرح لك كل ما تحتاج إلى معرفته خطوة بخطوة لتوضيح المفاهيم بأسلوب تطبيقي.
وفي نهاية الحلقة سأراجع معك النقاط الأساسية التي ناقشناها لضمان استيعابك لها استيعابًا كاملًا.
في هذه الحلقة سأبدأ معك بشرح كيفية عمل index.js ودوره داخل مشروع React، مع توضيح كيفية كتابة الكود الخاص به بطريقة مبسطة.
وبعد ذلك سنتعرف على react.strictmode، وما فائدته عند تطوير تطبيقاتك. ثم سنتعمق في الجزء العملي، وسأشرح لك بالتفصيل كيفية إنشاء مكون داخل React خطوة بخطوة، مع التركيز على الطريقة الصحيحة لكتابته وتنظيمه داخل المشروع، وهدفي هو أن تتمكن من تنفيذ ذلك بسهولة دون تعقيد.
وفي نهاية الحلقة سأراجع معك أهم النقاط التي تناولناها، وأرتبها بطريقة واضحة حتى تكون لديك رؤية كاملة لما تعلمته اليوم.
في هذه الحلقة سنتعرف على كيفية التعامل مع الحزم داخل React، وكيفية استخدامها داخل مشروعاتك. وسأبدأ بشرح طريقة ربط الحزم داخل ملف index.js بالتفصيل، مع تقديم أمثلة عملية مثل استخدام Bootstrap لإضافة الأنماط الجاهزة إلى المشروع.
وبعد ذلك سأوضح لك كيفية التحقق من أن الحزم تم ربطها ربطًا صحيحًا داخل مشروعك، وسأشرح الطريقة المثلى لفحص ذلك والتحقق من عملها دون مشكلات.
وفي نهاية الحلقة سنتحدث عن كيفية إضافة الأيقونات والرسوم المتحركة (الأنيميشن) إلى مشروعك، وسأوضح الفرق بين أدوات التحريك المتاحة في React، وسأرشدك إلى أفضل الخيارات التي يمكنك استخدامها للحصول على تأثيرات سلسة واحترافية.
في هذه الحلقة سنبدأ بالحديث عن stateless components، وكيف يمكن استخدامها داخل مشروعات React. وبعد ذلك سنتعرف على كيفية ربط الروابط بالكلمات داخل صفحة الويب، وهي خطوة أساسية في تطوير الواجهات التفاعلية.
بعد ذلك سنتعمق في موضوع binding، وسأشرح لك مفهومه، وأنواعه المختلفة، وكيفية استخدامه عمليًّا لإنشاء صفحات ويب ديناميكية. وسنطبق ذلك مع أمثلة عملية حتى يصبح المفهوم واضحًا لك تمامًا.
وفي نهاية الحلقة سأراجع معك أنواع binding التي ناقشناها وألخص لك أهم النقاط التي تحتاج إلى تذكرها.
في هذه الحلقة سنتعرف على setState، وما الذي يمكنها فعله داخل React. وسأبدأ بشرح مفهومها وأهميتها في تحديث حالة المكونات، مع تقديم أمثلة عملية توضح كيفية استخدامها بفعالية.
بعد ذلك سأشرح لك الكود البرمجي الخاص بـsetState خطوة بخطوة بطريقة مبسطة، حتى تتمكن من فهمه وتطبيقه بسهولة في مشروعاتك.
تابع معي لتتعلم كيف تتحكم في حالة المكونات داخل React بطريقة صحيحة وسلسة.
في هذه الحلقة سنناقش مفهوم إنشاء سلسلة من المكونات داخل React، وسأبدأ بطرح بعض الأسئلة المهمة: هل يمكن إنشاء مكون داخل مكون آخر مثل داخل home؟ ولماذا قد نحتاج إلى ذلك؟
وسأجيب على هذه الأسئلة، وأوضح لك أهمية هذه التقنية في تنظيم الكود وتحسين بنية المشروع.
وبعد ذلك سننتقل إلى التطبيق العملي، لأعلمك كيفية إنشاء سلسلة من المكونات داخل المشروع الذي نعمل عليه، مع شرح تفصيلي لطريقة استخدامها بطريقة صحيحة.
وسنتعرف على مفهوم props، وكيفية تمرير البيانات بين المكونات بطريقة ديناميكية، مع شرح مفصل لكيفية استخدامها في المشروعات الفعلية.
وفي نهاية الحلقة سأراجع معك أهم النقاط التي تناولناها لضمان استيعابك استيعابًا كاملًا.
في هذه الحلقة سنتعرف على الفرق بين Real DOM وVirtual DOM، ولماذا يُعد الأخير حلًّا فعالًا للمشكلات التي تواجه المبرمجين عند التعامل مع تحديثات واجهات المستخدم. وسأبدأ بتقديم بعض الأمثلة التوضيحية لشرح مفهوم كل منهما وكيف يعملان.
وبعد ذلك سأوضح لك المشكلات التي قد تحدث عند استخدام Real DOM، مثل بطء التحديثات وتأثيرها على أداء الصفحة، ثم سأشرح لك كيف يساعد Virtual DOM في حل هذه المشكلات بطريقة أكثر كفاءة.
وفي النهاية سنتحدث عن أهمية هذه التقنية في تحسين تجربة المستخدم، وكيف تسهم في جعل صفحات الويب أكثر سلاسة واستجابة، ما يؤدي إلى تحسين رضا المستخدمين عن أداء التطبيق.
في هذه الحلقة سنتعرف على مفهوم Single Page App، وما الذي نعنيه بهذا المصطلح ولماذا يُعد مهمًا في تطوير الويب الحديث. وسأشرح الفكرة الأساسية وراء هذه التطبيقات، وأوضح لك أهميتها مقارنةً بالتطبيقات التقليدية.
وبعد ذلك سنتحدث عن الفرق بين تطبيقات الويب (Web Apps) وتطبيقات سطح المكتب (Desktop Apps)، مع توضيح مميزات كل نوع وأفضل السيناريوهات لاستخدامه.
ثم سننتقل إلى الجانب العملي، لنتعلم كيف يمكن إنشاء تطبيق صفحة واحدة بكفاءة، مع تقليل عمليات التحميل قدر الإمكان لتحسين الأداء.
وفي نهاية الحلقة سأذكر لك بعض الأمثلة الحقيقية لمواقع شهيرة تستخدم Single Page Apps حتى تتعرف على كيفية تطبيق هذا المفهوم في المشروعات الكبيرة.
في هذه الحلقة سنتعرف على كيفية التنقل بين الصفحات داخل تطبيق React باستخدام routing دون الحاجة إلى إعادة تحميل الصفحة بالكامل. وسأبدأ بشرح مكوني الرابط الأساسيين: domain وpath، وسأوضح دور كل منهما وكيفية التعامل معهما داخل التطبيق.
بعد ذلك سنتعمق في مفهوم routing، وسأشرح لك كيف يعمل، وكيف يؤثر في الصفحة عند التنقل بين الروابط المختلفة. وسنطبق ذلك عمليًا حتى ترى كيف يمكن التنقل بين الصفحات بسلاسة دون إعادة تحميل الصفحة بالكامل.
وفي نهاية الحلقة سأعرض لك النتيجة النهائية للتطبيق، وألخص أهم النقاط التي ناقشناها لضمان فهمك الكامل لعملية routing داخل React.
في هذه الحلقة سنواصل الحديث عن مفهوم routing في React، وسأبدأ بإعطاء مثال عملي على مواقع الويب التي تعتمد على صفحة واحدة مثل موقع react.dev.
وسنوضح ما الأجزاء التي تتغير داخل الموقع عند التنقل بين الصفحات، وما الذي يظل ثابتًا عند استخدام routing.
وفي نهاية الحلقة سأعطيك لمحة عن محتوى الحلقة القادمة، وسننتقل إلى التطبيق العملي لتنفيذ routing باستخدام الكود.
في هذه الحلقة سنستكمل الحديث عن الـrouting، لكن هذه المرة من الناحية العملية سنبدأ بتطبيقه ككود برمجي خطوة بخطوة مع شرح واضح لكيفية تنفيذه داخل مشروع React.
بعد الوصول إلى النتيجة النهائية لتطبيق الـrouting، وسنتحدث عن الـnav bar والـfooter، وأهميتهما في تنظيم عملية التنقل داخل الموقع.
وفي نهاية الحلقة سنتطرق إلى كيفية تثبيت بعض العناصر داخل الكود لضمان ثبات مكونات معينة أثناء التنقل بين الصفحات.
في هذه الحلقة سنتحدث عن كيفية التعامل مع أخطاء المسارات في React، وسنبدأ ببرمجة كود لمعالجة أخطاء الـ path بطريقة صحيحة، مع توضيح كيفية إرفاق الصور داخل React بطريقة سليمة. وسنناقش الفرق في التعامل مع الصور داخل React مقارنةً بالأكواد العادية.
وبعد ذلك سنتعرف على ماهية خاصية alt وأهميتها في تحسين محركات البحث (SEO)، ولماذا يجب استخدامها عند إضافة الصور داخل المشروع.
وفي نهاية الحلقة سنكون قد غطينا كل ما يتعلق بمكون Not Found لضمان تجربة مستخدم أفضل عند التعامل مع الصفحات غير الموجودة.
في هذه الحلقة سنبدأ بشرح الفرق بين المواقع التي تعتمد على صفحة واحدة، ويكون التحميل أقل، والمواقع التي تعتمد على إعادة تحميل الصفحات بأسلوب متكرر، وسأوضح لك هذه الفكرة بواسطة أمثلة حية من مواقع شهيرة مثل موقع اليوم السابع.
وبعد ذلك سنتعرف على العناصر التي قد تتسبب في إعادة تحميل الصفحة تلقائيًا دون الحاجة لذلك، وكيفية التحكم بها داخل React.
ثم سنتحدث عن تأثير بعض المكتبات مثل Bootstrap، وسأوضح التعديلات التي أجريتها لجعلها أكثر فعالية دون التأثير على أداء الموقع.
في هذه الحلقة سنتعرف على دورة حياة الـ component في React، بدءًا من لحظة إنشائه حتى لحظة حذفه من الصفحة. وسأوضح لك كيف يتصرف كل مكون داخل التطبيق، وشبَّهت هذه الدورة بحياة الإنسان، وتمر بثلاث مراحل رئيسة:
مرحلة الـmounting، وهي اللحظة التي يتم فيها إنشاء المكون وإضافته إلى الواجهة.
مرحلة الـupdating، حيث يتم تحديث المكون عند حدوث أي تغيير في البيانات أو الخصائص الخاصة به.
مرحلة الـunmounting، وهي عندما يتم إزالة المكون نهائيًا من الصفحة.
وسأشرح كل مرحلة بالتفصيل، مع أمثلة توضيحية لكيفية التعامل مع هذه التغيرات داخل React.
وفي نهاية الحلقة سأشارك معك بعض المعلومات الإضافية عن المكونات لضمان فهمك العميق لدورة حياتها وكيفية التحكم بها بفعالية داخل مشروعاتك.
في هذه الحلقة سنتناول الفرق بين الـclass components والـfunction components، وسأوضح أوجه المقارنة الأساسية بينهما، ثم سنبدأ بمناقشة نقاط عدة مهمة، مثل:
الـbinding والـevent binding وكيفية التعامل معهما في كل نوع.
كيفية إرسال واستقبال البيانات بين المكونات.
وسأكرر المعلومة التي ذكرتها سابقًا، وهي أن الـclass components هي الأقدم، في حين الـfunction components هي الأحدث والأكثر استخدامًا في React الحديثة.
وبعد ذلك سأستعرض بعض الخصائص الإضافية التي تميز function components عن class components، ما يجعلها خيارًا أكثر كفاءة في كثير من الحالات.
وسأشرح كل هذه الفروق بطريقة سلسة وواضحة، ثم سنجري مقارنة عملية بين النوعين لنرى الفروق بأسلوب تطبيقي.
وفي النهاية سأوضح أن كلاهما ينتمي إلى فئة المكونات (components)، لكن لكل منهما طريقته الخاصة في التعامل مع البيانات والتحديثات داخل React.
في هذه الحلقة سنتعرف على كيفية إرسال واستقبال البيانات داخل مكونات React، وسأبدأ بشرح الطريقة الخاصة بالـclass components، مع توضيح الخطوات المطلوبة بطريقة عملية خطوة بخطوة.
وبعد ذلك سنتناول الفرق بين طريقة الإرسال والاستقبال في الـclass والـfunction، وسأوضح أن الـclass كانت الطريقة الأقدم والأصلية في React، في حين تم تقديم الـfunction كونها طريقة أحدث وأكثر كفاءة.
ثم سأنتقل إلى شرح طريقة الإرسال والاستقبال داخل الـfunction components، وسأوضح طرق عدة مختلفة، منها الطرق المختصرة والطرق المطولة، مع شرح كل منها بالتفصيل.
وفي نهاية الحلقة سأراجع معك أهم الفروق بين الـclass والـfunction في التعامل مع البيانات، حتى تتمكن من اختيار الطريقة الأنسب لمشروعك.
في هذه الحلقة الأخيرة من الكورس سنسترجع معًا جميع المعلومات والخطوات التي قمنا بها خلال رحلتنا في تعلم React.
وسأذكّرك بكل المفاهيم الأساسية التي تعلمتها، وسأوضح لك المهارات التي لا تزال بحاجة إلى تطويرها حتى تصبح محترفًا في بناء تطبيقات React.
وسأشير أيضًا إلى بعض الأدوات التي يمكن أن تغنيك عن استخدام أدوات أخرى، ما يساعدك على تحسين كفاءة عملك.
إضافة إلى ذلك سأرشّح لك بعض الكورسات التي يمكن أن تساعدك في تطوير مهاراتك أكثر في مجال تطوير الواجهات الأمامية (Front-End Development).
وفي ختام الكورس أشكرك على جهدك والتزامك طول الرحلة، وأتمنى لك التوفيق والنجاح في مسارك البرمجي، هذه مجرد بداية، والمستقبل ممتلئ بفرص التميز والإبداع!
Reply to Comment