ما هي الرياكت ؟ ما مميزاتها ؟ لماذا هي المستقبل ؟ ( React )

يومًا بعد يومٍ نجد تطور الجافا سكريبت ملحوظًا لكافة المطورين والمبرمجين ، فتظهر مكتبات جديدة لتعالج مشاكل قديمة وتسهل وظائف جديدة ليتوسع انتشارها بين معشر المبرمجين فيقلوا من استخدام مكتبات أخرى ، في السنوات القليلة الماضية فإنني متيقن عندما أقول أن صيت الReact.Js قد وصل إليك بأنها تعتبر المستقبل ، وهذا ليس مفاجأةً فمكتبة الReact انتشرت سريعًا على الرغم من حداثتها فنجد أن أكثر من 270 ألف موقع على الإنترنت وألاف المطورين حول العالم بدؤا في استخدمها والاعتماد عليها كذلك الكثير من الشركات العالمية الضخمة مثل Facebook و PayPal وUberيستخدمونها سواءً في تطبيقاتهم أو مواقعهم ، وهذا ما يجعلك حقًا تتساءل هل مكتبة الReact.Js تستحق أن أبذل وقتًا في تعلمها والاطلاع عليها وتعلمها ؟!
إن كانت هذه هي مرتك الأولى التي تطلع فيها على مكتبة الReact فإنني في هذا المقال سأعطيك نظرة كافية شاملة حول هذه المكتبة المستقبلية موضحًا لك ماهيتها كذلك نقاط القوة الموجودة فيها كذلك المستقبل المشرق الذي ينتظر مطوريها 😊 .

كل ما تود معرفته عن الرياكت
كل ما تود معرفته عن الReact

ما هي React.Js ؟

الReact هي مكتبة مفتوحة المصدر وهذا يجعلها متطورة دائمًا ، تم إطلاقها لعالم المبرمجين في أول مرة عام 2013 من قبل الفيسبوك ، حيث تحل ال Reactالكثير من المشاكل التي تواجه المبرمجين في بناء واجهة المستخدم ، فباستخدامها ستبني واجهات صعبة ومعقدة دون الحاجة لكتابة الكثير من أكواد الJavaScript .
الReact مبنية بالأساس على مفاهيم الComponent فهي تعمل على تنظيم عناصر HTML في مكونات وسيتم توضيح هذا في السطور المقبلة ، وعلى الرغم من أن كل من يسمع عن الReact قد يظن أنها محصورة فقط في بناء وجهات المواقع إلا أنه يوجد الReact Native وهي إطار عمل تم تطويره كامتداد للرياكت ، يُمكن للمطورين عبر استخدامه بناء تطبيقات متكاملة كالتي يتم بناءها بالجافا أو الكوتلين أو حتى السويفت في الiOS ، يُمكننا القول أن مطور الReact قادر على بناء واجهات مواقع مثالية مناسبة لتقنيات وتطويرات المستقبل كذلك صناعة تطبيقات الهواتف سواءً كانت أندرويد أو iOS .
بعدما تعرفت على ماهية الReact بطريقة سليمة ، فإنك قد تتساءل الآن عن السبب الذي يدفعك حقًا إلى تعلم الرياكت ، ما الفوائد التي ستعود عليك كمطور جافا سكريبت من تعلمها أو حتى ماذا ستستطيع أن تفعل بها ، إليك أهم نقاط القوة الموجودة في الReact .

أهم نقاط القوة الموجودة في الReact

JSX

هو أحد تفاصيل الReact الممتعة ، فهي ميزة اختيارية موجودة لمطوري الReact حيث تدمج بين لغة الهيكلة والتصميم HTML بلغة الدينامكية والبرمجة JavaScript بمعنى أنك ستكون قادر على كتابة كود الHTML بالوسوم المعتادة داخل صفحة الJavaScript والكود الناتج هنا ليس كود JavaScript أو HTML  وإنما نطلق عليه JSX .
مثال لكود JavaScript العادي :
var Name = "Esraa";
var color = "Red";
var htmlElement = "<div class=\"" + Name + "\">" + color + "</div>";

أرأيت كم يبدو كود الجافا سكريبت العادي مُعقدًا قليلًا ، قد يشتت انتباهك وتركيزك أثناء التكويد ، خصوصًا إذا نسيت علامة معينة ، أما كود الJSX فيظهر بهذا الشكل :
var htmlElement = <div class=””> {Name} + {Color} </div>
يظهر لك هنا أن الكود يبدو أخف وأسهل في القراءة ؛ لذا فالJSX هي ميزة تجعل استخدام الReact في تنظيم عناصر HTML سهلًا وممتعًا وُمريحًا لكافة المطورين .

واجهات معتمدة على الComponents

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

Virtual Dom

إذا كنت لا تستخدم الReact.Js فإن موقع الويب الذي تعمل عليه يستخدم الHTML لتحديث الDOM على الشاشة دون أن يضطر  المستخدم إلى تحديث الصفحة يدويًا ، هذا سيعمل بشكل جيد وسلس مع مواقع الويب البسيطة والثابتة والتي ليس بها تفاعلية ودينامكية كبيرة ، فعند العمل على مواقع ويب دينامكية بها تفاعل كبير سيصبح هنالك مشكلة لأن صفحة الDOM بأكلها تحتاج إلى إعادة تحميل في كل مرة ينقر فيها المستخدم على ميزة تحتاج إلى تحديث الصفحة .
الرياكت تنشئ ما يسمى الVirtual DOM ، وهذا يستخدم لمعرفة أجزاء الصفحة الفعلية التي تحتاج إلى تغيير عند حدوث حدث أو Event كالنقر على زر مثلًا ، لنفرض أن أحد المستخدمين أدخل تعليقًا في نموذج مشاركة مدونة وضغط على الزر " تعليق "، بدون استخدام الرياكت سيتعين على صفحة الDOM بأكملها التحديث من أجل حدوث هذا التغيير وبالطبع هناك وقت يأخذه ليحدث ذلك ، أما عند استخدام الرياكت فسيتم مسح الDom الظاهري لمعرفة ما سيحدث بعدما يجري المستخدم الحدث المطلوب ويتم إضافة تعليق داخل الكود ثم يتم تحديث هذا الجزء في صفحة الDom فقط .
ربما لم تضح الأمور ، لكن ستفهم هذا بالضبط عند تعلم الرياكت والتطبيق عليها 😊 .

تعدد الاستخدامات

الكثير من المبرمجين يسعى لامتلاك مهارة في أكثر من مجال متعلق بالبرمجة سواءً لجعل أعماله متكاملة ، كما ذكرنا أن الرياكت تدخل في أكثر من مجال ، بدايةً يُمكنك استخدامها في تطوير الواجهات الخاصة بالمواقع كما هو الحال في الكثير من المواقع كالفيسبوك وإنستجرام وتويتر ، أيضًا يُمكن استعمالها في تطوير تطبيقات الهاتف عن طريق الReact Native والتي تعتبر إطار عمل تابع للرياكت ، فمن خلالها ستطور تطبيقات للأندرويد أو الiOS على أعلى مستوى ، إضافةً لذلك فإن الرياكت تستطيع التعامل مع برمجيات السيرفر من خلال استخدام الNode ، أرأيت صديقي كم أن الرياكت متعددة الاستخدامات وكم هي في تطور دائم .

كيف هو مستقبل الReact.Js ؟

دعنا نحلل الموضوع من جوانب عديدة حتى تتضح لك رؤية جيدة ، بدايةً من ناحية الانتشار والاستخدام فقد أثبتت الReact.Js انتشار واسع جدًا منذ مدة إطلاقها في عام 2013 فهناك آلاف المطورين ومئات آلاف المواقع ، واستخدام شركات كبيرة مثل الفيسبوك سواءً في موقعها أو الانستجرام أو البايبال أو تويتر يوحي لنا ثقة هذه الشركات الكبيرة في إمكانيات تلك المكتبة التي تُساعدهم في فعل أشياء رهيبة ، أيضًا فتعدد استخداماتها سواءً في الويب أو تطبيقات الهواتف يعطي لها بريقًا خاصًا من بين المكاتب الأخرى ، من الناحية المادية فرواتب مطوري الرياكت مرتفعة ومُقدرة حقًا لجهودهم ( لن أذكر متوسط رقم معين لأنها تختلف من دولة إلى أخرى ) ؛ لذا فجملة القول أن الReact.Js تملك حقًا مستقبلًا مشرقًا في عالم البرمجة .
وصلنا إلى نهاية المقال لكنها ليست نهاية المواضيع المتعلقة بالبرمجة ودهاليزها ؛ لذا أدعوك لمشاركة رأيك عن الReact.Js ورؤيتك تجاهها في التعليقات كذلك مشاركة المقال مع أصدقائك المبرمجين المهتمين بهذه المواضيع .

ليست هناك تعليقات:

إرسال تعليق