Цель общественности не в том, чтобы критиковать подход СПА , а показать, какие альтернативы существуют для реализации веб-приложения на основе API. Пожалуйста, обсуждайте только сам подход, его плюсы и минусы.
Я придумал название для этого архитектурного стиля — newDHTML. Насколько это подходит, можно предложить что-нибудь другое.
Итак, newDHTML — это архитектурный стиль разработки веб-приложений; это не фреймворк или библиотека.
Идея возникла как альтернатива SPA по ряду причин, изложенных ниже.
Одностраничное приложение — хороший способ организации, но у него есть следующие недостатки: 1. Это сильно усложняет фронтенд-часть приложения.
Помимо html и UI-логики есть еще роутеры, MVC и прочие вкусности.
2. Поскольку приложение имеет единственную точку входа, существует риск того, что одна ошибка может привести к сбою всего приложения.
3. Дублирование роутеров (по сравнению с классическим подходом) 4. SEO
Идея
Логика MVC остается на стороне сервера.Ключевая особенность в том, что View возвращает статическую страницу, а вся динамическая часть собирается javascript на стороне клиента.
API-эквивалент веб-приложения
Пример REST API:Ресурс | ПОЛУЧАТЬ | ПОЧТА | ПОМЕЩАТЬ | УДАЛИТЬ |
---|---|---|---|---|
/книги | список всех книг | Новая книга | обновление всех книг | удаление всех книг |
/книги/1 | мы получим книгу | обновление книги | удаление книги | |
/книги-индекс | возвращает статическую html-страницу |
Далее компоненты js загружают динамические данные через REST API, и пользователь видит конечный результат. API — это веб-приложение; как только вы пишете приложение, вы реализуете API. Таким образом, мы имеем веб-приложение, которое полностью работает через API, но оно многостраничное и не имеет ряда недостатков SPA:
- Более простая архитектура, каждая страница может иметь свои компоненты, свою логику и вообще работать как отдельный модуль со своей спецификой.
- В случае ошибки во внешнем интерфейсе сломается максимум одна страница из многих.
- Ну и другие плюсы, если заметите, пишите.
А пока всем спасибо за внимание и удачи! Идея и текст автора.
Теги: #спа #JavaScript #rest #newDHTML #api #JavaScript #HTML #api
-
Гиш 2.0
19 Oct, 24 -
Хабрасорсинг 2
19 Oct, 24 -
Самые Интересные Блоги И Сайты По C#/.Net
19 Oct, 24