Node.JS

Node.js هو وقت تشغيل JavaScript مفتوح المصدر وعبر الأنظمة الأساسية يعمل على الخوادم. منذ إطلاقها في عام 2009 ، أصبحت هذه المنصة شائعة للغاية وتلعب دورًا مهمًا للغاية في مجال تطوير الويب هذه الأيام
للحصول على المقال كاملا على Node.JS ...

إظهار عامل التصفية
مرشحات الاستضافة
A2 Themes & Host Me Filter

نظام تشغيل

مساحة القرص

ذاكرة وصول العشوائي

نوع القرص

النوى CPU

فرز

الثقة التجريبية Dream Host
النتيجة - 9.7
Dream Host Logo
Dream Host

دريم هوست

DreamObjects 40 GB
$0.95 /شهريا

التعليقات 3778

29 كوبونات

مواقع الخادم


Dream Host Servers in Ashburnالولايات المتحدة الأمريكية
قارن
الثقة التجريبية ICDSoft
النتيجة - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - Europe
$8 /شهريا

التعليقات 233


مواقع الخادم


ICDSoft Servers in Sofiaبلغاريا ICDSoft Servers in Bostonالولايات المتحدة الأمريكية ICDSoft Servers in Hong Kongهونج كونج
قارن
الثقة التجريبية ICDSoft
النتيجة - 10
ICDSoft Logo
ICDSoft

ICDSoft

Economy - USA
$8 /شهريا

التعليقات 233


مواقع الخادم


ICDSoft Servers in Sofiaبلغاريا ICDSoft Servers in Bostonالولايات المتحدة الأمريكية ICDSoft Servers in Hong Kongهونج كونج
قارن
النتيجة - 9
A2hosting Logo
A2hosting

A2hosting

Lite
$3.92 /شهريا

50 كوبونات

مواقع الخادم


A2hosting Servers in Amsterdamهولندا A2hosting Servers in Michiganالولايات المتحدة الأمريكية A2hosting Servers in Singaporeسنغافورة
قارن
الثقة التجريبية Keliweb
النتيجة - 9.8
Keliweb Logo
Keliweb

كيليويب

Prime
$5.51 /شهريا

التعليقات 453


مواقع الخادم


Keliweb Servers in Milanoإيطاليا
قارن
الثقة التجريبية JustHostMe
النتيجة - 9.4
JustHostMe Logo
JustHostMe

JustHostMe

Starter
$3.11 /شهريا

التعليقات 72


مواقع الخادم


JustHostMe Servers in United Kingdomالمملكة المتحدة
قارن
الثقة التجريبية Dream VPS
النتيجة - 8.6
Dream VPS Logo
Dream VPS

Dream VPS

STARTER
$3.75 /شهريا

التعليقات 7


مواقع الخادم


Dream VPS Servers in Hong Kongهونج كونج Dream VPS Servers in Santa Clara Dream VPS Servers in New Yorkالولايات المتحدة الأمريكية Dream VPS Servers in Londonالمملكة المتحدة Dream VPS Servers in Amsterdamهولندا Dream VPS Servers in Frankfurtألمانيا Dream VPS Servers in Israelإسرائيل
قارن
الثقة التجريبية Reseller Cube
النتيجة - 8
Reseller Cube Logo
Reseller Cube

مكعب الموزع

Basic USA
$5 /شهريا

التعليقات 4


مواقع الخادم


Reseller Cube Servers in Raleighالولايات المتحدة الأمريكية
قارن
الثقة التجريبية Univa Host
النتيجة - 8
Univa Host Logo
Univa Host

يونيفا هوست

E-ECONOMY
$2.99 /شهريا

التعليقات 3


مواقع الخادم


Univa Host Servers in Germanyألمانيا Univa Host Servers in United Statesالولايات المتحدة الأمريكية
قارن
الثقة التجريبية OperaVPS
النتيجة - 7.8
OperaVPS Logo
OperaVPS

