Представляем Astro 2.0! Astro — популярный веб-фреймворк для производительных контентных сайтов. Архитектура нового поколения (Astro Islands) оптимизирует сайт на 33% быстрее с 90% меньше JavaScript с React, Svelte, Vue и др.
Astro 2.0 — первый крупный веб-фреймворк с полной типобезопасностью для Markdown и MDX. Astro помогает организовать Markdown: парсинг, валидация и автоматическая генерация TypeScript-типов. Переломный релиз для работы с Markdown в вебе.
Полный список новинок:
- Content Collections: автоматическая типобезопасность для Markdown и MDX.
- Hybrid Rendering: статика? динамика? лучшее из обоих миров.
- Redesigned Error Overlays
- Improved Dev Server (HMR)
- Vite 4.0
- A New Public Roadmap
Astro 2.0 доступен на npm. npm i astro@latest для обновления или astro.new для нового проекта в браузере.
Automatic Type-Safety for Markdown & MDX
Astro 2.0 решает недооценённую проблему: работа с Markdown/MDX сложна.
Сотни файлов — посты, рассылки, продукты — и сложно сохранить консистентность. Одно пропущенное свойство frontmatter — и сайт падает с бесполезной ошибкой cannot read undefined.
Astro 2.0 переосмысливает DX вокруг контента через Content Collections API. Организуйте Markdown и MDX в коллекции ("blog", "newsletter", "products") — Astro сделает остальное:
- Валидация схемы
- SEO best practices
- Информативные сообщения об ошибках
- Автогенерация типов
- Inline type errors, autocomplete и др.!
Подробнее — в посте Introducing Content Collections: Type-Safe Markdown in Astro 2.0.
Hybrid Rendering: Static Meets Dynamic
Почти год Astro позволял выбирать static (SSG) или server (SSR) output. Статика даёт производительность, но не генерирует HTML по запросу.
Astro 2.0 объединяет лучшее через Hybrid Rendering. Prerender отдельных страниц без отказа от развёрнутого сервера. Prerendering строит страницы заранее — мгновенная загрузка.
Смешение static и dynamic открывает новые возможности:
- Ускорение рендеринга популярных страниц
- Ускорение сборки крупных сайтов
- API к существующему статическому сайту
Подробнее — в руководстве SSR. Позже на этой неделе — углублённый разбор hybrid rendering с Nate Moore.
Errors, Redesigned
Error overlay — важнейший UI Astro. При ошибке — первое, что видит разработчик. При отладке — часто первая точка входа.
Astro 2.0 полностью переработал ошибки в новом стиле Astro. Overlay показывает больше информации: подсказки по исправлению и кнопка перехода к коду в редакторе.
Dev Server Optimizations
Astro 2.0 — итог месяцев работы над производительностью и надёжностью dev server, особенно Hot Module Reloading (HMR).
Улучшения выходили инкрементально; 2.0 — первый релиз, где всё вместе.
Vite 4.0
Astro 2.0 включает крупное внутреннее обновление Vite — важнейшей зависимости движка сборки.
Vite 4.0 — улучшения и исправления для всех пользователей Astro.
Часть улучшений — от Bjorn Lu, maintainer Vite. Его работа над производительностью Astro привела к нескольким PR в Vite 4.0. Спасибо, Bjorn!
The Astro Open Roadmap
Официальный запуск Public Roadmap Astro.
У Astro всегда был открытый RFC-процесс. Любой мог предложить идею; сообщество обсуждало на еженедельных звонках в Discord.
На практике RFC не давал достаточно ориентиров. RFC — длинные документы, требующие усилий. Процесс пугал. Некоторые писали RFC, чтобы понять, что идея нереализуема. Оба сценария расстраивали.
Roadmap снижает барьер: идеи обсуждаются и принимаются (приоритизируются) до формального RFC. Maintainers дают ранние рекомендации.
Подробнее — в withastro/roadmap. Есть запрос на функцию — заходите в репозиторий.
Try Astro 2.0 Today
Astro 2.0 на npm. npm i astro@latest или astro.new.
Больше контента? Twitter space сегодня в 12:00 PST с Cassidy Williams! И видео launch day:
