Я создал веб-приложение среднего размера в Node.js
. Сначала я не планировал, что он будет расти до среднего размера и не знает, будет ли он вообще использоваться. Теперь, когда пользователи клиента начали использовать его, существует потребность в 2-х дополнительных функций:Одностраничное приложение с архитектурой API REST
- мобильные приложения
- одностраничных приложений
Поскольку я до сих пор используемые серверные шаблоны (т.е. все мои маршруты API
отвечали HTML
), мне нужно сделать огромные изменения, чтобы поддерживать API
, отвечая JSON
только для мобильных приложений, поэтому я решил сделать рефакторинг всего приложения для поддержки обеих этих двух вещей одновременно.
Чтение через некоторые онлайн-ресурсы (а именно Single Page App Book) и сравнение доступных фреймворков JavaScript (Angular vs Backbone vs React vs Ember). Я пришел к выводам, представленным ниже. Мой вопрос: я что-то упускаю? Итак, вот как я планирую расширить свой веб-приложение:
- Я буду переписывать все мои компоненты пользовательского интерфейса в
React
- Всех текущих
API
маршрутов будет по-прежнему отвечатьHTML
иHTML
будет server-rendered с помощью сервера -sideReact
, но эти компоненты React UI также будут включены на стороне браузера, что будет поддерживать функции одностраничных приложений. - Я напишу специальный
REST
API
, возможно, основанный на стандартеJSON API
для взаимодействия сервера с одностраничным приложением и мобильными веб-приложениями. - Оба
API
маршрутов (API
реагирует со страницами -HTML
, а также с данными -JSON
) будут осуществляться с помощьюExpress
маршрутизатора, который будет проводить контроллер (серверные компоненты) для инкапсулирования в сочетании манипулирования данных со слоем доступа данных (сервер компонент). - Уровень доступа к данным в основном состоит из моделей
Mongoose
.
Поскольку для реализации и рефакторинга это займет больше времени, я хотел бы быть уверенным, что я на правильном пути. Я что-то упустил?