OperaVPS

Linux 512MB
$7.99 /شهريا

التعليقات 3


مواقع الخادم


OperaVPS Servers in United Kingdomالمملكة المتحدة OperaVPS Servers in Austriaالنمسا OperaVPS Servers in Canadaكندا OperaVPS Servers in Denmarkالدنمارك OperaVPS Servers in Franceفرنسا OperaVPS Servers in Germanyألمانيا OperaVPS Servers in Italyإيطاليا OperaVPS Servers in Netherlandsهولندا OperaVPS Servers in Romaniaرومانيا OperaVPS Servers in United Statesالولايات المتحدة الأمريكية
قارن
الثقة التجريبية L3Web Hosting
النتيجة - 7.6
L3Web Hosting Logo
L3Web Hosting

استضافة L3Web

START UP
$1.99 /شهريا

التعليقات 2


مواقع الخادم


L3Web Hosting Servers in Indiaالهند L3Web Hosting Servers in Munichألمانيا L3Web Hosting Servers in Miamiالولايات المتحدة الأمريكية L3Web Hosting Servers in Singaporeسنغافورة L3Web Hosting Servers in United Kingdomالمملكة المتحدة
قارن
الثقة التجريبية Idea Stack
النتيجة - 7.4
Idea Stack Logo
Idea Stack

مكدس الأفكار

LEVEL 1
$2 /شهريا

التعليقات 2


مواقع الخادم


Idea Stack Servers in Seattleالولايات المتحدة الأمريكية
قارن
الثقة التجريبية Epic Host
النتيجة - 7.4
Epic Host Logo
Epic Host

مضيف ملحمي

Cloud hosting
$2.37 /شهريا

التعليقات 1


مواقع الخادم


Epic Host Servers in New Delhiالهند Epic Host Servers in Unionالولايات المتحدة الأمريكية
قارن
الثقة التجريبية itanets.co.uk
النتيجة - 7
itanets.co.uk Logo
itanets.co.uk

itanets.co.uk

JSP HOSTING 1
$5.19 /شهريا

التعليقات 2

قارن
الثقة التجريبية Digital Ocean
النتيجة - 3.8
Digital Ocean Logo
Digital Ocean

المحيط الرقمي

$5 /mo
$5 /شهريا

التعليقات 214

38 كوبونات

مواقع الخادم


Digital Ocean Servers in Indiaالهند Digital Ocean Servers in New Yorkالولايات المتحدة الأمريكية Digital Ocean Servers in Amsterdamهولندا Digital Ocean Servers in Londonالمملكة المتحدة Digital Ocean Servers in Torontoكندا Digital Ocean Servers in Frankfurt am Mainألمانيا Digital Ocean Servers in Singaporeسنغافورة
قارن
النتيجة - 10
HOST PRO KE Logo
HOST PRO KE

هوست برو كي

Host Pro Starter
$9.38 /سنوي


مواقع الخادم


HOST PRO KE Servers in Germanyألمانيا
قارن
النتيجة - 9.4
Accu WebHosting Logo
Accu WebHosting

Accu WebHosting

Windows Personal Web Hosting
$2.99 /شهريا

19 كوبونات

مواقع الخادم


Accu WebHosting Servers in Franceفرنسا Accu WebHosting Servers in Denverالولايات المتحدة الأمريكية Accu WebHosting Servers in Mumbaiالهند Accu WebHosting Servers in Amsterdamهولندا Accu WebHosting Servers in Frankfurt am Mainألمانيا Accu WebHosting Servers in Sydneyأستراليا Accu WebHosting Servers in Londonالمملكة المتحدة Accu WebHosting Servers in Polandبولندا Accu WebHosting Servers in Canadaكندا Accu WebHosting Servers in Singaporeسنغافورة
قارن
النتيجة - 9
Be hostings Logo
Be hostings

كن مضيفا

StarterSSL
$3.36 /شهريا


