Перейти к содержимому

Почему все инструменты для фронтенда переходят на Go и Rust?

Etchbit

0:00 / 0:00

Почему все инструменты для фронтенда переходят на Go и Rust?

1 791 просмотр · 8 ч назад
Etchbit
19 подписчиков
1 791 просмотр · 8 ч назад
Ваши инструменты сборки незаметно перестали быть JavaScript. Vite использует Rolldown. Next.js использует Turbopack. TypeScript 7 — это Go. Вот чего JS не может сделать. Сборка, транспиляция, линтинг, форматирование, проверка типов: для каждой задачи во фронтенд-конвейере теперь есть нативная замена, написанная на Go или Rust. Vite использует Rolldown. Next.js использует Turbopack. TypeScript 7 — это Go. В этом видео два компилятора работают над одним реальным проектом из 851 файла — 9-мегабайтным JavaScript-файлом и 24-мегабайтной скомпилированной программой — и замеряют время каждого этапа. Результат прямо противоположен тому, что все предполагают: парсинг практически не улучшился. Что действительно сломалось, так это привязка и проверка типов — два этапа, которые должны одновременно обрабатывать всю вашу программу. Затем объясняется, почему: Node-воркер получает частную кучу, поэтому передача ему одного разобранного синтаксического дерева размером 8,7 МБ занимает 4,5 секунды против 0,95 секунды на его разбор. В конце вы поймете, почему длинный список плагинов теперь является вопросом производительности, и сможете провести проверку на своем компьютере всего за десять минут. Разделы 00:00 Инструменты, которые покинули JavaScript 02:38 Два компилятора, один проект 03:17 Карта, которую нужно хранить одновременно 04:11 Почему рабочие процессы не могут совместно использовать память 05:38 Стена, которую JavaScript не может преодолеть 06:33 Go и Rust решают разные задачи 08:11 Большее количество ядер замедлило его 10:29 Ваша проверка за десять минут 11:18 Почему дело никогда не было в скорости Источники Microsoft: TypeScript в 10 раз быстрее (Андерс Хейлсберг, март 2025 г.): https://devblogs.microsoft.com/typescript/... Microsoft: Анонс TypeScript 7.0 (июль 2026 г.): https://devblogs.microsoft.com/typescript/... Vite: Вышла Vite 8.0! (12 марта 2026 г.): https://vite.dev/blog/announcing-vite8 VoidZero: Анонс Rolldown 1.0: https://voidzero.dev/posts/announcing-roll... Biome: Результаты бенчмарка Biome: https://github.com/biomejs/benchmark Node.js: Документация worker_threads: https://nodejs.org/api/worker_threads.html MDN: SharedArrayBuffer: https://developer.mozilla.org/en-US/docs/W... Astro: Примечания к выпуску Astro 7.0 (22 июня 2026 г.): https://astro.build/blog/astro-7/ Rolldown: rolldown/benchmarks, автоматизированная кросс-инструментальная сборка Бенчмарк: https://github.com/rolldown/benchmarks Bun: релиз Bun v1.4.3, проверка Bun: https://bun.com/blog/bun-v1.4.3 Vite: rolldown-vite-perf-wins, собранные результаты миграции из реальных условий: https://github.com/vitejs/rolldown-vite-pe... Канал Etchbit: ИИ и программное обеспечение, объясненное в картинках. Подпишитесь:    / @etchbit   #javascript #rust #typescript #nodejs #webdev #frontend #buildtools #vite #nextjs #golang #programming #coding #softwareengineering #performancetuning #bundler #developers #tech #ai #artificialintelligence #devtools Поисковые запросы почему инструменты сборки написаны на Rust переписывание кода на Go в TypeScript 7 почему TypeScript написан на Go большой бинарный файл node_modules что такое rolldown в Vite скорость Vite против Turbopack почему JavaScript однопоточный разделяемая память рабочих потоков Node медленное исправление компилятора TypeScript Rust против Go для инструментов почему моя сборка медленная проверка Bun Check в TypeScript почему ESBuild быстрый объяснение модели памяти JavaScript ускорение проверки типов в TypeScript