Proa — новый веб-фреймворк на Rust, представленный на Hacker News как проект Show HN. Он ориентирован на быстрый серверный рендеринг (SSR) и мультицелевой рендеринг, позволяя одним и тем же компонентам выводить HTML и Markdown. Автор проекта опубликовал демонстрационные видео, объясняющие подход к мультицелевому рендерингу, а также открытый репозиторий с бенчмарками на GitHub.
Фреймворк предназначен для создания информационно насыщенных приложений с выборочной интерактивностью. Его создатели подготовили воссоздания GitHub, Sentry и Airbnb в виде независимых демонстраций, которые не связаны с этими компаниями и не одобрены ими. В опубликованных бенчмарках указано значение p50 для React renderToString, равное 5,56 мс, измеренное при прогретых производственных запусках на VPS с 8 vCPU AMD EPYC-Milan.
Также Proa предлагает Proa UI — библиотеку компонентов в стиле Shadcn, написанную на типизированном Rust. Разработчики хранят исходный код компонентов в собственном репозитории и могут свободно настраивать их оформление и комбинировать. Компоненты включают аккордеоны, таблицы, кнопки, формы, графики, которые на сервере рендерятся как чистый SVG, выбор дат и пузыри сообщений чата. Версия аккордеона только на CSS не передаёт никакого JavaScript, а компоненты следуют шаблону раскрытия WAI-ARIA для доступности.
По умолчанию фреймворк рендерит страницы на сервере и отправляет JavaScript-острова только там, где нужна интерактивность. На момент публикации обсуждение проекта на Hacker News набрало 44 балла и 4 комментария.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing