Это время года снова, новая среда выполнения JS здесь, но на этот раз она немного отличается, новая среда выполнения JavaScript под названием Bunimmerge претендует на звание самой быстрой из когда-либо существовавших 👀.

Представляем булочку

Таким образом, очевидно, Бан был создан, чтобы сосредоточиться на трех основных аспектах:

Быстрая загрузка: я имею в виду очень быструю, примерно в 3 раза быстрее, чем Node.

Высокая производительность: загрузка — это только начало, кроме того, Бан оказался намного быстрее, когда сервер реагировал, выполнял запросы к базе данных или выполнял простой нативный код.

Отличный комплексный инструмент: помимо всей этой скорости, Bun предлагает множество встроенных функций и, прежде всего, поддерживает большинство пакетов npm, и давайте не будем забывать, что Bun все еще находится в стадии бета-тестирования, так что это действительно впечатляет, если не сказать больше. Вот небольшой список того, что Bun предлагает как встроенные функции и многое другое:

Поняв, что Bun действительно эффективен, на ум приходит вопрос: как он на самом деле всего этого достигает?

Bun достигает такой скорости, потому что использует JavaScriptCore (из webkit), хотя в целом считается, что он намного быстрее, но считается, что с ним можно работать в дополнение к тому, что Bun написан на языке с низким кодированием, называемом ZIG, который предлагает низкоуровневый контроль над памятью и отсутствие скрытого потока управления, что значительно упрощает написание быстрого программного обеспечения.

Добавьте к этому тот факт, что Bun находится в одной среде выполнения, что означает, что у него есть собственный сборщик модулей для замены таких инструментов, как Webpack, а также собственный транспайлер, поэтому можно писать код Typescript напрямую, а также для файлов jsx.

Так что да, это Bun, я искренне верю, что у него многообещающее будущее, потому что отчасти из всех причин, перечисленных выше, Bun поддерживает большинство пакетов npm в дополнение к тому, что у него уже есть необходимые функции, которые уже встроены в то, чего не было в deno, и Node слишком долго переносился на оно вернулось.