مواقع الخادم


Be hostings Servers in Brusselsبلجيكا
قارن
النتيجة - 4.3
Gear Host Logo
Gear Host

مضيف العتاد

CloudSite Hobby
$5 /شهريا


مواقع الخادم


Gear Host Servers in Denverالولايات المتحدة الأمريكية
قارن
النتيجة - 1
Mikro VPS Logo
Mikro VPS

Mikro VPS

VPS SSD 1
$4.39 /شهريا


مواقع الخادم


Mikro VPS Servers in Budapestهنغاريا
قارن
النتيجة - 0
Simple Node Logo
Simple Node

عقدة بسيطة

OpenVZ - 256MB
$3 /شهريا

قارن

 

Node.js

 

 

Node.js هو وقت تشغيل JavaScript مفتوح المصدر وعبر الأنظمة الأساسية يعمل على الخوادم. منذ إطلاقها في عام 2009 ، أصبحت هذه المنصة شائعة للغاية وتلعب دورًا مهمًا للغاية في مجال تطوير الويب هذه الأيام إذا أخذنا في الاعتبار عدد النجوم التي جمعها المشروع على GitHub كمؤشر على الشعبية ، فإن Node.js ، الذي يحتوي على أكثر من 50000 نجمة ، يعد مشروعًا شائعًا جدًا.

 

تم بناء النظام الأساسي Node.js على محرك Google V8 JavaScript ، والذي يتم استخدامه في متصفح Google Chrome. تُستخدم هذه المنصة بشكل أساسي لإنشاء خوادم الويب ، لكن نطاقها لا يقتصر على هذا.

 

لنلقِ نظرة على الميزات الرئيسية لـ Node.js.

 

سرعة

 

تعد السرعة من أهم عوامل الجذب في Node.js. يمكن أن تكون شفرة JavaScript التي يتم تنفيذها في Node.js أسرع بمرتين من الشفرة المكتوبة بلغات مجمعة مثل C أو Java ، كما أن ترتيبها من حيث الحجم أسرع من اللغات المفسرة مثل Python أو Ruby السبب في ذلك هو بنية النظام الأساسي غير المحظورة ، وتعتمد النتائج المحددة على المعايير المستخدمة ، ولكن بشكل عام ، تعد Node.js منصة سريعة جدًا.

 

بساطة

 

منصة Node.js سهلة التعلم والاستخدام. في الواقع ، الأمر بسيط للغاية ، خاصة عند مقارنته ببعض منصات الخوادم الأخرى.

 

جافا سكريبت

 

يتم تنفيذ JavaScript في بيئة Node.js. هذا يعني أن الملايين من مطوري الواجهة الأمامية الذين يستخدمون بالفعل JavaScript في المستعرض يمكنهم كتابة كود من جانب الخادم وكود من جانب العميل بنفس لغة البرمجة دون الحاجة إلى تعلم أداة جديدة تمامًا للانتقال إلى التطوير من جانب الخادم.

 

يستخدم المتصفح والخادم نفس مفاهيم اللغة. بالإضافة إلى ذلك ، يمكن لـ Node.js الانتقال بسرعة إلى معايير ECMAScript الجديدة حيث يتم تنفيذها على النظام الأساسي.

 

ليست هناك حاجة لانتظار المستخدمين لتحديث متصفحاتهم لهذا الغرض لأن Node.js هي بيئة من جانب الخادم تتحكم بشكل كامل في المطور. نتيجة لذلك ، تصبح ميزات اللغة الجديدة متاحة عند تثبيت إصدار داعم من Node.js.

 

محرك V8

 

في قلب Node.js ، من بين حلول أخرى ، يوجد محرك V8 JavaScript مفتوح المصدر من Google ، والذي يستخدم في Google Chrome والمتصفحات الأخرى. هذا يعني أن Node.js يستفيد من آلاف المهندسين الذين جعلوا وقت تشغيل JavaScript Chrome سريعًا بشكل لا يصدق ويستمرون في العمل على تحسين V8.

 

