daynamic.title_categories.blog_categories
daynamic.title_categories.tags
البومات الصور
nano.all.videoList
daynamic.title_categories.title_tags
daynamic.msg_no_data.لاتوجد بيانات لعرضها
daynamic.title_categories.title_links
Posted in أخبار لغات البرمجة وأطر العمل on Oct 26, 2023
ماهي ال Node js وماهي مميزاتها ؟
الـ Node js ماذا ولماذا؟
وفقًا لوثائق NodeJs الرسمية ، يمكن تعريف NodeJs على أنها بيئة تشغيل جافا سكريبت مفتوحة المصدر ومتعددة المنصات يمكن استخدامها لإنشاء أي نوع من المشاريع.
نظرًا لأن التعريف نفسه معقد للفهم، فلنقم الآن بتقسيم التعريف إلى كلمات وفهم ما يعنيه بالضبط ، لذا فإن NodeJS هو مصدر مفتوح ومتعدد المنصات يعني أن NodeJs متاحة للاستخدام والمشاركة ويمكن حتى تعديلها بواسطة أي شخص، وعبر الأنظمة الأساسية يعني أنه يمكننا كتابة كود nodejs بطريقة يمكن تنفيذها في أي نظام تشغيل مثل Windows أو Linux أو Mac.
-ماذا يعني javascript runtime؟
الjavascript runtime يعني ببساطة المكان الذي يتم فيه تنفيذ كود جافا سكريبت الخاص بنا عندما نقوم بتشغيل الكود الخاص بنا مع ذلك، يمكن تنفيذ جافا سكريبت اليوم على أي جهاز يحتوي على برنامج يسمى "محرك جافا سكريبت". محرك جافا سكريبت هذا له أسماء مختلفة وفقًا لمنصات مختلفة، على سبيل المثال، في متصفح جوجل كروم يطلق عليه محرك V8، وعلى متصفح فايرفوكس يسمى SpiderMonkey وفي Safari يسمى JavascriptCore.
-ما هو محرك جافا سكريبت(javascript engine)؟
محرك جافا سكريبت هو ببساطة برنامج يساعد في تحويل كود جافا سكريبت إلى كود يمكن فهمه بواسطة الآلة.
للتلخيص :nodejs هي بيئة تشغيل جافا سكريبت تُستخدم لإنشاء خوادم وتنفيذ عمليات الواجهة الخلفية (back-end) في جافا سكريبت لتطوير تطبيقات قابلة للتطوير في الوقت الفعلي.
-لماذا يجب علينا استخدامNodeJS؟
تمنح البرمجة باستخدام nodejs ميزة تطوير كل من الواجهة الأمامية والخلفية باستخدام لغة برمجة واحدة هي جافا سكريبت ، لذلك يتمتع مبرمجو جافا سكريبت بميزة وراحة في إتقان لغة برمجة واحدة بدلاً من تعلم لغات مختلفة للواجهة الأمامية والخلفية.
بصرف النظر عن هذا، يعمل Nodejs على محرك chromes V8 الذي يحسن أداء Nodejs ويسمح بإجراء عمليات غير متزامنة.
يعني غير المتزامن(Asynchronous) إجراء العمليات بشكل متزامن في نفس الوقت، وبالتالي مع nodejs من الممكن إجراء عمليات غير متزامنة دون زيادة الحمل على الخادم.
يأتي Nodejs مع npm (node package manager) وهو مدير الحزم الافتراضي، وبالتالي مع npm، يمكننا إعادة استخدام الكود الموجود بالفعل وكذلك تطوير حزمنا الخاصة للآخرين لاستخدامها مما يوفر وقت التطوير.
-كيف يختلف nodejs عن جافا سكريبت؟
نظرًا لأن nodejs تستخدم جافا سكريبت؛ فإن العديد من المطورين الجدد يختلط عليهم الأمر مع كليهما، فإليك بعض الاختلافات الرئيسية:
جافا سكريبت هي لغة برمجة بينما nodejs هي بيئة تشغيل جافا سكريبت
يعمل Javascript على المتصفح ولكن بمساعدة nodejs، يمكننا تشغيل كود جافا سكريبت خارج المتصفح أيضًا.
الJavascript - هي لغة برمجة نصية من جانب العميل (client-side) ومن ثم تُستخدم لإنشاء الواجهة الأمامية بينما يتم استخدام nodejs كلغة برمجة نصية من جانب الخادم (server-side) تُستخدم لإنشاء الواجهة الخلفية للتطبيق.
باستخدام nodejs، يمكننا إجراء عمليات أنظمة الملفات والتشغيل بينما باستخدام جافا سكريبت يمكننا إجراء عمليات خاصة بالمتصفح وعدد قليل جدًا من عمليات نظام التشغيل مثل تحميل الملفات وما إلى ذلك إلى جانب أذونات معينة.
- عيوب :nodejs
حتى الآن ، رأينا ما هو nodejs، ولماذا يجب أن نستخدمه الآن دعونا نرى متى يجب ألا نستخدم nodejs؟
نظرًا لأن nodejs تستخدم نموذج برمجة غير متزامن(asynchronous)، يصبح من الصعب الحفاظ على الكود مع زيادة حجم التطبيق؛لا يجب استخدامه عند أداء مهام حسابية ثقيلة على الخادم.
نظرًا لأن العديد من وحدات npm متاحة للاستخدام؛ فيجب اختيارها بحكمة حيث قد يحتوي بعضها على كود ووثائق (documentation) رديئة الجودة.
- تطبيقات العالم الحقيقي:
كما هو الحال الآن، رأينا جميع إيجابيات وسلبيات nodejs ولماذا يجب أن نستخدمها؛ فلنلق الآن بعضًا من أكثر تطبيقات العالم الحقيقي شيوعًا والتي يستخدمها الناس في جميع أنحاء العالم في حياتهم اليومية:
Linkedin-:
منصة التواصل للمحترفين.
-Paypal:
تطبيق المدفوعات.
-Trello:
تطبيق إدارة المشاريع.
-Uber:
خدمة السيارات في أي وقت وفي أي مكان.
وبالتالي، يتم استخدام nodejs على نطاق واسع من قبل معظم شركات التكنولوجيا؛ لذا فإن تعلم nodejs هو بالتأكيد الخيار الأفضل إذا كنت ترغب في استخدامه للواجهة الخلفية لمشروعك التالية
او هي
Node.js هو بيئة تشغيل مفتوحة المصدر ومبنية على محرك JavaScript V8 الذي تطوّره شركة Google. يتيح لك Node.js تشغيل البرامج وتطبيقات الويب بلغة JavaScript على الخادم (Server-side) بدلاً من تشغيلها في المتصفح (Client-side).
تعتبر Node.js مفيدة لعدة أسباب:
1. فعالية وسرعة التنفيذ: يعتمد Node.js على نموذج البرمجة غير المتزامنة والمبني على الأحداث (Event-driven)، مما يسمح بتنفيذ عمليات متعددة بشكل فعال وبدون توقف. يعتبر هذا جيدًا للتطبيقات التي تتطلب معالجة العديد من الطلبات في وقت واحد.
2. قابلية التوسع: يتيح Node.js لك التعامل مع أعباء العمل الكبيرة والتوسع الأفقي بشكل فعال. يمكنك بناء تطبيقات قابلة للتوسع والتحمل باستخدام Node.js.
3. مشاركة الكود بين الجانبين الخادم والعميل: باستخدام Node.js، يمكنك استخدام لغة JavaScript لتطوير كلاً من الجانبين الخادم والعميل من تطبيق الويب، مما يسهل مشاركة الكود وإعادة استخدامه بين الجانبين.
4. مجتمع نشط ومكتبة واسعة: يتمتع Node.js بمجتمع نشط من المطورين والمساهمين، مما يعني وجود مكتبة واسعة من الوحدات النمطية (Modules) المتاحة لتسهيل تطوير التطبيقات.
بشكل عام، يعتبر Node.js مناسبًا لتطوير تطبيقات الويب القائمة على الأحداث والتي تتطلب معالجة العديد من الطلبات في وقت واحد، ويستخدم على نطاق واسع في تطوير الخوادم وتطبيقات الويب السريعة والفعالة.