Так что же представляет собой эта новая среда выполнения Javascript и чем она отличается от других, таких как Node и Deno. Давайте углубимся в это…

Что такое Бан?

Объединяйте, транспилируйте, устанавливайте и запускайте проекты JavaScript и TypeScript — все в Bun. Bun — это новая среда выполнения JavaScript с собственным сборщиком, транспайлером, средством запуска задач и встроенным клиентом npm. — Официальный сайт Бун.

Bun — это проект с открытым исходным кодом, основанный Джарредом Самнером, бывшим фронтенд-инженером в Stripe. Эта среда выполнения Javascript является альтернативой существующим средам выполнения, таким как Node, Deno и т. д. Она была создана с нуля, чтобы сосредоточиться на трех основных вещах:

  • Начинайте быстро (имеется в виду преимущество).
  • Новые уровни производительности (расширение JavaScriptCore, движок).
  • Отличный и полноценный инструмент (бандлер, транспайлер, менеджер пакетов).

Bun разработан как замена вашим текущим приложениям или сценариям JavaScript и TypeScript — на вашем локальном компьютере, сервере или на периферии. Бан изначально реализует сотни Node.js и веб-API, включая ~ 90% функций Node-API (собственные модули), fs, path, Buffer и многое другое.

Почему Бан?

Цель Bun — запускать большую часть мирового JavaScript вне браузеров, улучшая производительность и сложность вашей будущей инфраструктуры, а также повышая производительность разработчиков за счет более качественных и простых инструментов.

Bun обещает исключительную производительность: его собственные тесты показывают в три раза больше HTTP-запросов в секунду, чем Node.js, и почти в четыре раза больше, чем может предоставить Deno.

Вы можете найти дополнительные бенчмарк-тесты в верхней части сайта Bun.

Как работает Бан?

Bun.js использует движок JavaScriptCore, который обычно запускается и работает немного быстрее, чем более традиционные варианты, такие как V8. Бан написан на Zig, низкоуровневом языке программирования с ручным управлением памятью, находящемся в стадии разработки, в настоящее время в версии 0.9.1.

Большая часть Bun написана с нуля, включая транспилятор JSX/TypeScript, клиент npm, упаковщик, клиент SQLite, клиент HTTP, клиент WebSocket и многое другое.

Почему Бун быстрый?

Ответ для каждой части Bun разный, но есть одна общая тема: «Низкоуровневый контроль Zig над памятью и отсутствие скрытого потока управления значительно упрощает написание быстрого программного обеспечения», — говорит команда Bun.

Начиная

Чтобы настроить базовое приложение Bun, вы можете запустить следующий скрипт в своем терминале:

curl https://bun.sh/install | bash

HTTP-сервер Бана построен на веб-стандартах, таких как запрос и ответ.

// http.js
export default {
  port: 3000,
  fetch(request) {
    return new Response("Welcome to Bun!");
  },
};

Запустите его с булочкой:

bun run http.js

Затем откройте в браузере http://localhost:3000.