عدم التزامن

 

في لغات البرمجة التقليدية (C ، Java ، Python ، PHP) ، يتم حظر جميع التعليمات افتراضيًا ، ما لم يعتني المطور صراحة بتنفيذ التعليمات البرمجية بشكل غير متزامن. نتيجة لذلك ، إذا قمت ، على سبيل المثال ، في مثل هذه البيئة ، بتقديم طلب شبكة لتنزيل بعض رموز JSON ، فسيتم تعليق تنفيذ الدفق الذي تم تقديم الطلب منه حتى يتم تلقي الاستجابة ومعالجتها.

 

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

 

نشأت آلية مماثلة في المتصفحات. لا يمكننا تحمل الانتظار ، على سبيل المثال ، لأجاكسطلب الإنهاء دون القدرة على الاستجابة لإجراءات المستخدم ، مثل نقرات الأزرار. لتسهيل عمل المستخدمين مع صفحات الويب ، يجب أن يحدث كل شيء ، سواء تنزيل البيانات من الشبكة أو نقرات زر المعالجة ، في نفس الوقت ، في الوقت الفعلي.

 

إذا قمت بإنشاء معالج حدث النقر فوق الزر ، فقد استخدمت بالفعل تقنيات البرمجة غير المتزامنة.

 

تسمح الآليات غير المتزامنة لخادم Node.js واحد بمعالجة آلاف الاتصالات في وقت واحد دون إثقال كاهل المبرمج بإدارة الخيط ومهام تنفيذ التعليمات البرمجية المتوازية. مثل هذه الأشياء غالبًا ما تكون مصادر للخطأ.

 

يوفر Node.js للمطور آليات الإدخال / الإخراج الأساسية غير المحظورة ، وبشكل عام ، تتم كتابة المكتبات المستخدمة في إطار عمل Node.js باستخدام نماذج غير محظورة.هذا يجعل سلوك الحظر هو الاستثناء وليس القاعدة.

 

عندما يحتاج Node.js إلى إجراء عملية إدخال / إخراج ، مثل تحميل البيانات من الشبكة أو الوصول إلى قاعدة بيانات أو نظام الملفات ، بدلاً من حظر مؤشر الترابط الرئيسي الذي ينتظر نتائج هذه العملية ، فإن Node.js سيبدأ التنفيذ والاستمرار في القيام بأشياء أخرى حتى يتم استلام نتائج هذه العملية.

 

مكتبات

 

مع سهولة وراحة العمل مع مدير الحزم لـ Node.js المسمى npm ، يزدهر نظام Node.js البيئي. يوجد الآن أكثر من نصف مليون حزمة مفتوحة المصدر في سجل npm يمكن لأي مطور Node.js استخدامها بحرية.

 

بعد مراجعة بعض الميزات الرئيسية لمنصة Node.js ، دعنا نجربها عمليًا. لنبدأ بالتثبيت.

 

 

Node.js

 

 

تثبيت Node.js

 

يمكن تثبيت Node.js بعدة طرق سنغطيها بعد قليل. لذلك ، يمكن العثور على حزم التثبيت الرسمية لجميع المنصات الرئيسية.

 

هناك طريقة أخرى مريحة للغاية لتثبيت Node.js ، وهي استخدام مدير الحزم المتوفر في نظام التشغيل. على سبيل المثال ، يُطلق على مدير حزم macOS ، وهو المعيار الفعلي في هذا المجال ، اسم Homebrew.

 

إذا كان لديك واحد على نظامك ، فيمكنك تثبيت Node.js عن طريق تشغيل هذا الأمر في سطر الأوامر:

 

تركيب الشراب العقدة

 

يمكن العثور هنا على قائمة بمديري الحزم لأنظمة التشغيل الأخرى ، بما في ذلك Linux و Windows.

 

