Skip to main content

Яку проблему вирішують Server Actions?

Server Actions вирішують проблему зайвого шару взаємодії між інтерфейсом і сервером, який довгий час був стандартом у веб-застосунках.


Яка проблема була раніше

Навіть для найпростішої дії доводилося робити багато кроків.

Наприклад: «Зберегти дані з форми»

  1. Користувач натискає кнопку
  2. У браузері збираються дані
  3. Виконується fetch
  4. Створюється API-роут
  5. Сервер приймає HTTP-запит
  6. Парсить тіло запиту
  7. Валідує дані
  8. Повертає відповідь
  9. Клієнт обробляє результат

При цьому:

  • логіка розривалася між клієнтом і сервером
  • з'являлося багато шаблонного коду
  • API-роути створювалися навіть тоді, коли зовнішній API взагалі не потрібен

У чому саме був біль

  1. Занадто багато коду для простих дій CRUD-операція перетворювалася на кілька файлів і шарів
  2. Штучний поділ логіки UI знає, що відбувається, але сама логіка живе десь далеко
  3. Складніше підтримувати Потрібно синхронізувати:
  • типи
  • формати даних
  • контракти між клієнтом і сервером
  1. Надлишкова інфраструктура HTTP-API використовувався як внутрішній механізм, а не як реальний публічний API

Як Server Actions вирішують цю проблему

Server Actions дозволяють:

  • викликати серверний код напряму
  • без ручного fetch
  • без API-роутів
  • без серіалізації та десеріалізації даних

Фактично:

UI може «попросити сервер щось зробити», не переймаючись тим, як це доставляється.


Що стає простішим

  1. Форми
  • форма напряму викликає серверну функцію
  • працює навіть без клієнтського JavaScript
  1. CRUD-операції
  • логіка знаходиться поруч із компонентами
  • менше файлів і шарів
  1. Робота із секретами
  • ключі й токени лишаються на сервері
  • немає ризику витоку в браузер
  1. Підтримка і масштабування
  • менше точок синхронізації
  • простіше змінювати логіку

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.