إن الحصول على أطر عمل ومكتبات جديدة طوال الوقت هو شيء تشتهر به JavaScript. في يوليو 2022 ، رحب النظام البيئي بالعضو الجديد: Bun.js. هنا ، سنلقي نظرة على Bun.js ونرى كيف يؤثر على نظام JavaScript البيئي الأوسع.

ما هو Bun.js؟

كعكة يتم تعريفه على أنه "وقت تشغيل JavaScript سريع الكل في واحد". إنه الثالث من نوعه بعد Node.js و Deno.js ، الذي أنشأه Jarred Sumner باستخدام لغة البرمجة Zig.

هدفه الرئيسي هو توفير نظام أساسي لتشغيل JavaScript خارج المتصفح تمامًا مثل Node.js و Deno.js ، ولكن تتقدم Bun لتوفير مستويات جديدة من السرعة والتعقيد المحسن.

كيف تطورت JavaScript

تم تصميم JavaScript في الأصل للتشغيل داخل المتصفحات فقط ، وهي مدعومة بمحركات مثل SpiderMonkey و V8. في عام 2009 ، قام Ryan Dahl بتضمين محرك V8 في برنامج C ++ أطلق عليه اسم Node.js. أصبحت JavaScript منذ ذلك الحين ذات صلة بالعديد من الاستخدامات مثل تطبيقات جانب الخادم والتطبيقات في الوقت الفعلي.

الوعود والوحدات النمطية ES هي أمثلة على ميزات JavaScript الحديثة التي لم تكن موجودة عند إنشاء Node.js. كما ألقى ريان حديثًا في عام 2018 حول الأشياء التي ندم عليها بشأن Node.js. ألهم ندمه إنشاء Deno.js الذي أصدره في عام 2020.

instagram viewer

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

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

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

كيف تتم مقارنة Bun.js مع Node.js و Deno.js؟

Node و Deno و Bun كلها أوقات تشغيل لجافا سكريبت خارج المتصفح ، وهذا لا يحيد الاختلافات بينها.

تمت كتابة Node.js بلغة C ++ و Deno in Rust و Bun in Zig. يقول موقع Bun على الويب: "إن التحكم المنخفض المستوى في الذاكرة ونقص تدفق التحكم الخفي في Zig يجعل من السهل كتابة البرامج السريعة".

أثناء تشغيل كل من Node و Deno لمحرك Google V8 ، يستفيد Bun من أداء "البدء السريع" لـ Webkit جافا سكريبت كور المحرك الذي يستخدمه Safari من Apple. تُظهر نتائج Benchmark من موقع الويب كيف يتفوق Bun على كل من Node و Deno في الأداء ، حيث يعمل على الأقل 3 مرات أسرع من كلا فترتي التشغيل.

يحتوي Bun على npm (مدير حزمة Node) مدمج مما يجعل تثبيت الحزمة من npm أمرًا سهلاً وسريعًا (20x السرعة في Node) ، كما أنه يدعم TypeScript وملفات TS و JSX ذات التحويل التلقائي. تشمل الميزات المثيرة الأخرى لـ Bun عميل SQLite3 يحمل في ثناياه عوامل ، وواجهات برمجة تطبيقات الويب مثل الجلب و WebSocket ، والتحميل التلقائي لمتغيرات البيئة ، وجهاز اختبار.

من بين الثلاثة ، يأخذ بون الكعكة للأداء. تظل Node هي الأكثر استقرارًا مع مجتمع كبير جدًا ، في حين أن Deno هو الأكثر أمانًا حاليًا.

هل سيؤثر Bun.js حقًا على النظام البيئي؟

النظام البيئي متحمس لإصدار Bun. من المقبول أن الضجة حول بون كانت ضخمة منذ الإعلان. إنها بالتأكيد صفقة كبيرة. سيحب مطورو JavaScript حقًا النظر في سرعته "الفائقة" وأدواته القوية للإنتاجية.

بالإضافة إلى، خادم Bun’s Discord لديها بالفعل أكثر من 2000 عضو مما يثبت الإثارة في المجتمع لهذه التكنولوجيا الجديدة.

ما هو مستقبل Node.js و Deno.js و Bun.js؟

جافا سكريبت لن تختفي في أي وقت قريبًا. في الواقع ، إنها إحدى التقنيات التي نحن على يقين من أنها ستظل موجودة في غضون 10 سنوات من الآن. لدى Node و Deno و Bun مستقبل أيضًا.

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

الحالة مشابهة لـ Deno ، التي يتم تطويرها بنشاط وتنمو بشكل أكبر. تتقدم شركة Deno أيضًا في حل SaaS لتوفير خدمات وقت تشغيل JavaScript مُدارة.

لا يزال موقع Bun.js غير مستقر ولديه دعم محدود (تحتاج نظام Windows الفرعي لنظام التشغيل Linux لتشغيله على نظام التشغيل Windows). على الرغم من أنه يحتوي على العديد من الإمكانات ، إلا أنه لا يمكن أن يكون خيارًا لبرنامج جاهز للإنتاج الآن حيث لا يزال هناك الكثير من العمل للقيام به.

في حين أن المستقبل واعد بالتأكيد بالنسبة لـ Bun ، فمن المنطقي الاعتقاد بأن هذه التقنيات الثلاثة ستنتهي على الأرجح إلى الوجود المشترك في النظام البيئي ، وليس إحداها تحل محل الأخرى.

قد يكون Bun.js مغيرًا لقواعد اللعبة

مع Bun ، قد تتحسن الكثير من الأشياء حول JavaScript. ربما حان الوقت لاكتساب JavaScript اعتمادًا أفضل في المجالات ذات الأهمية الحاسمة للأداء مثل الذكاء الاصطناعي / تعلم الآلة ، وتطوير الألعاب ، وما إلى ذلك. توجه إلى Bun.sh موقع لتعلم كيفية التثبيت وبدء التطوير باستخدام Bun.