مدير إصدارات Node.js الشهير هو nvm. تتيح لك هذه الأداة التبديل بسهولة بين الإصدارات المختلفة من Node.js ، بمساعدتها ، على سبيل المثال ، تثبيت إصدار جديد من Node.js وتجربته ، ثم الرجوع إلى الإصدار القديم ، إذا لزم الأمر. تعد Nvm مفيدة أيضًا في المواقف التي تحتاج فيها إلى اختبار بعض التعليمات البرمجية على إصدار قديم من Node.js.

 

للمبتدئين لاستخدام أدوات التثبيت الرسمية Node.js. بالنسبة لمستخدمي macOS ، يوصى المرء بتثبيت Node.js باستخدام Homebrew. الآن وبعد تثبيت Node.js ، حان الوقت لكتابة "Hello World".

 

أول تطبيق Node.js

 

المثال الأكثر شيوعًا لتطبيق Node.js الأول هو خادم ويب بسيط. ها هو كودها:

const http = تتطلب ('http')

اسم مضيف const = "127.0.0.1"

منفذ const = 3000

خادم const = http.createServer ((req، res) = & gt؛ {

res.statusCode = 200

res.setHeader ("نوع المحتوى" ، "نص / عادي")

res.end ("Hello World \ n")

})

server.listen (المنفذ ، اسم المضيف ، () = & GT ؛ {

console.log (`الخادم يعمل على http: // $ {hostname}: $ {port} /`)

})

 

لتشغيل هذا الرمز ، احفظه في ملف server.js وقم بتشغيل الأمر التالي في المحطة:

 

العقدة server.js

 

للتحقق من الخادم ، افتح متصفحًا وأدخل في شريط العنوان http://127.0.0.1:3000 ، أي عنوان الخادم الذي سيتم عرضه في وحدة التحكم بعد إطلاقه بنجاح. إذا كان كل شيء يعمل كما ينبغي ، فستعرض الصفحة "Hello World".

 

لنلق نظرة على هذا المثال.

 

أولاً ، لاحظ أن الكود يحتوي على أمر توصيل وحدة HTTP.

 

تحتوي منصة Node.js على مجموعة قياسية ممتازة من الوحدات ، والتي تتضمن آليات مطورة جيدًا للعمل مع الشبكة.

ينشئ أسلوب الكائن createServer () http خادم HTTP جديدًا ويعيده.

 

تم تكوين الخادم للاستماع على منفذ معين على مضيف معين. عندما يكون الخادم جاهزًا ، يتم استدعاء رد الاتصال المقابل ، لإعلامنا بأن الخادم قيد التشغيل.

عندما يتلقى الخادم طلبًا ، يتم تشغيل حدث طلب يوفر كائنين. الأول هو الطلب (req ، كائن http.IncomingMessage) ، والثاني هو الاستجابة (الدقة ، كائن http.ServerResponse). إنها أهم الآليات للتعامل مع طلبات HTTP.

 

الأول يوفر لنا معلومات حول الطلب. في مثالنا البسيط ، لا نستخدم هذه البيانات ، ولكن إذا لزم الأمر ، باستخدام الكائن ، يمكنك الوصول إلى رؤوس الطلبات والبيانات التي تم تمريرها فيها.

 

والثاني ضروري لتكوين وإرسال رد على الطلب

 

في هذه الحالة نشكل الرد على الطلب على النحو التالي. أولاً ، قمنا بتعيين رمز حالة الملكية على القيمة 200 ، مما يشير إلى نجاح العملية:

 

res.statusCode = 200

بعد ذلك ، حددنا العنوان نوع المحتوى:

res.setHeader ("نوع المحتوى" ، "نص / عادي")

نكمل بعد ذلك تحضير الإجابة بإضافة محتواها كوسيطة إلى طريقة النهاية ():

res.end ("Hello World \ n")

 

