Я начинаю проект, который в основном представляет собой одностраничное приложение, которое загружает и показывает кучу статистики (с использованием d3.js). Уровень данных Mongo-powered, обслуживается через RESTful API, а клиентское приложение будет закодировано в Ember.js. Мы хотим, чтобы все данные обменивались через API, так как у нас также есть некоторые мобильные приложения на заднем плане, которые подключаются к одному и тому же API.Внедрение веб-приложения на основе RESTful API. Нужен ли мне серверный интерфейс?
Я обсуждаю вопрос о том, следует ли писать API (используя Express.js или другую серверную инфраструктуру MVC) или просто использовать API, используя Deployd, а не использовать серверную структуру вообще, помимо Deployd. Я дам несколько советов о характеристиках проекта:
- Основная особенность - это, в основном, панель мониторинга, которая показывает агрегированную статистику, которая уже вычисляется и хранится в базе данных Mongo.
- Пользовательское взаимодействие минимально, достаточно, чтобы пользователи могли настраивать свои информационные панели, но пользователи никогда не загружают данные (другие параметры настройки).
- Большинство приложений - это множество d3.js для создания и рендеринга кучи графиков, которые можно настроить разными способами.
- Для этого требуется очень богатый и отзывчивый пользовательский интерфейс.
Я предложил полностью отказаться от серверной структуры и просто пойти с кучей статического HTML + CSS и сделать весь тяжелый подъем с клиентской MVC, такой как Ember.js. Поскольку все загрузки и выгрузки данных могут обрабатываться Deployd, чистый статический сайт будет загружаться намного быстрее, а также проще масштабировать. Кроме того, (я думаю) все пользовательские данные и проверка могут быть сделаны с помощью Deployd.
Дело в том, что некоторые из моих коллег имели сердечный удар, когда я упомянул об этой идее. Поэтому мне бы хотелось проверить реальность: действительно ли мне нужна серверная инфраструктура помимо Deployd, чтобы справиться с проблемами, которые я пока не могу предвидеть? Являются ли преимущества наличия чистого статического сайта достаточно хорошим компромиссом против наличия, скажем, Express.js на всякий случай?
Спасибо. В итоге я решил пропустить Deployd в пользу более традиционного API Express.js для поддержки многих из этих вещей, таких как аутентификация с использованием удивительного Passport, CORS и безопасности. –