JSONML против InnerHTML против? - PullRequest
       7

JSONML против InnerHTML против?

2 голосов
/ 06 февраля 2009

Прежде всего, я единственный человек, использующий JSONML? И во-вторых, вы бы порекомендовали использовать JSONML для вставки динамического HTML или InnerHTML более эффективен?

Ответы [ 3 ]

3 голосов
/ 06 февраля 2009

Имейте в виду, что (в IE) не каждый innerHTML доступен для записи (innerHTML в любом случае не является стандартным). Чем ближе вы подходите к добавлению узлов, чем к вставке HTML, тем лучше. Насколько я вижу, jsonml thingie создает элементы DOM, что приятно. Я могу только посоветовать вам сделать огромный набор данных, вставить его двумя различными способами и измерить производительность самостоятельно.

2 голосов
/ 06 февраля 2009

Внешне используемые для выполнения похожих задач, JsonML и innerHTML - совершенно разные звери.

innerHTML требует, чтобы у вас была вся разметка в точности так, как вы хотите, чтобы она была готова к работе, а это означает, что либо сервер выполняет разметку, либо вы выполняете дорогостоящие объединения строк в JavaScript.

JsonML открывает двери для клиентских шаблонов через JBST, что означает, что ваш шаблон преобразуется из разметки HTML в шаблон JavaScript во время сборки. Во время выполнения вы просто предоставляете данные и получаете элементы DOM для вставки или замены существующего элемента (что-то, что innerHTML не может легко сделать без дополнительного создания DOM). Перепривязка требует только запроса дополнительных данных, а не всей повторно обработанной разметки. Именно здесь можно добиться большого прироста производительности, поскольку разметка может запрашиваться / кэшироваться отдельно от данных.

Для простоты innerHTML был предпочтительным методом для стиля шаблона HTML-сообщения Ajax. Но наборы инструментов, такие как JsonFx, могут сделать использование JsonML и JBST таким же простым, предоставляя полный шаблон Ajax на стороне браузера.

1 голос
/ 06 февраля 2009

JsonML и подключенные библиотеки (шаблоны и т. Д.) Предлагают эффективный способ генерирования динамического HTML на стороне клиента.

Когда я говорю «эффективный», я имею в виду, что программист не тратит время и силы на выполнение своей задачи. Но я не уверен, что вы хотели спросить, является ли использование innerHTML более быстрым и требует меньше ресурсов на стороне клиента.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...