لقد ذكرنا بالفعل أن نظامًا بيئيًا قويًا قد تشكل حول منصة Node.js. دعنا الآن نناقش بعض الأطر الشائعة والأدوات المساعدة لـ Node.js.

 

الأطر والأدوات المساعدة لـ Node.js

 

Node.js عبارة عن نظام أساسي منخفض المستوى. من أجل تبسيط التطوير لها وتسهيل الحياة على المبرمجين ، تم إنشاء عدد كبير من المكتبات. أصبح بعضها مشهورًا جدًا بمرور الوقت. فيما يلي قائمة صغيرة من المكتبات التي أعتقد أنها جيدة الصنع وتستحق الاستكشاف:

 

التعبير: توفر هذه المكتبة للمطور أداة بسيطة للغاية لكنها قوية لبناء خوادم الويب. كان مفتاح نجاح Express هو النهج البسيط والتركيز على الآليات الأساسية من جانب الخادم دون محاولة فرض رؤية لبنية الخادم "الشاملة".

 

نيزك: إنه إطار عمل قوي كامل المكدس يتخذ نهجًا متماثلًا لتطوير تطبيقات JavaScript واستخدام الكود على كل من العميل والخادم. بمجرد أن أصبح Meteor أداة قائمة بذاتها تتضمن كل ما قد يحتاجه المطور. يتكامل الآن أيضًا مع مكتبات الواجهة الأمامية مثل React و Vue و Angular. يمكن استخدام Meteor ، بالإضافة إلى تطوير تطبيقات الويب المشتركة ، في تطوير الأجهزة المحمولة.

 

كوا: تم إنشاء إطار عمل الويب هذا بواسطة نفس الفريق وراء Express بناءً على سنوات من الخبرة مع Express ، تم تطويره مع التركيز على البساطة والاكتناز. جاء هذا المشروع كحل لمشكلة إجراء تغييرات كبيرة على Express التي لا تتوافق مع آليات إطار العمل الأخرى التي يمكن أن تقسم المجتمع.

 

Next.js: تم تصميم إطار العمل هذا لتنظيم عرض جانب الخادم لتطبيقات React.

 

مجهري: إنها مكتبة خفيفة الوزن جدًا لبناء خدمات HTTP غير متزامنة.

مقبس. إنها مكتبة لتطوير تطبيقات الشبكة في الوقت الفعلي.

 

في الواقع ، في النظام البيئي Node.js ، يمكنك العثور على مكتبة مساعدة لأي مهمة تقريبًا. كما يمكنك أن تتخيل ، فإن بناء مثل هذا النظام البيئي يستغرق الكثير من الوقت. ظهرت منصة Node.js في عام 2009. خلال فترة وجودها ، حدثت الكثير من الأشياء التي يجب أن يعرفها المبرمج الذي يريد تعلم هذه المنصة.

 

تاريخ موجز لـ Node.js

 

يبلغ عمر Node.js 9 سنوات هذا العام. هذا ، بالطبع ، ليس كثيرًا عندما تقارن هذا العمر بعمر JavaScript ، الذي يبلغ بالفعل 23 عامًا ، أو بعمر الويب البالغ 25 عامًا كما نعرفه إذا كنت تحسب من ظهور Mosaic المتصفح.

 

9 سنوات هي فترة قصيرة للتكنولوجيا ، ولكن الآن يبدو أن منصة Node.js كانت موجودة دائمًا.

 

مع Node.js من الإصدارات القديمة للنظام الأساسي عندما كان عمره عامين فقط. حتى ذلك الحين ، على الرغم من عدم وجود الكثير من المعلومات حول Node.js ، يمكن للمرء أن يشعر بالفعل أن Node.js جاد للغاية.

 

الآن دعنا نتحدث عن التقنيات الكامنة وراء Node.js ونلقي نظرة سريعة علىالتطورات الرئيسية المتعلقة بهذه المنصة.

 

