Когда очередной «революционный» фреймворк оказывается обёрткой над тем же Webpack с кучей абстракций, хочется просто взять и написать своё. Именно так появился Manic — реактивный (во всех смыслах) ответ на сложность современных решений.
Почему Bun — это не просто мода
Автор Manic сделал ставку на Bun не просто потому, что это хайпово. В отличие от традиционных сборщиков:
- Bun bundler работает в ~10 раз быстрее esbuild по некоторым метрикам
- Нативная поддержка TypeScript без лишних трансформаций
- Встроенная работа с env-переменными на этапе сборки
Но главное — это отсутствие legacy-балласта. Когда пишешь фреймворк с нуля в 2024, можно сразу проектировать под ESM и современные спецификации.
// manic.config.js
export default {
build: {
// Bun-specific оптимизации
minify: 'lightning',
splitting: true
}
}
Проблема в том, что экосистема Bun ещё сырая. Тот же SSR пока не работает — приходится либо ждать обновлений, либо искать костыли.
Перформанс без магии
Заявленные benchmark’и выглядят убедительно:
- Холодный старт: ~120ms против 300-400ms у Next.js
- Пересборка при HMR: <50ms
- Размер бандла: на 15-20% меньше за счёт tree-shaking на стероидах
Но есть нюанс — это синтетические тесты. В реальном проекте с кучей зависимостей разница может быть менее впечатляющей. Хотя сам подход к оптимизациям интересен:
- Отказ от runtime-рендеринга маршрутов в пользу статического анализа
- Генерация API-клиента на лету по типизированным эндпоинтам
- Опциональная hydration только для критических компонентов
Кому стоит попробовать (а кому нет)
Manic — отличный полигон для экспериментов, если:
- Вы уже устали от конфигурирования Next.js
- Хотите собрать легковесный fullstack-проект без привязки к Vercel
- Готовы мириться с отсутствием плагинов (пока)
Но для продакшена рановато — особенно если нужен SSR или сложная маршрутизация. Хотя сам факт появления таких альтернатив радует: может быть, это заставит «больших собак» меньше костылить и больше заниматься реальными оптимизациями.
Лично я поставлю Manic на pet-проект и посмотрю, как он поведёт себя в бою. А там — либо PR накатаю, либо тихо вернусь к Next.js. Как обычно.
Попробуй сам: Vercel — Edge Functions и serverless деплой.
Источник: https://www.reddit.com/r/reactjs/comments/1tsrqp3/the_fastest_react_framework/