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

Встречайте Bun — среду выполнения JavaScript нового века

Устав от постоянного переизобретения фреймворков, разработчики JavaScript все больше внимания уделяют созданию совершенно новых сред выполнения JavaScript. Созданный с помощью Node JS, слегка переработанный для создания Dino, теперь мы являемся свидетелями свежеиспеченной булочки, которая недавно с гордостью достигла версии 10.

Но что делает Бана примечательным?

Bun действует как мечта любого разработчика, выполняя многоцелевую роль. Он не только запускает код JavaScript с беспрецедентной скоростью, но также выполняет функции сборщика пакетов, аналогичного Webpack или Vite, средства запуска тестов, аналогичного Jest или Karma, и менеджера пакетов, имитирующего Yarn или NPM.

Еще более заманчиво то, что Bun хорошо сочетается с существующими API-интерфейсами Node JS, представляя при этом свой набор высокооптимизированных API-интерфейсов. Итак, создание высокопроизводительных серверных приложений с помощью JavaScript еще никогда не было таким приятным!

Bun general API code here

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

Булочка в действии!

Давайте приступим к написанию реального кода с использованием Bun. Вы должны начать с установки нового окна терминала. Затем вы должны определить сервер Bun в файле index TS для прослушивания порта 8000. Этот сервер будет захватывать входящие запросы и отвечать клиенту. Посмотрите, как легко настроить веб-сервер!

Конечно, Бан это еще не все. Мир Bun может похвастаться множеством библиотек и инструментов, адаптированных для среды выполнения. Одна из самых быстрых веб-платформ в отрасли, Alicia, обещает сквозную безопасность и выдающийся опыт разработчиков.

Бан, понимая решающую роль TypeScript в современной веб-разработке, предлагает первоклассную поддержку, включая встроенную поддержку JSX. Он также поддерживает модули CommonJS — отличительную черту Node JS — хотя рекомендует модули DS.

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

Время выполнения за пределами булочки

Завершая нашу дискуссию о средах выполнения, я должен с почетом упомянуть Dino, еще одну известную среду выполнения JS, созданную Райаном Далем, создателем Node JS. Примечательно, что Dino представляет собой целую платформу, предоставляющую полнофункциональную структуру, собственное хранилище ключей и даже услуги по развертыванию.

На этом мы завершаем наш разговор о Буне. Я надеюсь, что это было для вас интригующее путешествие по сложной работе Бана, новичка в блоке среды выполнения Java Script.

Как Бану удается достигать таких головокружительных скоростей?

«Есть что-то более удивительное, чем вид и запах свежеиспеченной булочки. И это его производительность».

В отличие от Node и Dino, Bun использует ядро ​​JavaScript от Safari, а не обычный движок V8 от Chrome.

Кроме того, Bun разработан на новаторском языке программирования Zig, известном своей производительностью профилирования, что позволяет ему выявлять узкие места в производительности и внедрять API-интерфейсы в собственный код с более быстрым запуском.

Эти готовые функции позволили приветствовать TypeScript, который в пять раз быстрее, чем сборка Es. Тем не менее, важно понимать, что тесты могут быть выборочными и не могут полностью отражать реальную производительность.

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

Восторг разработчика: опыт Bun

Достижение высокой скорости полезно, но разработчик также стремится к бесперебойной работе. Итак, Бун и здесь удовлетворяет наши потребности? Оказывается, да!

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

Более того, он расширяет поддержку JSX и допускает горячую перезагрузку, тем самым устраняя необходимость в посторонних зависимостях, таких как Nodemon, и одновременной перекомпиляции вашего кода при внесении изменений.

Более того, Bun плавно управляет переходом от модулей CommonJS к модулям es и поддерживает комбинированное использование импорта и запроса в одном файле, а это означает, что все ваши усилия по программированию просто волшебным образом работают!

Экосистема Bun также хорошо обогащена собственными API, такими как глобальная среда выполнения Bun, которая позволяет эффективно читать и записывать в файловую систему. Другие функции, такие как настройка HTTP-сервера простым вызовом метода submit и простое создание WebSockets, делают Bun фаворитом.

Вишенкой на торте является то, что Bun завершает работу с базой данных SQLite, встроенной непосредственно в среду выполнения, и менеджером пакетов, который в 25 раз быстрее, чем NPM!

Итак, есть ли будущее с Баном? Как всегда, только время может показать. Но на данный момент и Моджо, и Бан заслуживают огромных аплодисментов за то, что установили новые стандарты в мире веб-разработки!

Рекомендации