Абстракция и последовательность HTML-разметки в SPA
В настоящее время я оцениваю использование Backbone.js вместе с Aura.js для создания SPA корпоративного масштаба.
У меня есть хорошая архитектура Javascript, которая обеспечивает абстракцию, согласованность, гибкость и не зависит от каких-либо базовых библиотек.
Насколько я понимаю, при использовании любого шаблона MV* (и в частности Backbone) генерация разметки может быть разбросана по представлениям посредством комбинации прямой манипуляции с dom и внешних HTML-шаблонов.
Я хотел бы применить те же принципы к разметке html в моих представлениях, что и в моей архитектуре Javascript.
Абстракция - в идеале я хотел бы предоставить разработчикам упрощенный API для создания разметки, потенциально защитив их от используемой структуры классов / разметки css.
Согласованность - я хотел бы продвигать и контролировать согласованность в разметке, созданной в команде разработчиков.
Гибкость - я хотел бы избежать необходимости находить и полностью переписывать все экземпляры определенной разметки, если возникает необходимость изменить используемую структуру классов / разметки css. В идеале я хотел бы, чтобы любые изменения были сделаны в одном месте, которое будет распространяться на все виды использования в системе.
В качестве практического примера того, как это может быть достигнуто на стороне сервера, в настоящее время мы используем набор пользовательских HtmlHelpers в ASP.NET MVC (по дизайну похож на KendoUI). Эти помощники предоставляют разработчикам удобный интерфейс для использования и централизованного управления созданной разметкой.
Однако, поскольку мы движемся к генерации пользовательского интерфейса на стороне клиента, я не уверен, как получить те же преимущества, которые доступны при генерации разметки на стороне сервера.
Я ценю, что шаблоны могут предоставлять многократно используемые виджеты по всему пользовательскому интерфейсу, однако это не полностью решает проблемы, описанные выше, которые применяются при создании этих шаблонов и макете для их содержания.
Итак, подведем итог моего вопроса...
Какие методы могут быть использованы для достижения контроля и согласованности в создании разметки в команде при разработке SPA корпоративного масштаба?
1 ответ
Поскольку ваш вопрос ограничен Backbone.js и Aura, я не уверен, что это квалифицируется как ответ, но я бы обязательно проверил 3 вещи
- AngularJS и AngularUI - концепция директив, напоминающая понятие веб-компонентов (незавершенный стандарт W3C для веб-элементов управления)
Если вам нравится печатное кодирование и вы хотите жить на переднем крае, проверьте Dart Web UI, в нем также используется довольно похожая концепция.
Если вам нужно остаться в Backbone Land, то я бы, конечно, проверил Backbone UI
Я считаю, что первые 2 имеют больше шансов ответить на ваши 3 требования.