كبسولة البرمجة
كبسولة البرمجة

@capsuleprog

23 تغريدة 16 قراءة Oct 25, 2021
السلام عليكم والصلاة والسلام على اشرف خلق الله
كما وعدتكم سابقا بتقديم دروس عن Node.js و Express.Js و MongoDB فاليوم ساوفي بوعدي وابدأ في طرح دروس بشكل مستمر على حسابي على تويتر @capsuleprog , اليوم هو فقط مقدمة سنتعرف على ما هو Node.js وسنقوم بتجهيز بيئة العمل .
لكن قبل ذالك اذا كنت مهتم بمجال البرمجة ومجال تطوير مواقع الويب وتطبيقات الهواتف الذكية فلا تنسى تعملي فلو @capsuleprog حتى تصلك ثريداتي القادة .
اولا ما هو Node.
ال Node.js ليس في الواقع إطار عمل أو مكتبة، ولكنه بيئة تشغيل، تعتمد على محرك V8 JavaScript من Chrome وهو محرك يقوم بتشغيل وترجمة Javascript في المتصفح خصوصا متصفح Google Chrome ثم اعتمدته ايضا Edge مؤخرا . Node.js اخدت المحرك وطورت عليه كثيرا حتى اصبح يترجم
ال Javascript في اي مكان بعدما كانت تقتصر على المتصفح فقط , الان اصبحت Javascript تستخدم في Back-end و في تطوير تطبيقات الهواتف الذكية وتطبيقات سطح المكتب , وتحليل البيانات و الذكاء الاصطناعي وغيرها من المجالات ...
تم تطوير Node.js سنة 2009 من طرف مبرمج امريكي يدعى Ryan Dahl ويقيم في المانيا , من اكثر الشركات شهرة التي تشتغل ب Node.js توجد لينكدين و Uber و Ebay و Netflix وغيرها ... ولفهم شامل ومعمق ل Node.js انصحك بقراءة هذه المقالة من مدونتنا .
capsuleprog.com
تهيئة بيئة العمل .
اولا لبرمجة اول سيرفر لنا عن طريق Node.js نحتاج الى تجهيز بيئة العمل . اول نحتاج الى تحميل Node.js من الموقع الرسمي nodejs.org من هنا وانصحك بتحميل نسخة LTS او long time support بعد تحميلة قم بتنصيبه الامر بسيط لا يحتاج لشرح فقط قم بالضغط على Next
الى حين الانتهاء من التنصيب , عند التنصيب يتم تلقائيا تنصيب اداة npm التي سنحتاجها كثيراااااا في هذه الدورة , npm هي اختصار ل node packages manager وكشرح عام لها هي عبارة على سوق كبير للمبرمجين ندخل له نقوم باخد ما نحتاجه من مكتبات وpackages و Modules ونقوم بتنصيبها في مشروعنا .
للتاكد من تنصيب node.js و npm قم بفتح الترمنال او cmd او git او غيرها من ادوات سطر الاوامر وقم بكتابة الامر التالي :
node --version
هذا الامر هو لمعرفة نسخة Node التي تستخدمها وسيعطيك نتيجة مشابهة لهذا الشكل v14.18.1 وبنفس الطريقة يمكنك معرفة نسخة npm عن طريق الامر التالي :
npm --version
الان تاكدنا من تنصيب Node.js و Npm الان نحتاج الى اداة ثانية وهي محرر الاكواد لكتابة الاكواد فيه , هنا يجب ان تعرف امر ضروري جدا محرر الاكواد هو فقط وسيلة وليس غاية لذالك قم بالاعتماد على اي محرر ترتاح فيه لا يوجد فرق جوهري , انا ساعتمد في الشرح
على محرر Visual Studio Code السبب وراء اختياري لهذا المحرر اولا هو لانني استخدمه منذ سنوات وارتاح في العمل فيه السبب الثاني لكثرة الاضافات Extention في التي تساعدنا كمبتدئين و ايضا اضافة CodeSnap التي ساعتمد عليها في الدورة لتحويل الاكواد الى صور نستعملها في الشرح , السبب الثالث
ان محرر Vs Code يحتوي على سطر الاوامر مدمج بداخله يعني يمكنك كتابة الاوامر نفسها في المحرر بدون حاجة الى محرر اكواد خارجي , لتحميل Vs code يمكنك تحميله من الموقع الرسمي code.visualstudio.com
بعد تحميل Vs code قم بتنصيبه الامر ايضا بسيط قم بالضغط على Next حتى يتم الانتهاء من التنصيب بعد التنصب انصحك بتحميل بعد الاضافات فيه التي ستساعدك في كتابة الكود مثل express code snippets و node-snippets الهذف منها هي فقط مساعدتك , بعدها انت الان جاهز لبرمجة اول سيرفر
عن طريق Node.js , الا قم باشاء Folder في اي مكان في جهازك سميه مثلا FirstNode او اي اسم لا يفرق معنا , بعدها قم بانشاء File جافاسكريبت وسط الفولدر سميه مثلا server.js بعدها قم بفتح الفولدر عن طريق Vs code عن طريق التوجه ل File ثم Open Folder , بعدها افتح فايل server.js ثم
اكثب الكود التالي فيه
قم بفتح الترمنال في Vs code في الشريط العلوي ثم قم بكتابة node server.js سيتم تشغيل السيرفر ثم قم بالذهاب المتصفح وقم بفتح الرابط التالي :
http://localhost:8080/
ستجد رسالة ترحيبية Hello From My First Node Server التي قمنا بارسالها في السيرفر , جيد الان دعنا نشرح هذا الكود
اولا http هو عبارة على Module موجود في node.js تلقائيا لا نحتاج تحميله عن طريق npm هاد ال Module يمكننا من انشاء سيرفر عن طريق node.js اذن قمن بتحميله عن طريق require ثم اعطايناه اسم Http يمكنك تسميته اي اسم تريد وقمنا بوضعه في const لماذا const وليس variable وضعناه في conste
لاننا لن نحتاج لاضافة تعديلات لهذا المتغير لكن يمكنك وضعه في variable لا مشكلة , بعدها هاد module يحتوي على عدة function او الدوال والدالة التي تمكننا من انشاء Server هي createServer واضحة وضوح الشمس من اسمها , هذه الدالة ترجع لنا دالة هذه الدالة تحتوي على برامترين وهما req وهو
اختصار ل request و res وهو اختصار ل response ويمكنك تسميتهم باي اسم اخر لا مشكلة , req هو عندما يرسل اليوزر ريكويست او طلب معين و res وهو الجواب الذي يصل اليوزر بعط طلب ريكويست , الى هنا جيد اضن ان الامر مفهوم , بعدها قمنا باخد res واضفنا اليه .write وهي عبارة على Method
وليس Function هذه الميتود نستخدمها لارسال جواب الى المتصفح ونقول له عندم يصلك ريكيوست عبارة على localhost:8080 ارسل له هذا الجواب يعني عندما تقوم بالدخول الى localhost انت هنا ارسلت request وعندما تدخل الى رابط اي موقع فانت ارسلت request وتنتضر ان يصلك الجواب اذان
فعندما تفتح localhost انت ارسل request وسيصلك الريسبونس مباشرة وهو عبارة على رسالة ترحيبية , اما بالنسبة ل res.end فنخبر السرفر انه تم ارسال الجواب اذا لم تكتب res.end السيرفر لن يشتغل ابدا . بعدها قمنا بعمل listen للسيرفر الخاص بنا وهنا يطلب منا port البورت هي عبارة على منفذ
يشتغل فيه السيرفر وكل سيرفر يجب ان تعطيه بورت معين فلا يمكن تشغيل سيرفرين في نفس الحاسوب وبنفس البورت.
بعدها ارجعنا له callback function بسيطة وهي انه عندما يتم تشغيل السيرفر يرسل لنا رسالة كاخبار انه تم تشغيل السيرفر , وهذه الرسالة تضهر لك في الترمنال
عندما تكتب امر node server.js , لتخبرك ان السيرفر تم تشغيله , فمبروك لك اخي بكتابة اول سيرفر لك عن طريق node.js عن طريق module http .
في الدرس القادم سنقوم بالغوص قليلا في node.js لنتعرف على المزيد من الامور فانتضرونا ,

جاري تحميل الاقتراحات...