Яку проблему вирішують Server Actions?
Server Actions вирішують проблему зайвого шару взаємодії між інтерфейсом і сервером, який довгий час був стандартом у веб-застосунках.
Яка проблема була раніше
Навіть для найпростішої дії доводилося робити багато кроків.
Наприклад: «Зберегти дані з форми»
- Користувач натискає кнопку
- У браузері збираються дані
- Виконується
fetch - Створюється API-роут
- Сервер приймає HTTP-запит
- Парсить тіло запиту
- Валідує дані
- Повертає відповідь
- Клієнт обробляє результат
При цьому:
- логіка розривалася між клієнтом і сервером
- з'являлося багато шаблонного коду
- API-роути створювалися навіть тоді, коли зовнішній API взагалі не потрібен
У чому саме був біль
- Занадто багато коду для простих дій CRUD-операція перетворювалася на кілька файлів і шарів
- Штучний поділ логіки UI знає, що відбувається, але сама логіка живе десь далеко
- Складніше підтримувати Потрібно синхронізувати:
- типи
- формати даних
- контракти між клієнтом і сервером
- Надлишкова інфраструктура HTTP-API використовувався як внутрішній механізм, а не як реальний публічний API
Як Server Actions вирішують цю проблему
Server Actions дозволяють:
- викликати серверний код напряму
- без ручного
fetch - без API-роутів
- без серіалізації та десеріалізації даних
Фактично:
UI може «попросити сервер щось зробити», не переймаючись тим, як це доставляється.
Що стає простішим
- Форми
- форма напряму викликає серверну функцію
- працює навіть без клієнтського JavaScript
- CRUD-операції
- логіка знаходиться поруч із компонентами
- менше файлів і шарів
- Робота із секретами
- ключі й токени лишаються на сервері
- немає ризику витоку в браузер
- Підтримка і масштабування
- менше точок синхронізації
- простіше змінювати логіку
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.