Фреймворки javascript: что такое привязки пользовательского интерфейса и составные представления?

Я читаю это:

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

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

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

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

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

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

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

Спасибо

Редактировать:

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

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

4 ответа

Решение

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

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

Дайте мне знать, если вы найдете этот подход полезным.

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

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

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

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

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

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

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

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

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

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