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

Sdílet
Vložit
  • čas přidán 27. 07. 2024
  • Сегодня посмотрим на свежий релиз 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 - Заключение

Komentáře • 139

  • @misatokatsuragi9122
    @misatokatsuragi9122 Před 10 měsíci +20

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

    • @pryanik150
      @pryanik150 Před 10 měsíci

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

    • @keefear1546
      @keefear1546 Před 10 měsíci +7

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

    • @pryanik150
      @pryanik150 Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +2

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

    • @IT_T_
      @IT_T_ Před 10 měsíci +2

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

  • @sea-lucky7143
    @sea-lucky7143 Před 10 měsíci +3

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

      Верно)

    • @elpsykongr00
      @elpsykongr00 Před 10 měsíci

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

  • @chorny33
    @chorny33 Před 10 měsíci +24

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

      Пожалуйста!

    • @user-cg1pq2kh6t
      @user-cg1pq2kh6t Před 6 měsíci

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

    • @chorny33
      @chorny33 Před 6 měsíci

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

    • @Frestein
      @Frestein Před 2 měsíci

      @@user-cg1pq2kh6t clown.

  • @PurpleSchool
    @PurpleSchool  Před 10 měsíci +2

    🔗 Ссылки:
    Предыдущее видео по Bun: czcams.com/video/JqdK-v_xBMA/video.html
    🎉 Курс по Node.js: purpleschool.ru/course/nodejs
    💬 Telegram канал с полезными советами:
    t.me/purple_code_channel

  • @Vedmalex
    @Vedmalex Před 10 měsíci +15

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

    • @sergeywhite8897
      @sergeywhite8897 Před 8 měsíci

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

    • @Vedmalex
      @Vedmalex Před 8 měsíci

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

  • @nmi2939
    @nmi2939 Před 10 měsíci

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

  • @maksikgregory4988
    @maksikgregory4988 Před 10 měsíci +14

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +3

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

    • @ledest
      @ledest Před 10 měsíci

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

  • @additRU
    @additRU Před 3 měsíci

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

  • @vlkf
    @vlkf Před 10 měsíci +1

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @green3216
    @green3216 Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +1

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

  • @inqvisitor3722
    @inqvisitor3722 Před 10 měsíci +1

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

    • @TimurSevimli
      @TimurSevimli Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +1

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

  • @artursveshnikov7668
    @artursveshnikov7668 Před 10 měsíci

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

  • @Lear-fe6se
    @Lear-fe6se Před 10 měsíci +5

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

    • @dpelipen
      @dpelipen Před 10 měsíci +7

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

    • @Lear-fe6se
      @Lear-fe6se Před 10 měsíci +2

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

    • @alexmalex7689
      @alexmalex7689 Před 10 měsíci +7

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

    • @alexmalex7689
      @alexmalex7689 Před 10 měsíci

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

    • @dpelipen
      @dpelipen Před 10 měsíci

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

  • @babyzonechanell
    @babyzonechanell Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @FobosWorld
    @FobosWorld Před 10 měsíci +2

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

    • @StrikerFeed
      @StrikerFeed Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

    • @Disorrder
      @Disorrder Před 10 měsíci

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

    • @izzei-1614
      @izzei-1614 Před 10 měsíci

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

    • @StrikerFeed
      @StrikerFeed Před 10 měsíci

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

  • @Faradau
    @Faradau Před 10 měsíci +1

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @chorny33
    @chorny33 Před 10 měsíci +3

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +2

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

    • @chorny33
      @chorny33 Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +2

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

    • @chorny33
      @chorny33 Před 10 měsíci

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

  • @luckytima2315
    @luckytima2315 Před 10 měsíci

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

  • @Anatoly8818
    @Anatoly8818 Před 10 měsíci +1

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +1

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

    • @Anatoly8818
      @Anatoly8818 Před 10 měsíci

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

  • @Emerson-er1ne
    @Emerson-er1ne Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

    • @Emerson-er1ne
      @Emerson-er1ne Před 10 měsíci

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

  • @mclotos
    @mclotos Před 10 měsíci +1

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

    • @aleksandrkim550
      @aleksandrkim550 Před 10 měsíci

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

  • @Soprachev
    @Soprachev Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @alhimikix5448
    @alhimikix5448 Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @ruslanmakarov7049
    @ruslanmakarov7049 Před 8 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 8 měsíci

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

    • @ruslanmakarov7049
      @ruslanmakarov7049 Před 8 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 8 měsíci

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

    • @ruslanmakarov7049
      @ruslanmakarov7049 Před 8 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 8 měsíci

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

  • @ntldrzic
    @ntldrzic Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @theninjew9971
    @theninjew9971 Před 8 měsíci +1

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

  • @UC1C0GDMTjasAdhELHZ6lZNg
    @UC1C0GDMTjasAdhELHZ6lZNg Před 10 měsíci +2

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

    • @oldiBerezkoo
      @oldiBerezkoo Před 10 měsíci +2

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

    • @UC1C0GDMTjasAdhELHZ6lZNg
      @UC1C0GDMTjasAdhELHZ6lZNg Před 10 měsíci

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

    • @Disorrder
      @Disorrder Před 10 měsíci

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

    • @sine_tempore
      @sine_tempore Před 10 měsíci +1

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

  • @shqosimov
    @shqosimov Před 10 měsíci

    jwt не работает

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @DonExCode
    @DonExCode Před 10 měsíci +1

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +1

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

  • @user-id4fh4wj6l
    @user-id4fh4wj6l Před 10 měsíci +2

    Я перви пон

  • @alexshubin1
    @alexshubin1 Před 10 měsíci

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

  • @awenn2015
    @awenn2015 Před 10 měsíci +2

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

  • @user-cg1pq2kh6t
    @user-cg1pq2kh6t Před 6 měsíci

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

  • @mclotos
    @mclotos Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

    • @mclotos
      @mclotos Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci +1

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

    • @mclotos
      @mclotos Před 10 měsíci

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

    • @mclotos
      @mclotos Před 10 měsíci

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

  • @MusickillerRus
    @MusickillerRus Před 10 měsíci

    bum

  • @user-yh9uo8tn2k
    @user-yh9uo8tn2k Před 10 měsíci

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

    • @IgnisDev
      @IgnisDev Před 10 měsíci

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

    • @igorsitnikov4023
      @igorsitnikov4023 Před 10 měsíci

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

    • @Disorrder
      @Disorrder Před 10 měsíci

      WSL?

    • @sine_tempore
      @sine_tempore Před 10 měsíci

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

    • @IgnisDev
      @IgnisDev Před 10 měsíci

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

  • @vitya.obolonsky
    @vitya.obolonsky Před 10 měsíci

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

    • @PurpleSchool
      @PurpleSchool  Před 10 měsíci

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

  • @ivanselyt
    @ivanselyt Před 10 měsíci +1

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