Ответ
Современные тренды во фронтенде:
-
Рост популярности метафреймворков - Next.js, Nuxt, Remix предлагают SSR/SSG из коробки, улучшая SEO и производительность.
-
React Server Components - новая архитектура React для разделения клиентских и серверных компонентов.
-
Бандлеры нового поколения - Vite, Turbopack, esbuild обеспечивают мгновенный запуск dev-сервера.
-
Микрофронтенды - разбиение приложения на независимые модули для разных команд.
-
WebAssembly - выполнение ресурсоемких задач на клиенте (например, Figma, Photoshop в браузере).
Пример с RSC:
// Server Component (не имеет состояния)
async function UserProfile({userId}) {
const user = await db.users.get(userId);
return <Profile user={user} />;
}
// Client Component (имеет состояние)
'use client';
function Profile({user}) {
const [likes, setLikes] = useState(0);
return <div>{user.name} - {likes} likes</div>;
}
Также растет интерес к TypeScript, монорепозиториям (Turborepo), и улучшению DX через инструменты типа Storybook.
Ответ 18+ 🔞
Слушай, а вот эти ваши фронтенд-тренды, блядь, они как эти модные штаны — каждый год новые, а старые ещё не проносил. Но ладно, разберём, что там у них в этом году.
Во-первых, все сейчас с ума посходили по этим метафреймворкам, ёпта. Next.js, Nuxt, Remix. Это типа как если раньше ты сам собирал табуретку из досок и гвоздей, а теперь тебе привозят готовый, но с инструкцией «просто добавь воды». Они тебе сразу и серверный рендеринг, и статическую генерацию — всё в одном флаконе, чтобы твой сайт не только для людей, но и для гуглоботов выглядел прилично. Удобно, чё.
А потом подъехали эти React Server Components, блядь. Это вообще отдельная песня. Раньше всё на клиенте крутилось, а теперь можно часть логики на сервере оставить, чтобы не тащить в браузер всю эту тяжёлую хуйню. Типа разделили: вот это — серверное (без состояния, просто данные), а вот это — клиентское (где кнопки моргают и всё такое).
Вот смотри, пример, чтобы не быть голословным:
// Server Component (не имеет состояния)
async function UserProfile({userId}) {
const user = await db.users.get(userId);
return <Profile user={user} />;
}
// Client Component (имеет состояние)
'use client';
function Profile({user}) {
const [likes, setLikes] = useState(0);
return <div>{user.name} - {likes} likes</div>;
}
Видишь? Один кусок на сервере тихо-мирно данные достаёт, а другой уже на клиенте кнопочки считает. Красота, в рот меня чих-пых!
Дальше — бандлеры. Раньше Webpack собирал проект, пока ты чай успевал три раза выпить. А теперь Vite или Turbopack — хуяк, и всё готово, сервер запустился быстрее, чем ты успел матюгнуться. Просто волшебство, ёперный театр.
Ну и куда же без микрофронтендов, блядь. Это когда одна большая банда разбивается на мелкие группировки, и каждая творит в своём углу, что хочет. Одна команда делает корзину, другая — каталог, а потом это всё как-то склеивается. Хаос, конечно, но зато масштабируется, говорят.
И, конечно, WebAssembly. Это когда тебе в браузере нужно что-то тяжелое посчитать, а JavaScript уже плачет. Ты берёшь Wasm, и вот тебе — Фотошоп прямо в вкладке работает. Ни хуя себе, да?
А ещё все поголовно на TypeScript пересаживаются, будто без типов они код читать не умеют. И монорепозитории в моде — все проекты в одну кучу, но чтобы не мешались. И, блядь, Storybook — чтобы твои компоненты как в музее показывать, каждый в отдельной витрине.
В общем, движуха, конечно, овердохуищная. Главное — не отстать, а то останешься как тот Герасим из рассказа, только мычать «Муму» на устаревшем jQuery, пока все вокруг на новых технологиях уплывают.