استخدام Javascript و NodeJS فى تطوير المواقع

 تطوير مواقع كاملة مع Javascript و NodeJS

تطوير تطبيقات الويب فى الآونة الاخيرة اصبح مهمة تحتاج منك ان تكون ملم بالكثير من الامور واللغات والتقنيات , فبكل بساطة انت تريد تطوير تطبيقاتك بطريقة اسرع وان يكون التطبيق قوي وسريع وسهل التطوير والكثير من الميزات الاخرى .

مؤخرًا مع التقنيات والادوات الحديثة فى عالم تطوير الويب اصبح من الممكن تطوير تطبيقاتك مع لغة جافاسكربت و HTML , CSS .
فخليط تقنيات جافاسكربت السحرى MongoDB , Express , AngularJS ,NodeJS اصبح قوي بما فيه الكفاية لتطوير تطبيقاتك من البداية إلى النهاية .

لماذا جافاسكربت ؟

جافاسكربت من اشهر اللغات المستخدمة فى عالم الويب استخدمت قديمًا فى الجزء الخاص بالعميل او Client Side وهى الاوامر التى تنفذ على متصفح المستخدم ويكون الكود المصدرى فى هذه الحالة مكشوف للمستخدم , فبتالى كانت الجافاسكربت مقتصرة على انشاء تفاعل للواجهة مع المستخدم وبعض الاشياء الاخرى مثل Validation قبل ارسال البيانات إلى السيرفر , فببساطة كانت جافاسكربت تقوم بمهم كثيرة على جهاز المستخدم بدون الحاجة إلى ازعاج موارد السيرفر فى اشياء لا تستحق اهدار موارد السيرفر من اجلها .

وكان التعامل مع السيرفر مقصور على لغات اخرى من اشهرها PHP , ASP هذه اللغات تنفذ على السيرفر وتتعامل مع قواعد البيانات , فعند البحث فى صندوق البحث فى اي موقع يقوم الموقع بارسال request للسيرفر بالبيانات المطلوب فيقوم السيرفر بالاتصال بقاعدة البيانات وجلب البيانات منها ومعالجة هذه البيانات وتحويلها إلى HTML عند طريق اللغة المستخدمة فى Server ثم يعيد هذه البيانات فى شكل HTML يتمكن المتصفح من قراءتها وعرضها للمستخدم .

للتعرف اكثر على لغات الخادم Server Side ولغات العميل Client Side

operation trail

ولكن مؤخرًا دخلت جافاسكربت وغطت هذه الجزء ايضًا وهى التعامل مع السيرفر عن طريق NodeJS .

ماهى NodeJS ؟

فى عام 2009 قام Ryan Dahl بانشاء NodeJS , وقام ببناءها على عاملين مهمين ساعدا فى انتشارها بشكل كبير وهما :

1. محرك Chrome V8 المتطور 

وهو نفسه المستخدم فى جوجل كروم وطور من قبل مطورى جوجل فى 2008 , ويتميز بسرعة وقوة كبيرتين .

2. الاعتماد على آلية Non-Blocking

بعكس اللغات الموجودة وعلى رأسها PHP التى تعتمد على آلية Blocking اعتمدت Nodejs على آلية Non-Blocking ولفهم الفرق بينهم بصورة اوضح اليك التالى
عند التعامل مع السيرفر فى لغة مثل PHP تعتمد على Blocking فان تنفيذ الطلبات القادمة من مستخدمى الموقع ستنفذ بالتوالى لا يبدء فى تنفيذ الطلب الجديد الا بعد الانتهاء واعادة النتائج إلى المستخدم الحالى وهذا يسبب اهدار كبير فى الوقت ( بالرغم من استخدام Multi Threads فى PHP لمحاولة حل المشكلة وهى ماتسبب زيادة تكاليف السيرفر ) .
وكان الحل فى NodeJS هو استخدام آلية Blocking التى تسمح بارسال طلبات Request بالتوازي فحين يبدء السيرفر فى تنفيذ Request قادم فانه لا ينتظر انتهاءه حتى يبدء فى تنفيذ Request الذى يليه وكل Request ينتهى من معالجته يقوم بارجاع دالة Call Back المسؤالة عن الرد على Request بالبيانات المطلوبة او برسالة خطأ اذا حدثت مشكلة , وبالتالى بموارد اقل للسيرفر (Single Thread) تزيد السرعة بصورة كبيرة .

كانت هذه مقدمة بسيطة لتطوير المواقع بلغة Javascript و Nodejs , وقريبا سنتطرق لتفاصيل بناء المواقع بلغة جافاسكربت وتقنياتها المختلفة .

مواضيع مفيدة

  1. ما هى البرمجة
  2. دليل لغات البرمجة لمطوري الويب 
  3. استخدام لغة PHP فى تطوير الويب

مقالات ذات صلة

ماهى لغة بايثون Python تعرف عليها فى المقال التالى

  تعد لغة بايثون لغة برمجة حديثة نسبيًا فبداياتها ترجع إلى سنة  1991 عندما قام جيدو فان روسلام . Guido...

مجموعة دروس بدايتك بتعلم php

مجموعة دروس بدايتك بتعلم php نوع الملف : PDF  تأليف : موقع مبرمج حجم الملف : 818k عدد الصفحات :...

تعلم سي شارب c# باللغة العربية

  نوع الملف : PDF . وصف الملف : تعلم البرمجة مع سى شارب c# بكل سهولة مع كتاب مميز باللغة...

افضل الكتب لتعلم البرمجة باللغة العربية

برغم اقبال العالم العربى على البرمجة مؤخرًا , إلا ان مصادر تعلم البرمجة باللغة العربية ما زالت قليلة مقارنة...

كتب بواسطة عمرو العربى

مؤسس مطور

التعليقات

اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

*