Ну, давайте честно: Bun - это попытка сделать Node.js таким, каким он должен был быть с самого начала. Быстрым, современным и без этой адской возни с package.json и node_modules. По сути, это новый JavaScript-рантайм (как Node или Deno), но с одним жирным отличием: он поставляется уже с кучей встроенных инструментов. Вам не нужен отдельно Webpack, Babel, TypeScript-компилятор, npm или yarn. Bun делает всё сам. И делает это чертовски быстро.
Создал его парень по имени Джарред Саммер, и главная фишка тут - производительность. Bun написан на языке Zig (который, в отличие от C, безопаснее по памяти) и использует JavaScriptCore от Safari вместо V8 от Google. Это даёт бешеный прирост в скорости запуска и выполнения скриптов, особенно на серверной стороне. Многие тесты показывают, что Bun быстрее Node в 2-4 раза на стандартных операциях.
Всё просто. Если вы на Mac или Linux, можно через curl:
curl -fsSL https://bun.sh/install | bash
Или если вы на Windows (через WSL или Git Bash):
powershell -c "irm bun.sh/install.ps1 | iex"
После установки проверяем версию:
bun --version
Теперь создайте файл server.ts:
Bun.serve({
port: 3000,
fetch(request) {
return new Response("Привет из Bun!");
},
});
console.log("Сервер запущен на localhost:3000");
Запускаем одной командой:
bun run server.ts
Готово. Никаких зависимостей, никакого package.json (хотя он тоже поддерживается).
Плюсы: Скорость - это главное. Я не шучу, когда говорю, что bun install ставит 100 пакетов за секунду. Встроенный SQLite - находка для быстрых прототипов. Нет головной боли с настройкой сборщиков. Очень низкий порог входа: написал код, запустил bun run - работает. Ещё он поддерживает Web API (fetch, WebSocket) из коробки, что делает код более универсальным.
Минусы: Bun ещё не стабилен на 100%. Иногда вылетают странные ошибки, особенно на Windows (через WSL всё ок, но нативно - пока боль). Совместимость с Node.js неполная - некоторые npm-пакеты, особенно старые или использующие нативные C++ аддоны (node-gyp), просто не работают. Ну и комьюнити пока меньше, чем у Node - если у вас проблема, ответ в StackOverflow может найтись не сразу.
Bun - это сейчас выбор для тех, кто хочет писать на TypeScript без лишнего геморроя. Если вы делаете небольшой API, прототип или бота в телеграме - берите Bun, не пожалеете. Для больших продакшен-проектов на Node.js пока лучше подождать полной стабильности. Но следить за Bun стоит однозначно: он уже сейчас меняет правила игры. Лично я перевёл на него все свои пет-проекты и доволен как слон.
Комментариев пока нет