Абстракция и последовательность HTML-разметки в SPA

В настоящее время я оцениваю использование Backbone.js вместе с Aura.js для создания SPA корпоративного масштаба.

У меня есть хорошая архитектура Javascript, которая обеспечивает абстракцию, согласованность, гибкость и не зависит от каких-либо базовых библиотек.

Насколько я понимаю, при использовании любого шаблона MV* (и в частности Backbone) генерация разметки может быть разбросана по представлениям посредством комбинации прямой манипуляции с dom и внешних HTML-шаблонов.

Я хотел бы применить те же принципы к разметке html в моих представлениях, что и в моей архитектуре Javascript.

  1. Абстракция - в идеале я хотел бы предоставить разработчикам упрощенный API для создания разметки, потенциально защитив их от используемой структуры классов / разметки css.

  2. Согласованность - я хотел бы продвигать и контролировать согласованность в разметке, созданной в команде разработчиков.

  3. Гибкость - я хотел бы избежать необходимости находить и полностью переписывать все экземпляры определенной разметки, если возникает необходимость изменить используемую структуру классов / разметки css. В идеале я хотел бы, чтобы любые изменения были сделаны в одном месте, которое будет распространяться на все виды использования в системе.

В качестве практического примера того, как это может быть достигнуто на стороне сервера, в настоящее время мы используем набор пользовательских HtmlHelpers в ASP.NET MVC (по дизайну похож на KendoUI). Эти помощники предоставляют разработчикам удобный интерфейс для использования и централизованного управления созданной разметкой.

Однако, поскольку мы движемся к генерации пользовательского интерфейса на стороне клиента, я не уверен, как получить те же преимущества, которые доступны при генерации разметки на стороне сервера.

Я ценю, что шаблоны могут предоставлять многократно используемые виджеты по всему пользовательскому интерфейсу, однако это не полностью решает проблемы, описанные выше, которые применяются при создании этих шаблонов и макете для их содержания.

Итак, подведем итог моего вопроса...

Какие методы могут быть использованы для достижения контроля и согласованности в создании разметки в команде при разработке SPA корпоративного масштаба?

1 ответ

Решение

Поскольку ваш вопрос ограничен Backbone.js и Aura, я не уверен, что это квалифицируется как ответ, но я бы обязательно проверил 3 вещи

  1. AngularJS и AngularUI - концепция директив, напоминающая понятие веб-компонентов (незавершенный стандарт W3C для веб-элементов управления)
  2. Если вам нравится печатное кодирование и вы хотите жить на переднем крае, проверьте Dart Web UI, в нем также используется довольно похожая концепция.

  3. Если вам нужно остаться в Backbone Land, то я бы, конечно, проверил Backbone UI

Я считаю, что первые 2 имеют больше шансов ответить на ваши 3 требования.

Другие вопросы по тегам