الإجابة المختصرة أولًا، لأنها ما يبحث عنه الناس: لم يصدر Bun 2.0. فحتى أغسطس 2026 الإصدار الحالي هو Bun 1.3، ولا وجود لإصدار 2.0 معلَن.
وكثير من المقالات ومقاطع الفيديو تشير إلى «Bun 2.0»؛ بعضها تكهّن، وبعضها يصف ميزات من سلسلة 1.x تحت رقم إصدار لم يُطلق قط. فإن كنت تخطط اعتمادًا على إصدار 2.0، فخطط اعتمادًا على 1.3 بدلًا منه.
وبعد توضيح ذلك، يبقى السؤال المفيد: هل Bun هو بيئة التشغيل المناسبة لك اليوم؟ الإصدارات وقت الكتابة: Bun 1.3.14 وNode 26.7 وDeno 2.9.
ما هو Bun فعلًا
Bun بيئة تشغيل JavaScript مبنية على JavaScriptCore — محرك Safari — لا على V8. وهذا الاختيار وحده يفسّر معظم سلوكه: خصائص أداء مختلفة، وسطح توافق يجب تنفيذه لا وراثته.
وما يجعله مثيرًا للاهتمام ليس السرعة الخام بل التجميع. فملف تنفيذي واحد يحل محل بيئة التشغيل ومدير الحزم والمُجمّع ومشغّل الاختبارات:
bun install # بدل npm install
bun run dev # بدل npm run dev
bun test # بدل jest أو vitest
bun build ./index.ts # بدل esbuild أو rollup
bun --hot server.ts # وضع المراقبة، مدمج
وتعمل TypeScript و JSX مباشرة دون خطوة بناء ودون إعداد. ولهذا وحده أثر ملموس في تقليل التهيئة للسكربتات والخدمات الصغيرة.
مقارنة بين Bun و Node و Deno
| Bun 1.3 | Node 26 | Deno 2.9 | |
|---|---|---|---|
| المحرك | JavaScriptCore | V8 | V8 |
| TypeScript | يعمل مباشرة | إزالة الأنواع مدمجة | يعمل مباشرة |
| مدير الحزم | مدمج وسريع جدًا | npm و pnpm و yarn | متوافق مع npm |
| مشغّل الاختبارات | مدمج | مدمج | مدمج |
| المُجمّع | مدمج | لا | مدمج |
| التوافق مع npm | عالٍ لا كامل | كامل، فهو المرجع | عالٍ عبر npm: |
| نضج المنظومة | الأحدث | الأكبر بفارق | وسط |
| الأفضل في | السكربتات والأدوات والتثبيت السريع | كل شيء بأمان | سكربتات آمنة افتراضيًا |
وقد أغلق Node كثيرًا من فجوة الراحة التي جعلت Bun لافتًا في 2023، إذ صار يزيل أنواع TypeScript أصلًا ويشحن مشغّل اختبارات ووضع مراقبة خاصين به. فحجّة Bun اليوم أضيق مما كانت، وأكثر تحديدًا.
أين يتفوق Bun فعلًا
سرعة التثبيت. وهي أقل مزاياه إثارةً للجدل وأسهلها إحساسًا. فعلى ذاكرة CI باردة يكون الفارق كبيرًا عبر شجرة اعتماديات ضخمة، ويتكرر مع كل تشغيل.
TypeScript بلا إعداد. فتشغيل ملف .ts مباشرة دون خطوة بناء ولا مناورات tsconfig ولا رايات محمّلات يزيل صنفًا كاملًا من الاحتكاك في السكربتات والأدوات الداخلية.
كل شيء مضمّن. ألا تختار بين Jest و Vitest، وألا تعدّ esbuild، وألا تضيف nodemon — بالنسبة لخدمة صغيرة هذا توفير حقيقي في القرارات لا في أجزاء الثانية.
// server.ts — خادم HTTP كامل بلا اعتماديات
const server = Bun.serve({
port: 3000,
routes: {
'/api/health': new Response('ok'),
'/api/users/:id': async (req) => {
const { id } = req.params
const user = await db.query('SELECT * FROM users WHERE id = ?', [id])
return Response.json(user)
},
},
})
أين لا يزال ليس الجواب
- التوافق العميق مع npm. فمعظم الحزم تعمل، وما لا يعمل منها عادةً هو ذو الارتباطات الأصلية أو الداخليات غير المعتادة في Node — وتكتشف ذلك في لحظة غير مناسبة.
- الأنظمة الإنتاجية الكبيرة ذات التزامات الخدمة الصارمة. فخلف Node عقد من المعرفة التشغيلية: أدوات تحليل الأداء وتنقيح الذاكرة، وشخص واجه مشكلتك قبلك.
- دعم المنصّات المُدارة. تحسّن كثيرًا، لكن Node يبقى الهدف الافتراضي في كل مكان والملاذ عند الغموض.
- ضمانات الدعم طويل الأمد. فدورة LTS في Node متوقعة وتخطط عليها المؤسسات، أما دورة Bun فأحدث وأقل رسوخًا.
طريقة معقولة للتبنّي
- استخدم
bun installفقط. فهو ينتجnode_modulesعاديًا، فتبقي كل شيء على Node وتثبّت أسرع. وهذا أعلى عائد بأقل مخاطرة. - انقل السكربتات والأدوات الداخلية إلى Bun. التحويلات البرمجية والترحيلات والمهام العابرة — تعمل TypeScript مباشرة ولا شيء يمس المستخدم.
- جرّب خدمة صغيرة واحدة. شيء حقيقي لكنه غير حرج، فتظهر مشكلات التوافق حيث تكون كلفتها زهيدة.
- وعندها فقط فكّر في التطبيق الرئيسي، وبشرط ألا تكون الخطوات الثلاث الأولى قد فاجأتك.
ومعظم الفرق تتوقف عند الخطوة الأولى أو الثانية وتكون راضية تمامًا، وهذه نتيجة مشروعة لا تقصير في الالتزام.
كيف تتحقق من الإصدار بنفسك
bun --version # ما هو المثبّت لديك
bun upgrade # الانتقال إلى أحدث إصدار مستقر
ويستحق ذلك قبل الثقة بأي مقال، بما فيه هذا. فادعاءات الإصدارات تتقادم سريعًا، ودليل يصف إصدارًا غير موجود أكثر شيوعًا مما ينبغي.
الخلاصة
Bun في 2026 بيئة تشغيل جيدة فعلًا وذات هوية واضحة: تثبيت سريع، وبلا إعداد، وكل شيء في ملف واحد. لكنه ليس بديلًا مباشرًا لـ Node في كل سياق، والادعاء بغير ذلك يضيّع وقت الناس.
استخدمه اليوم للسكربتات والأدوات والخدمات الصغيرة، واستخدم bun install في معظم الأماكن، وأبقِ Node للنظام الكبير ذي المناوبة حتى تملك دليلًا محددًا يقول غير ذلك — وتجاهل من يبيعك إصدار 2.0 لم يصدر.
أسئلة شائعة
هل صدر Bun 2.0؟
لا. فحتى أغسطس 2026 الإصدار الحالي هو Bun 1.3، ولم يُعلن أي إصدار 2.0. والمقالات التي تشير إلى «Bun 2.0» إما تتكهّن أو تصف ميزات 1.x برقم إصدار خاطئ. تحقّق بـ bun --version.
ما أحدث إصدار من Bun؟
Bun 1.3، وقد نُشر الإصدار 1.3.14 في مايو 2026. شغّل bun upgrade للانتقال إلى أحدث إصدار مستقر.
هل Bun أسرع من Node.js؟
في تثبيت الاعتماديات وزمن الإقلاع نعم بوضوح، وستشعر بذلك. أما في إنتاجية الخادم المستقرة فالفارق أصغر بكثير ويعتمد على العبء — فقِس تطبيقك أنت بدل الوثوق برقم في عنوان.
هل Bun جاهز للإنتاج في 2026؟
للسكربتات والأدوات الداخلية والخدمات الصغيرة نعم، وفرق كثيرة تشغّله. أما للأنظمة الكبيرة ذات متطلبات الإتاحة الصارمة فلا يزال خلف Node عقد إضافي من الأدوات التشغيلية والمعرفة المؤسسية.
هل أستطيع استخدام حزم npm مع Bun؟
معظمها نعم، إذ ينفّذ Bun حصة كبيرة من واجهات Node. وتتركّز الإخفاقات في الحزم ذات الارتباطات الأصلية أو الداخليات غير المعتادة، لذا اختبر شجرة اعتمادياتك فعليًا بدل الافتراض.
هل أستخدم Bun أم Deno؟
Bun للسرعة ولسلسلة أدوات متكاملة بأسلوب npm المألوف، و Deno للأذونات الآمنة افتراضيًا وللتوافق القوي مع معايير الويب. وكلاهما جيد، ويميل Bun إلى أن يبدو أكثر ألفة لمطوّري Node.
هل أستطيع استخدام Bun كمدير حزم فقط؟
نعم، وهي أفضل خطوة أولى. فـ bun install ينتج node_modules عاديًا، فتحصل على تثبيت أسرع بكثير مع إبقاء كل شيء يعمل على Node.
هل يدعم Bun لغة TypeScript دون خطوة بناء؟
نعم، فشغّل ملف .ts مباشرة دون تصريف ودون إعداد. وقد صار Node 26 يزيل الأنواع أصلًا أيضًا، فصارت الميزة أقل تفرّدًا مما كانت، وإن كانت نسخة Bun لا تحتاج أي رايات.
التعليقات (0)
اترك تعليقًا
لا توجد تعليقات بعد. كن أول من يشارك أفكاره!