Мы ищем варианты для создания внешнего интерфейса приложения, которое мы создаем, и пытаемся оценить инструмент, который будет работать для нас и даст нам лучшую платформу для продвижения вперед.
Это Node.js проект. Наш первоначальный план состоял в том, чтобы использовать Express и идти по этому пути, но мы решили, что, прежде чем мы начнем этот этап, возможно, было бы лучше рассмотреть, что там. В нашем приложении есть несколько областей, которые, по нашему мнению, не соответствуют одностраничной модели, поскольку они связаны с точки зрения приложения, но не с точки зрения представления.
Мы видели несколько платформ, которые мы могли бы использовать для создания клиента, таких как Backbone.js , Meteor и т. Д., А также AngularJS.
Это может быть довольно очевидным вопросом, но мы не можем расшифровать, если AngularJS предназначен исключительно для одностраничных приложений или может использоваться для многостраничных приложений, таких как, например, Express.
ОБНОВЛЕНИЕ 17 июля 2013 г. Просто чтобы держать людей в курсе, я буду обновлять этот вопрос по мере прохождения процесса. Сейчас мы собираемся все строить вместе и увидим, насколько хорошо это работает. Мы обратились к нескольким людям, которые более квалифицированы в AngularJS, чем мы, и поставили вопрос о разделении более крупных приложений, которые имеют общий контекст, но могут быть слишком большими, работая на одной странице.
Было решено, что мы сможем обслуживать несколько статических страниц и создавать приложения AngularJS, которые работают только с этими страницами, эффективно создавая набор SPA и связывая эти приложения вместе, используя стандартные ссылки. Теперь наш вариант использования очень специфичен, так как в нашем решении есть несколько приложений, и, как я уже сказал, мы сначала попробуем единую кодовую базу и оттуда оптимизируем.
ОБНОВЛЕНИЕ 18 июня 2016 года Проект упал с обрыва, поэтому мы так и не успели сделать слишком много. Недавно мы снова подняли его, но уже не используем angular и вместо этого используем React. Мы по-прежнему используем архитектуру, описанную в предыдущем обновлении, где мы используем экспресс и автономные приложения, поэтому, например, у нас есть /chat
маршрут в экспрессе, который обслуживает наше приложение чата React, у нас есть другой маршрут, /projects
который обслуживает приложение проектов и скоро. То, как мы смотрим на это, заключается в том, что каждое приложение является совокупным корнем с точки зрения своего набора функций, оно должно быть в состоянии автономно, чтобы его можно было считать приложением само по себе. Технически, вся информация существует, это просто базовый экспресс и все, что вы хотите использовать, на стороне клиента.