В этой статье я объясню значение слова runtime и кратко расскажу о Bun
Что такое время выполнения?
Runtime — это среда, в которой будет выполняться javascript.
Если вы еще не поняли, я объясню. Работа среды исполнения заключается в выполнении JavaScript вне браузера, поэтому это первый шаг для использования JS в качестве бэкенд-языка. Сначала необходимо реализовать свой движок выполнения, в случае с нодой используется V8, который является движком от Google.
Но одного этого недостаточно для того, чтобы JS был языком бэкенда, потому что сам по себе JavaScript не обращается к файловой системе, не забирается на сервер, короче говоря, он не будет взаимодействовать ни с чем на вашей машине. Затем идет платформа времени выполнения, на которой будет выполняться ваш JS-код, она может внедрять библиотеки для улучшения языка. Наиболее известная сегодня среда выполнения — Node.js, но мы поговорим о новичке под названием bun.js.
Кто такой Булочка?
bun.js — это новая среда выполнения для JavaScript, созданная со следующими предпосылками
-
Начните быстро (он имеет в виду край). Начните быстро
-
Новые уровни производительности (расширение JavaScriptCore, движка). Новые уровни производительности (расширение JavaScriptCore, движка)
-
Быть отличным и полным инструментом (бандлер, транспилятор, менеджер пакетов). Быть отличным и полным инструментом (бандлер, транспилятор и менеджер пакетов)
Идея булочки заключается в том, что она может заменить ваше текущее время выполнения без особых проблем. Поэтому в нем реализованы некоторые модули NodeJS и используются библиотеки NPM. Вы можете проверить, какие API реализованы, по этой ссылке.
Кроме того, bun также поддерживает TypeScript и JSX файлы, как сказано в документации, «это просто работает».
Короче говоря, bun — это среда выполнения, которая использует API NodeJs, пакеты npm, компилирует код TypeScript и JSX и делает все это гораздо быстрее, чем Deno и NodeJS.
Что отличает bun от других программ выполнения?
В целом, bun оказывается быстрее своих конкурентов в обработке HTTP-запросов, выполняет больше запросов в секунду и решает больше операций в секунду. Ниже приведены скриншоты графиков, представленных на сайте программы.
HTTP-запросы
Запросы
Операции в секунду
Что делает булочку быстрее своих конкурентов?
Bun был создан с использованием мультипарадигмального языка программирования Zig, он также был создан с учетом современных паттернов проектирования и использует движок JavaScriptCore, в отличие от NodeJS и Deno, которые используют движок V8.
Проекты
В этот репозиторий я добавил web(react) проект и простой api с использованием bun и вместе с ними их инструкции.
Источники:
Что такое Node.js? (Поймите это раз и навсегда)
Node.js Исходный код ТВ