Bun 1.0: вместо Node.js?

Сегодня посмотрим на свежий релиз Bun 1.0 (замену Node js), обзор на который я уже делал ранее. Посмотрим на то, зачем он нужен и как он будет работать с реальными проектами.
🔗 Ссылки:
Предыдущее видео по Bun: • Bun JavaScript runtime...
🎉 Курс по Node.js: purpleschool.ru/course/nodejs
💬 Telegram канал с полезными советами:
t.me/purple_code_channel
Разделы видео:
0:00 - Введение
0:12 - О видео
1:06 - Зачем нужен Bun
6:27 - Установка
7:59 - Создание Bun проекта
10:53 - Управление пакетами
13:19 - Скорость установки
16:37 - Проблемы установки
17:18 - Тест производительности на примере Nestjs
22:55 - Заключение

Пікірлер: 139

  • @misatokatsuragi9122
    @misatokatsuragi91228 ай бұрын

    Традиционный результат любого яп/фреймворко-холивара - упор в бд)

  • @pryanik150

    @pryanik150

    8 ай бұрын

    Это оказалось весомой причиной, почему в наших проектах мы храним все в памяти приложения

  • @keefear1546

    @keefear1546

    8 ай бұрын

    ​@@pryanik150 представляю как все данные пропадают при нештатной перезагрузке приложения. Или пару ТБ оперативки, не у всех же данные в килобайтах измеряются

  • @pryanik150

    @pryanik150

    8 ай бұрын

    @@keefear1546 есть решения перечисленных вами проблем, на том же Хабре имеются статьи на данную тему

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Всё решается быстрым in memory кэшом с ревалидацией при необходимости высокого RPS

  • @IT_T_

    @IT_T_

    8 ай бұрын

    ​@@PurpleSchoolчто то на фэнтези языке?)

  • @sea-lucky7143
    @sea-lucky71438 ай бұрын

    Спасибо за ролик) как и обещали выпустили вовремя. Начало старта напоминает как и по node js, изначально также не работал на windows))) в целом было интересно ознакомиться и посмотреть на реальном примере, но пока юзать рановато как по мне. Время уверен расскроет его полностью и бцдет еще больше фидбеков, однозначно следить стоит за его развитием😎

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Верно)

  • @elpsykongr00

    @elpsykongr00

    7 ай бұрын

    Увы, не drop-in, некоторые специфичные проекты у меня не заводятся под bun, но пашут под nodejs (Один из них скорее всего из-за предсобранного .node пакета, второй хз, в issues оба закинул в любом случае)

  • @chorny33
    @chorny338 ай бұрын

    А вот теперь, когда булочка поддерживает всё, что на node работает, то к нему реально можно присмотреться как к альтернативе. Спасибо за ролик👍

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Пожалуйста!

  • @user-cg1pq2kh6t

    @user-cg1pq2kh6t

    3 ай бұрын

    врядли, вас забанят на проекте

  • @chorny33

    @chorny33

    3 ай бұрын

    @@user-cg1pq2kh6t в смысле?

  • @Frestein

    @Frestein

    16 күн бұрын

    @@user-cg1pq2kh6t clown.

  • @nmi2939
    @nmi29398 ай бұрын

    Невероятная стоимость :)

  • @maksikgregory4988
    @maksikgregory49888 ай бұрын

    спасибо за обзор новшеств. А почему вы не используете в линуксе команду: time npm ci которая точно покажет время выполнения того что после него. Или вот так: time { cmd1 args; cmd2 args; } если разных команд несколько

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Спасибо за замечание, да, не подумал о ней

  • @ledest

    @ledest

    8 ай бұрын

    Не подкалывай говнокодера:)

  • @vlkf
    @vlkf8 ай бұрын

    @purpleschool курс по булочке планируется? (сорян, если в видео упоминается, пишу коммент в процессе просмотра)

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Нет, пока рано для курса)

  • @green3216
    @green32168 ай бұрын

    Коммент не по теме, но хотелось бы поинтересоваться у Вас, когда планируется и планируется ли вообще видео про вашу сборку на nvChad? :)

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Будет обязательно, но по срокам сложно сказать

  • @Vedmalex
    @Vedmalex8 ай бұрын

    для меня основная фича бана --- запуск ts без компиляции и возможность использовать path в ts config без заморочек

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Да, это приятно

  • @sergeywhite8897

    @sergeywhite8897

    5 ай бұрын

    А node_modules при использовании bun, компилированные устанавливаются или чистый ts, как в репозитории?

  • @Vedmalex

    @Vedmalex

    5 ай бұрын

    @@sergeywhite8897 обычные модули, все работают как обычно,только файлы ts

  • @additRU
    @additRU22 күн бұрын

    Скажите пожалуйста, как повлияет на React-Native приложения, он ускорит работу приложения?

  • @babyzonechanell
    @babyzonechanell7 ай бұрын

    Привет можеш подсказать как разработчик смотри я хочу стать backend разработчиком и не давно изучил rest api на nodeJS и немного изучил Laravel или прейти на NestJs не могу определиться выбором помогу мне все нравится но какой из них ты бы посоветовал

  • @PurpleSchool

    @PurpleSchool

    7 ай бұрын

    Я всегда советую Nest.js) Но Laravel тоже неплох. Курсы по Node и Nest: purpleschool.ru/course/nodejs purpleschool.ru/course/nestjs

  • @PurpleSchool
    @PurpleSchool8 ай бұрын

    🔗 Ссылки: Предыдущее видео по Bun: kzread.info/dash/bejne/fKWYrY-vj9uofaQ.html 🎉 Курс по Node.js: purpleschool.ru/course/nodejs 💬 Telegram канал с полезными советами: t.me/purple_code_channel

  • @artursveshnikov7668
    @artursveshnikov76688 ай бұрын

    Интересный софт. Первый раз увидел ролик о нем. Нужно будет попробовать. Но мне кажется в веб проектах он упрется не только в бд, но и в сеть. А вот быстрый запуск и в целом более быстрая работа в электроне или реакт-нейтиве на мобилках может быть вкусной.

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Поддерживаю

  • @inqvisitor3722
    @inqvisitor37228 ай бұрын

    запиши пожалуйста видео про esm модули. Как с ними работать, как настраивать сборщики. Как работать на ноде с ними. Штука популярная, но как-то сложно разобраться

  • @TimurSevimli

    @TimurSevimli

    8 ай бұрын

    Вообще ноде принято и так же эффективно работают common модули. Но есть вы хотите работать на esm модулях, то вам это нужно прописать в package.json и все

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    У меня в курсе есть детальный разбор работы всех типов модулей: purpleschool.ru/course/nodejs

  • @Lear-fe6se
    @Lear-fe6se8 ай бұрын

    Очень полезное видео! Хотя я бы сказал, что нельзя назвать полноценным релизом выход версии, которая работает только на Mac и Linux, но не работает на Windows

  • @dpelipen

    @dpelipen

    8 ай бұрын

    Может оно и к лучшему)

  • @Lear-fe6se

    @Lear-fe6se

    8 ай бұрын

    @@dpelipen знаю немало разработчиков, которые работают на Windows Получается, у них нет возможности попробовать Bun, хотя на ютубе уже каждый связанный с темой блоггер выпустил видео про «официальный релиз» технологии

  • @alexmalex7689

    @alexmalex7689

    8 ай бұрын

    WSL поднимаем и никаких проблем

  • @alexmalex7689

    @alexmalex7689

    8 ай бұрын

    ​@@Lear-fe6seесть, читай мой коммент выше

  • @dpelipen

    @dpelipen

    8 ай бұрын

    @@Lear-fe6se Пример не очень показательный, но все же. Пытался как-то настроить Clojure на Windows и нормально не завелось, а на Linux все заработало через 5 минут, возможно создатели Bun так же думали). Хотя, нода на Windows работает отлично и думаю, что и для винды скоро будет доступен Bun

  • @chorny33
    @chorny338 ай бұрын

    А можно ли его как докер контейнер поставить?

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Конечно, там есть даже базовый образ.

  • @chorny33

    @chorny33

    8 ай бұрын

    @@PurpleSchool не встречалась ли тебе версия 1.0 для alpine или на ubuntu? Или как такую собрать, не знаешь?

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Все их образы тут: hub.docker.com/r/oven/bun/tags

  • @chorny33

    @chorny33

    8 ай бұрын

    @@PurpleSchool спасибо. Правда там нет сборки под alpine, но я уже нашёл решение

  • @luckytima2315
    @luckytima23158 ай бұрын

    Скажите плиз что у вас за тема vscode + тема папочек подалуйстаа

  • @zzzaratustra

    @zzzaratustra

    8 ай бұрын

    Это neovim, а не vs

  • @UC1C0GDMTjasAdhELHZ6lZNg

    @UC1C0GDMTjasAdhELHZ6lZNg

    8 ай бұрын

    Это не vscode. Неовим, видео на канале есть.

  • @luckytima2315

    @luckytima2315

    8 ай бұрын

    @@UC1C0GDMTjasAdhELHZ6lZNg спасибо!

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    NeoVim с темой Tokio Night

  • @luckytima2315

    @luckytima2315

    8 ай бұрын

    @@PurpleSchool 😍

  • @FobosWorld
    @FobosWorld8 ай бұрын

    У меня так и не получилось завести его в dev режиме, проблема с декораторами

  • @StrikerFeed

    @StrikerFeed

    8 ай бұрын

    Да, он не поддерживает emitDecoratorMetadata

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Да, в dev режиме к сожалению нет

  • @Disorrder

    @Disorrder

    8 ай бұрын

    А Как не в дев режиме тогда? Руками что ли перезапускать? Или в чем разница?

  • @izzei-1614

    @izzei-1614

    8 ай бұрын

    @@Disorrder Если и правда не поддерживает emitDecoratorMetadata, то тебе нужно сначала код на декораторах транспилировать в код без этих декораторов с emitDecoratorMetadata: true параметром. Делать придется ручками :)

  • @StrikerFeed

    @StrikerFeed

    8 ай бұрын

    @@izzei-1614Проще дождаться поддержки, на гитхабе открыта ишью по этому поводу

  • @Emerson-er1ne
    @Emerson-er1ne8 ай бұрын

    надеюсь ветку devops вы тоже будете прокачивать своими видево))

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Да, следующий курс будет по Kubernetes

  • @Emerson-er1ne

    @Emerson-er1ne

    8 ай бұрын

    @@PurpleSchool очень жду!!!

  • @mclotos
    @mclotos8 ай бұрын

    последние несколько лет все шли в сторону декомпозирования, распределения зависимостей, ООП и вот это вот всё. А тут внезапно появился bun, который такой типа мимикрирует под дельфина "в *опу вашу эволюцию, я обратно в океан".

  • @aleksandrkim550

    @aleksandrkim550

    8 ай бұрын

    Наверное это потому что bun больше платформа, а нода как каркас

  • @Soprachev
    @Soprachev8 ай бұрын

    Используем Bun в стартапе, как раз когда дойдём до прода, будет уже стабильный. Для нас самый главный плюс это время холодного старта (юзаем serverless), у Bun оно в разы быстрее, даже при использование фреймворков ноды, а если начать по полной обузить bun api, то разница в 10+ раз Ну а рантайм +- одинаково быстрый, бутылочное горлышко в большинстве задач это не нода, как и сказано в видеоролике.

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Круто. Для serverless да, думаю будет отличное решение.

  • @Faradau
    @Faradau8 ай бұрын

    А в документации написано что он с некстом без node.js все равно не работает.

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Как оказалось работает) Но не в dev режиме

  • @ruslanmakarov7049
    @ruslanmakarov70496 ай бұрын

    Если уж сравнивали скорость npm i, то и pnpm надо было тестировать. Это сейчас основный пакетный менеджер.

  • @PurpleSchool

    @PurpleSchool

    6 ай бұрын

    Основной по какому критерию?

  • @ruslanmakarov7049

    @ruslanmakarov7049

    6 ай бұрын

    @@PurpleSchool Вы сравниваете скорости инстола и повторного инстола? Вот по этому критерию.

  • @PurpleSchool

    @PurpleSchool

    6 ай бұрын

    @@ruslanmakarov7049 вы написали что он основной пакетный менеджер. Если по скорости да, но сравнивать его с npm к сожалению нельзя, так как другой принцип хранения пакетов (централизованный), что вызывает у Prisma проблемы. И он не так распространен как npm.

  • @ruslanmakarov7049

    @ruslanmakarov7049

    6 ай бұрын

    @@PurpleSchool JQuery среди работающих вебсайтов тоже распространен раз в пять больше, чем, скажем, Реакт, что не делает его не устаревшим. Мне кажется, среди серьезных проектов использование npm по сравнению с yarn или pnpm сейчас очень небольшое. И даже среди небольших проектов у серьезных разработчиков, ценящих свое время и место на диске.

  • @PurpleSchool

    @PurpleSchool

    6 ай бұрын

    @@ruslanmakarov7049 у меня нет такой статистики по активному использованию pnpm, особенно с учётом проблем

  • @UC1C0GDMTjasAdhELHZ6lZNg
    @UC1C0GDMTjasAdhELHZ6lZNg8 ай бұрын

    Сам себе придумал проект: bun + FFmpeg + интерфейс для всего этого. Скачивание видео с ютуба, конвертация, объединение, обработка видео. Попробуйте, чем не идея для пет проекта.

  • @oldiBerezkoo

    @oldiBerezkoo

    8 ай бұрын

    Бесполезно, и сложновато

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    У нас в курсе по TypeScript есть похожий проект кстати)

  • @UC1C0GDMTjasAdhELHZ6lZNg

    @UC1C0GDMTjasAdhELHZ6lZNg

    8 ай бұрын

    @@oldiBerezkoo а у вас какие идеи есть?

  • @Disorrder

    @Disorrder

    8 ай бұрын

    Ох. Щас бы на ноде видео обрабатывать. Попробуй лучше rust для этой цели. Он тебе пригодится для Tauri

  • @sine_tempore

    @sine_tempore

    8 ай бұрын

    ​​@@Disorrderffmpeg биндинги на ноде вызывают сишный код, так что почему нет

  • @DonExCode
    @DonExCode8 ай бұрын

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

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Спасибо! Я тоже считаю, что основная цель - конкуренция. Node быстро развивается и будет догонять.

  • @Anatoly8818
    @Anatoly88188 ай бұрын

    кто-то docker уже настраивал под бан?

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Только для теста, в целом есть базовый image hub.docker.com/r/oven/bun

  • @Anatoly8818

    @Anatoly8818

    8 ай бұрын

    @@PurpleSchool да видел, спасибо. на next.js вылезло куча проблем, с горем пополам собрал образ, но команду run build все равно только с помощью ноды пришлось выполнять( проект с нуля разворачивал

  • @alexshubin1
    @alexshubin18 ай бұрын

    Посмотрел сегодня bun на рабочем проекте. Ускорение +20%. Задача - загрузка и обработка данных из JSON/XML файлов. Казалось бы задача для CPU. Вообщем для меня он не нужен (((

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    20% тоже неплохо

  • @theninjew9971
    @theninjew99715 ай бұрын

    Все hr в россии: "от 3 лет опыта разработки на bun"

  • @PurpleSchool

    @PurpleSchool

    5 ай бұрын

    😄

  • @awenn2015
    @awenn20158 ай бұрын

    Наконец-то выкатили пельмень

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    👍

  • @Disorrder

    @Disorrder

    8 ай бұрын

    Хинкалина 😂

  • @ntldrzic
    @ntldrzic8 ай бұрын

    а как же 98 ошибок? Первый проект так и не запустился

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Я вернул зависимости и го запустил.

  • @alhimikix5448
    @alhimikix54488 ай бұрын

    Очень багованная и часто падает с segmentation failed

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Да, будем ждать развития

  • @mclotos
    @mclotos8 ай бұрын

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

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Часто нужно скачать очередной микросервис и на него поставить пакеты. И как раз в таком подходе пакеты уже ранее были скачаны для другого микросервиса.

  • @mclotos

    @mclotos

    8 ай бұрын

    @@PurpleSchool если они уже были скачаны, то они и так уже скачаны. Опять же в чём профит?

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Они скачаны для другого микроскрвиса. И за счёт кэша быстро установится для текущего.

  • @mclotos

    @mclotos

    8 ай бұрын

    @@PurpleSchool то есть хотите сказать, что у вас все микросервисы лежат на одном хосте, раз у них есть доступ к общему node_modules? Тогда это никакие не микросервисы, ибо вы не можете в любой момент времени вынести любого из них на отдельную ноду или хотя бы перезагрузить один из них, не трогая другие

  • @mclotos

    @mclotos

    8 ай бұрын

    @@PurpleSchool в общем тут можно спорить бесконечно. Но я вообще слабо себе представляю, что у микросервисов может быть общая node_modules или вообще что-либо может быть общее. Просто когда я изучал программирование, лет так 20 назад, как раз микросервисы только начали набирать обороты и тогда по сути к ним было одно единственное требование - микросервис должен быть полностью независим и автономен. А это как раз и означало, что любой микросервис в любой момент времени может быть перезагружен/уничтожен/запущен/перенесен, а приложение должно продолжать работу.

  • @user-id4fh4wj6l
    @user-id4fh4wj6l8 ай бұрын

    Я перви пон

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    🤣

  • @user-cg1pq2kh6t
    @user-cg1pq2kh6t3 ай бұрын

    Сомнительно, перепишите на GO или Python. Хвалить из-за наличия Ts? Ну такое

  • @MusickillerRus
    @MusickillerRus7 ай бұрын

    bum

  • @shqosimov
    @shqosimov8 ай бұрын

    jwt не работает

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    У меня вроде пакет завёлся.

  • @user-yh9uo8tn2k
    @user-yh9uo8tn2k8 ай бұрын

    Всё равно сырой пока - тот же запуск на Windows через одно место. Пускай настоится пока

  • @LosYol

    @LosYol

    8 ай бұрын

    В любом случае разработка на винде это боль так что не страшно. На винде ты в любом случае будешь страдать

  • @igorsitnikov4023

    @igorsitnikov4023

    8 ай бұрын

    @@LosYol И в чем же боль?

  • @Disorrder

    @Disorrder

    8 ай бұрын

    WSL?

  • @sine_tempore

    @sine_tempore

    8 ай бұрын

    ​@@LosYolнесколько лет разрабатываю бекенды на ноде и го на винде без WSL, никаких проблем

  • @LosYol

    @LosYol

    8 ай бұрын

    @@sine_tempore ну значит возможно не сталкивался с большинством проблем. У меня 11 лет опыта 7 из них на го также работал с нодой в том числе. И вот например мой джун/лой миддл на винде сидит и крайне не редкие штуки происхоядт с виндой) Костылять приходится постоянно. Причем самой гошке то норм ведь она так устроена. Но вот все вокруг это ад. Докер вроде естьи работает, но жрет памяти как не в себя и подтормаживает. Файловая система устарела и потому задержки на билдах даже у гошки происходят. Где любой Юникс мгновенно делает билды и соответственно быстрее тесты запустит там у винды задержка IO. Командная строка винды это говнина а ставить баш можно конечно но нормально он не синтегрирован с виндой и тянет за собой тонну других инструментов. А они тебе нужны. Переменные окружения сделаны через жопу. Разницы в путях часто мешают а вернее в слешах. ИНструментарий говна. Работа с несколькими сониторами на ноуте сделана через жопу особенно если стоит блокировка ноута при закрытии крышки, он тупо не запоминает расположения окон нормально. Санитайзеры тупо не будут работать вообще забудь. И это просто первое что пришло в голову. А встречаюсь я с проблемсами постоянно. А если на ноде работать то там тонна файлов постоянно и файловая система с ее задержками вообще убивает тогда

  • @vitya.obolonsky
    @vitya.obolonsky8 ай бұрын

    100500 инструиент на фронте 😂😂

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Да, инструментов много

  • @ivanselyt
    @ivanselyt8 ай бұрын

    На Bun лучше начинать писать новые проекты

  • @PurpleSchool

    @PurpleSchool

    8 ай бұрын

    Думаю пока рано)