Фронтенд умер или коротко о Next.js 14

Фронтенд умер или коротко о Next.js 14

Недавно Next.js обновился на 14 версию. Самое основное, что добавили — Server Actions. Если простым языком, это когда в одном файле, да даже в одной функции может быть фронтенд и бэкенд код.

YouTube видео на эту же тему

Фронтенд умер?

Для тех кто не хочет дальше читать — пока что фронтенд жив, но есть нюанс.

В чем нюанс?

Server Actions появились в версие Next.js 13.4, но тогда они были как эспериментальная функция. Я её кстати успел попробовать на одном из своих пет-проектов. Ещё в этой версие добавили App Router, что было довольно непривычно первое время, но это уже другая тема.

export default function ServerComponent() { async function myAction() { 'use server' // ... } }

Казалось бы, а что в этом такого? А дело в том, что при таком подходе как таковой фронтенд уже не используется. Точнее даже не так, он используется, но уже в связки с бэкендом. А это уже фулстек — когда разработчик пишет фронтенд и бэкенд.

Серверный рендеринг

Тендеция перехода на серверные компонтенты довольно чиста и понятна. Это как минимум быстро.

Забавно то, что PHP использует серверный рендеринг с самого зарождения языка, а если грубо говорить, то это 1994 год. Конечно, в самом 1994 году были немного другие задачи, чем сейчас, но подход тот же.

А вот тут в клиентском компоненте имопртируется серверный компонент:

'use client' import { myAction } from './actions' export default function ClientComponent() { return ( <form action={myAction}> <button type="submit">Add to Cart</button> </form> ) }

Что будет с фронтендом?

Рынок фронтенда плавно двигается к фуллстэк, то есть фронтендерам нужно будет знать бэкенд, как минимум как писать SQL запросы к базе данных, какие бывают базы данных, и как шифровать данные.

Заключение

Как-будто сам фронтенд стал легче, но чтобы быть конкурентным на рынке к нему добавился ещё и бэкенд. Для новичков это может стать небольшой проблемой, ведь часто люди задаются вопросом: “А что учить, фронтенд или бэкенд?”. Сейчас всё двигается к тому, что фронтендеры сами по себе вымирают. А если вы фулл-стек, то нечего переживать.

6 комментариев

Новый подход (nextjs) лучше старого разве что наличием какой-то строгой типизации (если использовать TS).
В остальном это выглядит как повторение неизученной истории (PHP).
Добавить хайповых слов для резюме и очередного повышения — ладно, мы поизучаем; для своих проектов — давайдосвиданья.

1
Ответить
Автор

Хаха отличный комментарий, красавчик

Ответить

Попробовал Next.js. Как по мне, стандартный React получше для больших проектов. Next.js имеет смысл использовать в проектах, где пользователей нет или их мало - иначе какой плюс от использования серверного рендеринга - если всё-равно надо на каждого пользователя запросы к бекенду делать?

1
Ответить
Автор

Хороший вопрос. Плюс некста, что можно быстро сделать проект. Например, routing уже подключен. Или то что можно выбирать между SSG и SSR. Если в приложение SEO важно, я бы выбрал Next.js нежели ванильный React. Но минус для тех, кто любит строить свою архитектуру в зависимости от приложения. В нексте есть строгая архитектура которой нужно придерживаться, будь то это pages router или app router. Есть чёткие названия папок которые некст хочет увидеть.

А так и то и то имеет смысл на жизнь. Реакт в любом случае придётся учить потому-что 100500 проектов на нём написано.

Ответить

Комментарий недоступен

Ответить

Комментарий недоступен

Ответить