لذا فإن JavaScript هي لغة برمجة تم إنشاؤها في Netscape كلغة برمجة نصية لمعالجة صفحات الويب في متصفح Netscape Navigator.

كان جزء من أعمال Netscape هو بيع خوادم الويب ، والتي تضمنت بيئة تسمى Netscape LiveWire. سمح لك بإنشاء صفحات ويب ديناميكية باستخدام JavaScript من جانب الخادم.

 

فكرة استخدام JS للتطوير من جانب الخادم أقدم بكثير من Node.js. هذه الفكرة قديمة قدم جافا سكريبت نفسها تقريبًا ، ولكن في ذلك الوقت ، لم تكن JS من جانب الخادم شائعة.

 

أحد العوامل الرئيسية التي جعلت منصة Node.js منتشرة وشعبية للغاية عندما ظهرت لأول مرة. لذلك ، قبل بضع سنوات ، بدأت JavaScript في اعتبارها لغة جادة. حدث هذا بفضل تطبيقات الويب 2.0 مثل خرائط Google أو Gmail ، والتي أظهرت للعالم قوة تقنيات الويب الحديثة.

 

بفضل الحرب التنافسية للمتصفحات ، والتي استمرت حتى يومنا هذا ، زاد أداء محركات JavaScript بشكل ملحوظ. تعمل فرق التطوير وراء المتصفحات الرئيسية كل يوم لتحسين أداء حلولها ، مما يكون له تأثير مفيد على JavaScript بشكل عام.

 

أحد هذه المحركات هو V8 المذكور بالفعل ، والمستخدم في متصفح Chrome والمستخدم في Node.js. إنها إحدى نتائج مطوري المستعرضات الذين يسعون جاهدين للحصول على كود JavaScript عالي الأداء.

 

بالطبع ، لا تعتمد شعبية Node.js على صدفة الحظ فحسب ، بل على حقيقة أن المنصة وُلدت في الوقت المناسب. لقد قدمت للعالم نهجًا مبتكرًا لتطوير JavaScript من جانب الخادم. دعونا نلقي نظرة على المعالم الرئيسية في تاريخ Node.js.

 

2009


  • ظهور Node.js

  • عمل المتغير الأول npm.

 

2010

  • ظهور Express.

  • ظهور Socket.io.

 

2011


  • إصدار Npm 1.0.

  • بدأت الشركات الكبيرة مثل LinkedIn و Uber في استخدام Node.js.

 

2012


  • الارتفاع السريع في شعبية Node.js.

 

2013


  • ظهور Ghost ، أول منصة رئيسية للمنشورات باستخدام Node.js.

  • إطلاق Koa.

 

2014


  • وقعت أحداث درامية هذا العام. ظهر مشروع IO.js ، وهو عبارة عن مفترق لـ Node.js ، والغرض منه ، من بين أمور أخرى ، هو تقديم دعم ES6 وتسريع تطوير النظام الأساسي.

 

2015


  • تم تأسيس مؤسسة Node.js.

  • دمج IO.js و Node.js.

  • في npm ، يصبح من الممكن العمل مع الوحدات الخاصة.

  • Yield Node.js 4 (تجدر الإشارة إلى أن الإصدارات 1 و 2 و 3 من النظام الأساسي لم تكن كذلك).

 

2016


  • حادثة حزمة الوسادة اليسرى.

  • ظهور الغزل.

  • إصدار Node.js 6.

 

2017


  • بدأت Npm في إيلاء المزيد من الاهتمام للأمان.

  • إصدار Node.js 8

  • ظهور دعم HTTP / 2.

  • تم التعرف على V8 رسميًا كمحرك JS مصمم ليس فقط من أجل Chrome ولكن أيضًا من أجل Node.

  • يتم تنزيل 3 مليارات نانومتر في الدقيقة كل أسبوع.

 

2018


  • إصدار Node.js 10.

  • دعم وحدات ES.

  • دعم mjs التجريبية.