Javascript frameworks: Что такое привязки пользовательского интерфейса и составленные представления?

Я читаю это:

http://codebrief.com/2012/01/the-top-10-javascript-mvc-frameworks-reviewed/

Я использую backbone.js. Мне это нравится, хотя для этого требуется слишком много шаблонов. Так или иначе.

Автор сообщения, похоже, имеет большое значение для UI-привязок и составленного представления.

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

Я понятия не имею, что он подразумевает при составлении взглядов, может ли кто-нибудь разъяснить?

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

Есть ли пример?

Спасибо

Edit:

Помогло ли это сделать что-то вроде скомпилированных представлений?

https://github.com/tbranyen/backbone.layoutmanager

Ответы

Ответ 1

Я создал LayoutManager для Backbone.js, потому что я тоже хотел создавать сложные представления.

http://tbranyen.github.com/backbone.layoutmanager/

Сообщите мне, если вы найдете этот подход полезным.

Ответ 2

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

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

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

Возможно, этот пример поможет: http://coenraets.org/blog/2011/12/backbone-js-wine-cellar-tutorial-part-1-getting-started/

Ответ 3

Традиционные веб-страницы монолитные. Пользователь вызывает страницу, а сервер создает страницу, и браузер ее отображает. Здесь автор ссылается на разбиение такого кода на множество представлений. Таким образом, ваша страница состоит из нескольких частей. И каждая часть получает визуализацию и обновление независимо. Или одно изменение модели может инициировать серию обновлений для некоторых или всех частей.

В основном это позволяет создавать приложения типа "рабочий стол" в Интернете. И вам не нужно прибегать к хакам iframe, чтобы это сделать.

Gmail и Google Reader являются хорошими примерами веб-приложений, построенных с использованием скомпилированных представлений.

Ответ 4

Мне кажется, что автор говорит о серверном коде здесь. Создание системы многоразовых шаблонов страниц, которые генерируют страницы из общего набора виджетов, html-фрагментов и т.д.

Apache Tiles - это один из способов сделать это.