طوال عقد كامل، كان إطلاق تطبيق JavaScript يعني تجميع صندوق أدوات متكامل: Node لتشغيل الكود، وnpm لتثبيت الحزم، وwebpack للتجميع، وBabel للتحويل، وJest للاختبار، وts-node لـ TypeScript، وnodemon لإعادة التحميل. يختصر Bun كل ذلك في ملف تنفيذي واحد. يقول مبتكره جاريد سامنر: "لم نبنِ Bun ليحلّ محل Node.js، بل بنيناه ليحلّ محل الخمس عشرة أداة التي تحتاجها إلى جانب Node.js."
في 2026، حقّق هذا الطرح نجاحاً واسعاً. وصل Bun إلى الإصدار المستقر v1.3، وتجاوز نحو 98% من توافق واجهات Node.js التي يستخدمها المطوّرون فعلياً، ثم — في خطوة أعادت تشكيل المشهد — استحوذت عليه شركة Anthropic في ديسمبر 2025. أصبح Bun الآن بنية تحتية أساسية لـ Claude Code وحزمة Claude Agent SDK، مع بقائه مفتوح المصدر برخصة MIT.
يستعرض هذا الدليل ما يفعله Bun فعلياً، والأوامر التي ستستخدمها يومياً، وما إذا كان مناسباً لمنظومتك التقنية.
لماذا Bun سريع
كُتب Bun بلغة Zig وبُني على محرّك JavaScriptCore من Apple بدلاً من محرّك V8 من Google. والنتيجة انخفاض كبير في زمن بدء التشغيل وارتفاع في الإنتاجية. في قياسات 2026، يعالج خادم HTTP بسيط في Bun نحو 52,000 طلب في الثانية مقابل نحو 13,000 في Node، ويبدأ خلال نحو 290 مللي ثانية مقابل نحو 940 في Node، ويستهلك ذاكرة أقل بنسبة 25 إلى 40 بالمئة في وضع الخمول.
ويأتي مدير الحزم في المقدمة من حيث الفارق المحسوس. يستغرق تثبيت تطبيق React جديد مع تبعياته نحو ثانيتين باستخدام bun install مقارنة بنحو 18 ثانية مع npm install. وبالنسبة لخطوط CI التي تعمل مئات المرات يومياً، فهذا الفارق يعني توفيراً حقيقياً.
البداية
ثبّت Bun بأمر واحد، دون الحاجة إلى مدير إصدارات:
curl -fsSL https://bun.sh/install | bash
# التحقق
bun --version
# إنشاء مشروع جديد
bun initيشغّل Bun كود TypeScript وJSX مباشرة دون خطوة بناء. تعمل الـ enums والـ decorators والـ namespaces بشكل افتراضي:
bun run index.tsملف واحد، أربع وظائف
تكمن القيمة الجوهرية لـ Bun في التوحيد. الملف نفسه يتولى المهام الأربع التي تتطلب عادة أربع أدوات منفصلة.
مدير الحزم
يقرأ Bun ملف package.json الحالي، وهو بديل مباشر لـ npm أو yarn أو pnpm. ومنذ الإصدار v1.2، يكتب ملف قفل نصياً قابلاً للقراءة (bun.lock) بدلاً من ملف ثنائي، ما يجعل الفروق قابلة للمراجعة.
bun install # تثبيت التبعيات
bun add hono # إضافة تبعية
bun add -d vitest # إضافة تبعية تطوير
bun remove lodash # إزالة حزمة
bunx cowsay "hello" # تشغيل حزمة دون تثبيت (مثل npx)منفّذ الاختبارات
يأتي Bun مع منفّذ اختبارات متوافق مع Jest مدمج في الملف التنفيذي. لا شيء لتثبيته ولا ملف إعداد لكتابته.
import { test, expect } from "bun:test";
test("addition works", () => {
expect(2 + 2).toBe(4);
});bun test # تشغيل كل الاختبارات
bun test --watch # إعادة التشغيل عند التغييرأداة التجميع
تجمع bun build كود الواجهة الأمامية والخلفية معاً. ومنذ الإصدار 1.3، يمكن لعملية بناء واحدة إنتاج أصول المتصفح وخادم في آنٍ، كما باتت الملفات التنفيذية المنفردة تدعم التطبيقات المتكاملة.
bun build ./index.ts --outdir ./dist --target browser --minifyبيئة التشغيل
إلى جانب تشغيل السكربتات، يوفّر Bun واجهات أصلية سريعة. تتولى Bun.file وBun.write عمليات الإدخال والإخراج أسرع من نظيراتها في Node، ويمنحك --hot إعادة تحميل حيّة دون nodemon:
bun --hot server.tsبناء تطبيق متكامل
حوّل الإصدار 1.3 بيئة التشغيل إلى منصة متكاملة حقيقية. أصبحت Bun.serve() تدعم كائن مسارات يحتوي على معاملات مسار ديناميكية، ومعالجات منفصلة لكل طريقة HTTP، واستيراداً مباشراً لملفات HTML — أي أن الواجهة الأمامية وواجهة الـ API تعملان في خادم واحد مع إعادة تحميل فورية مجاناً.
import { serve } from "bun";
import homepage from "./index.html";
serve({
port: 3000,
routes: {
"/": homepage,
"/api/users/:id": {
GET: (req) => Response.json({ id: req.params.id }),
DELETE: (req) => Response.json({ deleted: req.params.id }),
},
},
});عند استيراد ملف HTML، يجمّع Bun تلقائياً السكربتات وأوراق الأنماط المرتبطة به، ويطبّق إعادة التحميل الحيّة أثناء التطوير، ويقدّم أصولاً محسّنة في الإنتاج. لا حاجة لإعداد Vite أو webpack منفصل.
عملاء قواعد بيانات مدمجون
من أبرز ميزات 2026 الوصول الأصلي إلى قواعد البيانات دون أي مشغّل خارجي. بدأت Bun.sql كعميل لـ PostgreSQL، وأصبحت الآن واجهة موحّدة تشمل PostgreSQL وMySQL وMariaDB وSQLite، إلى جانب عميل Redis مدمج.
import { sql } from "bun";
const users = await sql`
SELECT id, name FROM users WHERE active = ${true}
`;وللبيانات المحلية، يقدّم bun:sqlite مشغّل SQLite متزامناً وسريعاً مدمجاً في بيئة التشغيل:
import { Database } from "bun:sqlite";
const db = new Database("app.sqlite");
db.run("CREATE TABLE IF NOT EXISTS notes (id INTEGER, body TEXT)");استعلامات القوالب الموسومة مُعاملة بشكل افتراضي، فتحصل على حماية من حقن SQL دون الحاجة إلى ORM.
عامل Anthropic
أكبر تحوّل استراتيجي خلال العام كان استحواذ Anthropic على Bun في ديسمبر 2025. لفترة طويلة، كان أبرز اعتراض على تبنّي Bun هو الاستدامة: بيئة تشغيل سريعة يصونها فريق صغير تحمل خطر التوقّف. هذا القلق تراجع كثيراً الآن. فـ Bun هو الأساس الذي بُني عليه Claude Code وحزمة Claude Agent SDK، ما يعني أن شركة ذكاء اصطناعي جيدة التمويل لها مصلحة مباشرة في إبقائه سريعاً ومتوافقاً ومصاناً لسنوات.
والأهم أن المشروع بقي مفتوح المصدر برخصة MIT بعد الصفقة. وبالنسبة للفرق في منطقة الشرق الأوسط وشمال إفريقيا — حيث يهمّ تجنّب الارتباط بمورّد واحد وإبقاء البنية التحتية قابلة للاستضافة الذاتية — يمثّل هذا الجمع بين الدعم المؤسسي والرخصة المفتوحة أفضل ما في العالمين.
هل ينبغي أن تنتقل؟
Bun جاهز للإنتاج في معظم أحمال العمل في 2026، لكن القرار يعتمد على وضعك:
- المشاريع الجديدة: ابدأ بـ Bun. تحصل على السرعة، وTypeScript دون إعداد، ومنفّذ اختبارات، وأداة تجميع منذ اليوم الأول.
- CI والأدوات: حتى لو كان تطبيقك يعمل على Node في الإنتاج، فإن تحويل CI إلى
bun installوbun testوسيلة منخفضة المخاطر لخفض زمن الخط فوراً. - تطبيقات Node القائمة: اختبر التوافق أولاً. تبلغ التغطية نحو 98% للواجهات الشائعة، لكن الإضافات الأصلية وبعض تفاصيل Node الداخلية النادرة قد تختلف. شغّل مجموعة اختباراتك تحت Bun قبل الالتزام.
- الحوسبة الطرفية وبدون خادم: زمن البدء البارد دون 300 مللي ثانية يجعل Bun مناسباً تماماً للدوال بدون خادم حيث يهيمن زمن الإقلاع على الكلفة.
الخلاصة
وعد Bun بسيط: ملف تنفيذي واحد سريع بدلاً من كومة هشّة من الأدوات. وفي 2026 صار هذا الوعد واقعاً — إصدارات مستقرة، وتوافق شبه كامل مع Node، وخادم تطوير متكامل، وعملاء قواعد بيانات أصليون، ودعم مالي من Anthropic. وسواء تبنّيته بالكامل أو استخدمته لتسريع CI فقط، لم يعد Bun تجربة. إنه أساس جاد وجيّد الدعم لإطلاق JavaScript وTypeScript بوتيرة أسرع.
إن كنت تحدّث منظومة ويب أو تبدأ مشروعاً جديداً، فإن Bun يستحق مكاناً في قائمتك المختصرة. في نقطة، نساعد الفرق في تونس ومنطقة الشرق الأوسط وشمال إفريقيا على اختيار الأدوات المناسبة وتبنّيها — سريعة، ومفتوحة، ومبنية لتدوم.