Skip to content

Latest commit

 

History

History
107 lines (55 loc) · 7.8 KB

2023-11-03.md

File metadata and controls

107 lines (55 loc) · 7.8 KB

Bun заставляет nodejs развиваться

Внутри: remix + vite, минимум для выживания о unicode, lsp, трассировки в гите, работа дизайнеров в linear, figma просто работает, безымянное апи, msw на стандартных веб апишках, нет больше висящих предлогов, куча улучшений в vite, astro + htmx, декларативный shadow-dom, скучный nextconf, nodejs и модули.

По следам viteconf remix зарелизили поддержку vite. Теперь у пользователей vite есть еще один способ писать реакт-приложения. Нужен около-статический сайт? Бери astro. SPA? Бери vite и react-router. SSR и бек на js? Remix. А главное — не обязательно выбирать сразу. Можно стартануть с react-router и переехать на remix относительно безболезненно. В отличие от какого-нибудь nextjs, с которым придется переписывать весь код и адаптироваться к плохому сборщику.


Я часто встречаюсь с тем, что люди не понимают что такое юникод. В чем разница между utf16, usc, utf32, и utf8. Или в чем разница между байтом, символом, код поинтом, суррогатной парой, и кластером графем. Юникод везде, нет причины в нем не разобраться.


LSP это отличный стандарт, который решает кучу социальных проблем при разработке тулинга. Но даже в нем есть технические детали, которые могли бы быть лучше.


Работаешь в большом репозитории? Git не смотря на все свои фичи может быть очень медленным. Git используется в гигантских репозиториях типа винды, и сбор метрик производительности просто необходим чтобы git мог работать хоть как-то в таких масштабах. А теперь тулза по сбору трассировок (конечно в формате open telemetry) доступна всем. Хочешь попрофлировать git команды? Теперь легко.


Организация работы дизайнеров не простая задача, вот пример как это делают в linear.


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


В cloud мире есть де-факто стандартный способ описания апи на js, вот только никто не подумал дать ему хорошее имя.


Лучшая библиотека для мока апишек обзавелась новой мажорной версией базирующейся на стандартных веб апишках. Теперь мокать станет еще проще и удобнее.


text-wrap: balance это круто для заголовков, но все еще не спасает от висящих предлогов. Поэтому появился новый тип pretty, который как раз решает эту проблему.


Одно из больных мест в vite — замена констант на регулярках. Каждый, кто пробовал запустить такой код: console.log("import.meta.env.MODE is ", import.meta.env.MODE) встречался с такими сюрпризами. К счастью в vite 5 обещают над этим поработать и улучшить парсер.


Встретился с перфоманс проблемами в vite? Теперь есть гайд по их дебагу и решению. Vite постоянно работает на производительностью, в vite 5 например ускорили hmr для файлов, которые много импортируются.


Сечас для react есть два основных server-side фреймворка — nextjs и remix. Мне больше нравится remix, и я во многом согласен с их решениями и философией.


Новая версия astro, которая научилась возвращать кусочки html вместо всего документа. Теперь можно использовать astro для частичного рендера страницы, или подружить их с htmx (прощай hx-select).


Прошла очередная конфа по nextjs, я ее не смотрел, потому что nextjs скатывается непойми куда, но и что-то хорошее там тоже анонсировали. Например новый учебник или прикольный шрифт.


Декларативный shadow-dom подмержили в спеку. Теперь мы еще на один шаг ближе к тому, чтобы без боли рендерить веб-компоненты на сервере.


Недавно я видел задачки для подготовки к собесам в духе "когда запустится колбек в эффекте". Правильный ответ на них простой — хрен его знает зависит от кучи параметров. Вот пост, который пытается показать сколько бывает сюрпризов.


  • nodejs до релиза bun: пук среньк, не можем понять это commonjs или esm, надо тупые расширения и новое поле в package.json
  • bun: бро, не парься, пиши как хочешь, я сам разберусь
  • nodejs: э, че началось то?

Вот почему конкуренция в индустрии это хорошо, ты можешь не пользоваться deno или bun, но их успех заставляет nodejs вылезти из помойки и наверстывать разрыв.