​​

Эволюция JS и инструментов

JavaScript был изобретен Бренданом Эйхом в 1995 году. Он был разработан для Netscape 2 и стал стандартом ECMA-262 в 1997 году. Nodejs выпущен в 2009 году. К тому времени JavaScript был более серьезным языком после приложений «Web 2.0», таких как Gmail. показал миру, каким может быть современный опыт работы в Интернете.

Двигатели JS стали лучше. Все основные браузеры начали обеспечивать лучшую поддержку JavaScript и стремились обеспечить лучшую производительность. Node использует движок V8 (Chrome V8), который на сегодняшний день является одним из лучших.

Мы начали создавать большие проекты и почувствовали необходимость решить наши проблемы с комплектацией. И мы приветствовали Webpack в 2012 году. Теперь одной проблемой меньше.

Мы начали говорить о полифиллах. Мы знали, что indexOf работает во всех браузерах, но не включает. Написание полифилов в интервью стало тенденцией. А затем мы приветствовали Babel в 2014 году. Перенесемся в 2022 год, полифилл устарел. Я уже чувствую себя старым из-за этого!

Не все зависит от JS! Мы хотим быть быстрыми!

Как раз когда мы начали чувствовать себя богом JS (иногда быть хромым — это круто!), такие инструменты, как webpack и babel, начали чувствовать жар! Были конкуренты.

Появились такие языки, как Rust и Go. Они оказались более производительными, чем JavaScript, для связывания, транспиляции и компиляции процессов. Они многопоточные и могут обрабатывать большое количество файлов. Эти инструменты работают на компьютерах разработчиков. Им не нужно использовать JS. Прохладный! Можем ли мы двигаться быстрее?

Добро пожаловать Бан!

JS работает быстро. Не каламбур!! Хм.. может быть, а может и нет. Зависит от. Но нам нравится, когда в нашем «маленьком» мире JS появляется что-то новое.

«Пучок предназначен!!»

Мы хотим быстро… еще быстрее… молниеносно быстро!!!

Год 2022, Джарред Саммер только что объявил о выпуске бета-версии и утверждает, что это значительно быстрее, чем node.

Быстрее? Сколько? На порядок быстрее!! Сцены после коронавируса определенно будут значительно отличаться. :)

Бун заявляет об исключительной производительности

Всегда полезно немного скептически относиться к тестам, предоставленным создателем, но, как мы видим выше, это почти в 3 раза быстрее при серверном рендеринге React, выполнении запросов к базе данных или запуске собственного кода. Однозначно впечатляет!!

Мы знаем о Google V8, одном из самых мощных движков JS, который поддерживает chrome, node и т. д. и делает JavaScript чрезвычайно быстрым благодаря своевременной компиляции. Теперь у нас есть новый игрок Бан, который выглядит очень многообещающе по одной очевидной причине — производительности!

Что делает его быстрым?

Бан не использует двигатель V8

Он использует ядро ​​​​JavaScript из webkit, которое обычно считается более быстрым, но с ним сложнее работать. Кроме того, он написан на языке программирования низкого уровня под названием Zig. Zig — относительно новый язык, похожий на C или rust.

Как говорят создатели Bun:

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

Что он предлагает?

Приятно ехать быстро! Но что более важно, Bun — это универсальная среда выполнения.

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

Transpile: Bun также транспилирует файлы JSX. Кроме того, как и Dino, он отдает приоритет веб-API, таким как fetch, а также поддерживает множество модулей ядра узла, а также API узла, что позволяет запускать многие пакеты узлов в Bun.

Пакеты узла: он реализует алгоритм разрешения модулей узла, что означает, что вы можете устанавливать пакеты из npm в Bun, и эти пакеты устанавливаются в 20 раз быстрее. Магия!!

Они говорят:

Все в одном быстром и простом в использовании инструменте. Вместо 1000 модулей node_modules для разработки вам понадобится только плюшка».

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

Test Runner: он также поставляется с собственным Test Runner, похожим на Jest. И снова быстро. Ослепительно быстро!

Заключение

Это пока экспериментально! Это бета. И мы можем ожидать ошибок. Даже если этот инструмент еще не готов к работе, здорово, что появляются такие новые инструменты и показатели. О, чувак, вызывает прилив адреналина!

Кроме того, Bun не является универсальным инструментом. Проверьте https://github.com/Jarred-Sumner/bun, и вы можете найти ссылку, чтобы проверить, что не работает. еще.

Что дальше? Давайте испачкаем руки и почувствуем силу.