تم إصدار Node.js 22: ما الذي تغير في عالم JavaScript من جانب الخادم
أعلن فريق Node.js رسميًا عن إصدار الإصدار 22، الذي يقدم مجموعة من التحسينات الهامة والوظائف المنتظرة. تم ترقية الإصدار الجديد إلى حالة LTS (الدعم طويل الأمد)، مما يجعله موصى به للبيئات الإنتاجية. دعنا نستعرض الابتكارات التي تستحق اهتمامًا خاصًا من المطورين.
محرك V8 12.4 وتحسين الأداء
كان أحد الترقيات الرئيسية هو تحديث محرك JavaScript V8 إلى الإصدار 12.4. لم يجلب هذا معه إصلاحات للأخطاء فحسب، بل أدى أيضًا إلى زيادة في الأداء. على وجه الخصوص، تم تحسين التعامل مع الذاكرة وتسريع تنفيذ بعض فئات البرامج النصية. المطورون الذين يستخدمون حسابات ثقيلة أو واجهات برمجة تطبيقات عالية التحميل سيلاحظون انخفاضًا في وقت الاستجابة.
دالة require() مستقرة لوحدات ESM
واحدة من أكثر الوظائف المنتظرة هي إمكانية استخدام require() لتحميل وحدات ES (ESM). سابقًا، كان من الضروري استخدام import() الديناميكي أو الترجمة. الآن يمكنك كتابة:
const lodash = require('lodash-es');هذا يبسط ترحيل المشاريع من CommonJS إلى ESM ويجعل الكود أكثر اتساقًا. إنه ذو قيمة خاصة لقواعد الأكواد الكبيرة، حيث كان الانتقال التدريجي إلى وحدات المعيار الجديد صعبًا.
عميل WebSocket مدمج
يتضمن Node.js 22 عميل WebSocket تجريبيًا ولكنه يعمل بالفعل، تم تنفيذه على مستوى المنصة. الآن، للتفاعل الأساسي مع خوادم WebSocket، لا حاجة لتثبيت مكتبات خارجية (مثل ws). هذا يقلل من عدد التبعيات في المشروع ويسرع تطوير التطبيقات في الوقت الفعلي (الدردشات، الإشعارات، البث المباشر).
تغييرات هامة أخرى
- REPL محسّن — تدعم وحدة التحكم التفاعلية الآن الإكمال التلقائي للوحدات المستوردة وسجل الأوامر.
- طرق جديدة في واجهة glob API — تمت إضافة دعم لـ
globSyncوglobStream، مما يبسط العمل مع أنماط الملفات. - تحسين التعامل مع التدفقات (Streams) — تم تحسين أداء تدفقات
ReadableوWritable، خاصة عند العمل مع كميات كبيرة من البيانات. - عميل HTTP محدّث — تم إصلاح الأخطاء في fetch API، وتحسين معالجة الأخطاء والمهلات الزمنية.
- إزالة واجهات برمجة التطبيقات القديمة — تمت إزالة بعض الوظائف المهملة نهائيًا، مما قد يتطلب تحديث الكود القديم.
ماذا يعني هذا للمطورين؟
الانتقال إلى Node.js 22 ليس مجرد تحديث للإصدار، بل هو خطوة نحو نظام بيئي أكثر توحيدًا وكفاءة. استقرار require() لوحدات ESM يبسط دعم المشاريع الهجينة، بينما يقلل WebSocket المدمج من حاجز الدخول لتطوير الوقت الفعلي. إذا كنت تستخدم Node.js في مشاريعك، نوصي بشدة ببدء اختبار الإصدار الجديد في أقرب وقت — خاصة إذا كنت تعمل مع الوحدات، التدفقات، أو بروتوكولات الشبكة.
يمكن تنزيل Node.js 22 من الموقع الرسمي أو عبر مديري الإصدارات (nvm, fnm). سيستمر دعم LTS حتى أبريل 2027 — وهذا سبب ممتاز للترحيل.
تابع التحديثات على PythonLib لتكون أول من يعرف أخبار عالم JavaScript و Node.js.