Фронтенд неделька. 2 октября — 15 октября

Привет, Мир! 🍷

Ловите дроп свежего про разработку интерфейсов.

Rolldown

На прошедшей ViteConf анонсировали Rolldown — порт Rollup на Rust. Ранее я уже рассказывал, что переписывать текущую экосистему на Rust или Go становится всё популярнее. У нас уже есть портированный PostCSS, ESLint и Babel. Теперь дело дошло до бандлеров.

Переписывание на Rust сделает Vite ещё быстрее. От Vite зависит Vitest, Nitro (движок Nuxt) и много других инструментов. Все они также получат буст в производительности.

Разработкой Rolldown занимается команда Vite, в том числе создатель Vue.js Эван Ю и разработчик Rollup Лукас Таегерт-Акинсон. Первую версию обещают уже в этом году.

Photoshop в браузере

Команда Google Chrome вместе с Adobe релизнули браузерную версию Photoshop. Хоть Photoshop для вёрстки сайтов уже не пользуются (я надеюсь), это всё равно большой шаг для веб разработки.

Теперь Photoshop можно использовать на любой операционной системе (раньше был недоступен на Linux) и шарить файлы, как это было сделано в Figma уже много лет назад.

Под капотом Web Assembly, Web Components и Service Workers.

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

Избавляемся от index.js

Увидел статью от Next.js по поводу оптимизации импортов из index.js. Избавившись от файлов реэкспорта они получили буст в холодном старте на 40% и ускорили сборку на 28%. Сам Next.js мне не очень интересен, а вот решение заставляет задуматься.

Все мы любим делать файлы реэкспорта, чтобы доставать компоненты из одного файла.

Фронтенд неделька. 2 октября — 15 октября

и теперь вместо

Фронтенд неделька. 2 октября — 15 октября

мы можем писать

Фронтенд неделька. 2 октября — 15 октября

Выглядит красиво, не нужно думать о структуре папок. Только вот при таком подходе у нас очень сильно проседает перфоманс всех инструментов, которые импортируют этот код.

Когда мы импортирует компонент из такого файла реэкспорта, мы неявно тянем за собой все оставшиеся модули, только они не используются. Чем больше файл реэкспорта, тем медленнее все инструменты, которые работают с этим кодом.

Я с этой проблемой столкнулся недавно сам, когда тестировал дизайн систему. Тесты работали очень медленно, когда я импортировал компонент из пакета напрямую.

Фронтенд неделька. 2 октября — 15 октября

Стоило переписать немного импорт, как сразу все начало работать за секунды.

Фронтенд неделька. 2 октября — 15 октября

Вообще, index.js файлы это костыль, который сделан не по стандартам. Разработчик Node.js Райан Даль сам признался, что это была ошибка.

Я перестану использовать такой подход в своих проектах, уже нашёл ESLint правило для этого.

А как прошла ваша неделька?

11
Начать дискуссию