Pull to refresh

Comments 24

сильно, крутой выбор, мы до такого в компании пока не доросли :)

Я пользуюсь Bun в последнее время, преимущественно из-за скорости и совместимости с npm.

В продакшн? Как Bun себя показывает, помимо скорости, хватает ли текущих возможностей? Есть же гипотеза, что когда Bun допилит всё то что умеют другие сборщики/менеджеры/Node.js и тп, то по скорости он уже не так сильно выигрывать будет

Будет
Банально потому что он не написан на JS

Npm, yarn, pnpm все написаны на JS, так что написанный на Zig (условно, современном эквиваленте C) Bun, очевидно, будет намного быстрее

Bun транспилирует Typescript немного быстрее esbuild (написанно на go), поскольку лучше оптимизирован

Bun немного медленнее NodeJS, поскольку JSCode немного медленнее V8, но на простых примерах когда сравнивается скорость рантайма а не JS-движка (http-запросы, в которых JS не занимает 80% времени) Bun может быть в несколько раз быстрее

Скорость это один из критериев выбора инструмента, и мне было бы очень интересно увидеть чей-нибудь реальный опыт переезда с Node.js на Bun в SSR проекте и посмотреть на разницу в rps, если и тут будет ощутимый прирост, то это весомый аргумент посмотреть в его сторону. Но нельзя забывать про другие критерии вроде безопасности и возможностей

Как уже говорилось, на реальных приложениях самые медленные процессы будут задавать производительность всей системы. Работы с сетью, БД, файловой системой - это будет давать 95% времени выполнения скрипта микросервиса или бэкенда, и разница между Node.js и Bun будет в пределах 5%-10% в итоге. Сложные вычислительные вещи на JS вряд ли кто-то будет писать.

Так вроде bun это аналог node?

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

Да, в ссылке я ссылаюсь на yarn, это их разработка, посыл был в том что pnpm объективен и если видит что-то хорошее, то старается поддержать, а где-то взять идею и даже улучшить уже по их субъективному мнению

Недавно много раз тестировал установку проекта. Выяснилось, что Window 10 удаляет директорию node_modules медленней, чем потом pnpm её ставит. Из кэша, конечно, но тем не менее впечатляет.

pnpm давно уже лучший однозначно.

Такой риск присутствует во многих инструментах, в идеале обезопасить себя внутренним хранилищем Nexus. То что Pnpm открыл доступ к документации это обнадёживает, ну и хочется верить что этот тренд прошлого года прошел и программирование затрагиваться больше не будет. Тем более если действительно автор что-то вредоносное сделает с исходниками, то это прецендент и он быстро потеряет популярность и аудиторию не только России.

Тем более если действительно автор что-то вредоносное сделает с исходниками, то это прецендент и он быстро потеряет популярность и аудиторию не только России.

Ой, сомнительно. Например (а это один пример из многих), после февраля 22го пакет event-source-polyfill в российских часовых поясах в части окружений показывал алерт о злых русских, блокировав страницу, а в части окружений её просто крашил. Особенно весело, когда подобное приходит как зависимость зависимости. ЕМНИП, NPM отказался это дело удалять, сочтя приемлемым protestware. Через полгодика, вроде, после срача на MDN, изменения откатили назад. И что, хоть как-то сказалось на популярности? Мало того, слишком многие западные коллеги писали, что так и надо. А некоторые, в десятки раз более популярные пакеты (es5-ext, например), до сих пор не откатились.

Да и по поводу тренда сомнительно - везде гайки закручиваются, вполне может и сюда опять перекинуться.

Интересно что event-source-polyfill от российского разработчика. Мой посыл в том что вредоносное ПО было всегда и везде, сейчас просто некоторые люди просто себе нашли дополнительный повод, и ранее и в дальнейшем надо защищаться и проверять абсолютно весь код устанавливаемый из open source.

Но всё же согласитесь, что позиция разработчиков pnpm серьезно повышает риски. Как по мне - так неприемлемо высоко для серьезного бизнеса.

Переход с pnpm на yarn в случае чего - это какие-то серьезные переделки?

Когда используешь что-то большее, чем единый для npm / pnpm / yarn функционал, когда это достаточно крупный проект - да, это достаточно серьезные переделки.

в каждом readme на гитхабе первой строкой везде идёт yarn, а уже потом npm. Никогда этого не понимал. Какое то насильное пропихивание не самого лучшего инструмента

npm overrides для решения вашей проблемы с версиями не помог?

хотелось как-то типы готовить так что бы правильно резолвилось, версия к версии, без оверрайда, а то придётся всем проектам гайд писать :)

UFO just landed and posted this here
Sign up to leave a comment.