Насколько быстрым является Bun.sh?

Bun — это сверхбыстрая среда выполнения JavaScript, которая захватила Интернет и которая в ближайшие годы будет доминировать на рынке разработки JavaScript. По крайней мере, так утверждают люди в Интернете. Но есть ли в этом хоть доля правды — это уже другая история.

Что такое движок JavaScript?

Прежде чем мы перейдем непосредственно к Bun, давайте разберемся, что же на самом деле представляет собой и чем занимается JS-движок.

Сколько себя помнят разработчики, JavaScript в основном выполнялся только в веб-браузере.

А для этого ему необходим некий движок, который будет разбирать JavaScript и превращать его в функциональное приложение, с которым пользователи могут взаимодействовать и видеть.
Добро пожаловать в JavaScript движки.

Велика вероятность того, что вы хотя бы слышали об одном популярном движке JavaScript — это движок V8, созданный компанией Google и предназначенный для использования в браузере Chrome. В настоящее время этот движок также используется в Node.js.
Он популярен, и на то есть веские причины. Он хорошо поддерживается и поддерживается компанией Google. Две важные причины. Но есть несколько конкурентов, с которыми ему приходится бороться.

SpiderMonkey — это движок JavaScript, который Mozilla использует для своих браузеров FireFox и который также реализует WebAssembly.

А JavaScriptCore — это движок, созданный компанией Apple для браузера Safari. JavaScriptCore работает быстро. Как правило, быстрее, чем два других.

Вы можете увидеть здесь закономерность. По сути, каждый крупный браузер, представленный в настоящее время на рынке, должен был создать свой собственный движок JavaScript. Но в некоторых случаях они могут использовать существующий движок, например, Opera, которая использует V8.

Что такое среда выполнения?

Время выполнения — это, по сути, место, где программа выполняется на вашей машине с помощью одного из этих движков.

Node.js и Deno в настоящее время являются доминирующими силами в этой области, оба используют движок V8 от Google и оба созданы Райаном Далом (и соавтором).

Что такое Bun?

Bun — это среда выполнения JavaScript, такая же, как Node.js и Deno, которая была создана с нуля, чтобы сосредоточиться на скорости и общей производительности, и если бенчмарки соответствуют действительности, то она довольно сильно доминирует над своими конкурентами. И он поставляется из коробки с большим количеством функций (см. ниже), которые определенно могут заменить ваши текущие реализации JavaScript движков.

Bun реализует сотни Node.js и Web API, а также поддерживает fs, path и Buffer. В настоящее время Bun можно установить на MacOS x64, Linux x64 или Windows Subsystem for Linux (WSL).

Официальную страницу GitHub для Bun можно найти здесь.

Но давайте перейдем к особенностям, которые действительно выделяют Bun на фоне остальных, потому что их довольно много.

Особенности

В настоящее время Bun поддерживает такие Web API, как fetch, WebSocket и ReadableStream. И, судя по всему, он сможет поддерживать любые новые API, добавленные в будущем.
Bun также транспонирует каждый файл, что означает, что TypeScript и JSX работают из коробки, не требуя никаких дополнительных зависимостей.

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

В настоящее время Bun реализует около 90% функций Node API, что опять же означает, что внедрение новой среды исполнения в ваши проекты будет практически беспроблемным процессом.

И последнее, но не менее важное, Bun также поставляется с клиентом SQLite3, bun:sqlite. По количеству запросов в секунду, которые он может выполнять, он в несколько раз быстрее некоторых своих конкурентов, таких как better-sqlite3 или deno.

Так что в некотором смысле Bun — это многофункциональная, созданная с нуля и высокопроизводительная среда выполнения JavaScript с жизненно важными компонентами, встроенными в движок с самого начала.

Заменит ли он Node.js?

Лично мне нравится то, что я вижу в Bun. Подход, основанный на производительности, станет жизненно важным в ближайшие годы, поскольку приложения становятся все сложнее и сложнее, а наборы данных все больше и больше.

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

Еще более примечательно то, что Bun еще очень молод и не реализовал все текущие API Node.js. И как только он это сделает, нам еще предстоит увидеть, будет ли он работать так же хорошо. Ведь Node.js и Deno имеют преимущество в том, что они существуют уже некоторое время, поэтому многие ошибки были обнаружены и исправлены.

Счастливого кодинга!!!

На этом мы завершаем статью о Bun.sh, дайте мне знать, что вы думаете об этом ниже.

Спасибо, что дочитали до этого места. Тем временем вы можете ознакомиться с другими статьями моего блога и посетить мой Github.

В настоящее время я работаю над Stone CSS (Github)

Оцените статью
devanswers.ru
Добавить комментарий