مبتكر Node.js ريان دال يضحي بمعركة للفوز بالحرب في مجال الحوسبة من جانب الخادم، مما يسمح لـ Deno، الذي كان بديلاً لـ Node، بالتراجع.
أعلنت Cloudflare الأسبوع الماضي أنها اشترت شركة دال Deno، التي بُنيت حول بيئة تشغيل JavaScript مفتوحة المصدر من جانب الخادم تحمل الاسم نفسه، والتي أنشأها دال لمنافسة بيئة تشغيل Node.js التي أنشأها هو أيضاً. ومع ذلك، ليس لـ Deno مستقبل في Cloudflare، التي ستحافظ على بيئة التشغيل لمدة عام آخر قبل إنهاء تطويرها.
هذا الأمر لا يزعج دال. فقد صرّح دال لصحيفة The Register قائلاً: "أنا الآن أرى أنه إذا كنت تختار Node.js لبناء الخوادم، فأنت تفعل ذلك بشكل خاطئ."
بالنسبة لـ Cloudflare، فإن شراء Deno هو عملية استحواذ على المواهب (acquihire) لدال و12 من زملائه في Deno، الذين سيعملون على بناء منصة Cloudflare Workers، وتوسيعها للاستخدام المحتمل كمصدر مفتوح. ويشعر دال أن هذا النهج هو الطريق الصحيح. وأضاف: "في الوقت الحالي، يعمل كل خادم آخر حقاً على طبقة Linux VM. هذا ليس ما هي عليه Cloudflare Workers."
ما الذي دفع دال للتخلي عن Deno؟
أطلق دال Node.js في عام 2009، مما أحدث ثورة في بنية تطبيقات الويب. كان دال قد سئم من استهلاك خادم الويب Apache لكل الذاكرة. باستخدام محرك Google V8 JavaScript، لم يتمكن Node من تنفيذ كود JavaScript على الخادم فحسب، بل كان بإمكانه أيضاً خدمة آلاف الطلبات في الثانية بشكل متزامن بجزء صغير من الذاكرة التي يتطلبها الخيار التقليدي في ذلك الوقت، وهو خادم الويب Apache. اليوم، يدعم Node حوالي 30 مليون موقع ويب حول العالم، ومع 130 مليون عملية تنزيل، فمن المحتمل أنه يدير العديد من العمليات الداخلية أيضاً.
قدم دال Deno لأول مرة في عام 2018 كإعادة كتابة لـ Node. اسم "Deno" هو جناس لـ Node، وكانت محاولة دال لإصلاح كل ما شعر أنه أخطأ فيه في Node، مثل جلب البيانات المدمج، ونموذج الأذونات، ودعم TypeScript الأصلي، وغير ذلك.
دعمت Sequoia شركة دال بمبلغ 21 مليون دولار في عام 2022، واعتباراً من أغسطس، جمع Deno 400,000 مستخدم شهرياً. ومع ذلك، أثبتت جاذبية Node أنها أقوى من أن يتمكن Deno من تحقيق سرعة الإفلات.
أوضح دال لصحيفة The Register: "ما وجدناه على مر السنين من العمل على Deno هو أنه لا يمكنك الانحراف عن Node.js كثيراً. بينما واصلنا محاولة الحصول على اعتماد لـ Deno، وجدنا أنه كان علينا التراجع بشكل أساسي عن بعض الوعود الأصلية وأن نصبح أكثر توافقاً مع Node بمرور الوقت، وهذا تركنا كنوع من تطبيق Node.js البديل."
في المستقبل، ستوفر Cloudflare لـ Deno إصلاحات الأخطاء وتصحيحات الأمان للعام المقبل، بينما يبحث دال عن منزل جديد لمشروع المصدر المفتوح المرخص بـ MIT (ربما مؤسسة OpenJS Foundation؟).
ما هو النهج الجديد الذي يتبناه دال؟
في أغسطس، أطلق دال مشروعاً جديداً بالكامل، يُدعى celld، وهو تطبيق مفتوح المصدر لـ Durable Objects من Cloudflare. لقد كان مفتوناً بالتقنية التي أنشأها في الأصل كينتون فاردا. وقد ذكرت صفحة celld أن: "بدائية بهذا الجودة تستحق أن تعمل في أي مكان."
تسمح Durable Objects للمطورين ببناء تطبيقات موزعة ذات حالة وفي الوقت الفعلي. على عكس Node أو Deno، لا يتطلب التطبيق الناتج بيئة تشغيل مخصصة. بل يعمل على بيئة تشغيل Workers بدون خادم من Cloudflare، والتي تنفذ الكود داخل عزلات Google JavaScript V8، وهي بيئة حماية خفيفة الوزن تعمل ضمن عملية نظام تشغيل واحدة.
يمكن تشغيل مثيلات فردية من التطبيق في موقع حافة أقرب إلى المستخدم. يعمل كل مثيل من Durable Object كخادم مصغر أحادي الخيط بمعرف عالمي فريد وتخزين خاص به، حيث يتم تخزين بيانات المستخدم للجلسة في نسخته المخصصة من SQLite.
يصف دال Durable Objects بأنها "نوع من التجريد المثالي للأنظمة الموزعة."
كان العيب في Durable Objects بالنسبة لدال هو أنها كانت مرتبطة بشكل وثيق ببنية Cloudflare التحتية. لذلك، أنشأ celld كتطبيق يمكن استضافته في أي مكان، وليس فقط على Cloudflare.
اتضح أن Cloudflare كان لديها طموحات مماثلة. في عام 2022، قامت الشركة بفتح مصدر إصدار من بيئة تشغيل Workers، يُدعى workerd، لكن الإصدار كان موجهاً بشكل أكبر لاختبار المطورين. لم تتمكن الشركة من جعل Workers قابلة للاستضافة الذاتية بالكامل، ناهيك عن منحها القدرة على الحفاظ على الحالة الموزعة، وهي قوة منحها دال لـ celld.
لذا، فإن مهمة فريق دال هي دمج عمل celld مع workerd لإنشاء بيئة تشغيل JavaScript/WebAssembly مستقلة، مع دمجها مع Workers وDurable Objects قدر الإمكان. (مشروع celld سيتوقف أيضاً).
يمكن أن تكون هذه التقنية تحولاً ثورياً آخر لـ JavaScript من جانب الخادم، حيث تقدم بيئة تشغيل تتطلب 300 كيلوبايت فقط من الذاكرة لكل مثيل، بدلاً من مئات الميغابايت المطلوبة حالياً لـ Node/Deno. يمكن أن تتراكم هذه التوفيرات بسرعة لمزود السحابة، خاصةً الذي يخدم السوق الوكيل الشره.
ولكن حتى نرى ثمار عمل فريق دال، سيتم الضغط على سوق بيئات التشغيل المستقلة، مع غياب Deno والاستحواذ الأخير لـ Anthropic (وإعادة كتابة) على Bun. الآن، سيتعين على إبداع دال الأول، Node القوي، أن يمضي بمفرده.
جرّب الأداة: منسق ومتحقق JSON




