Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Что быстрее? (https://javascript.ru/forum/dom-window/44749-chto-bystree.html)

constantant 31.01.2014 15:48

Что быстрее?
 
Вложений: 1
1) Загружать HTML-структуру с сервера и назначать обработчики событий (классическая схема)
2) Загружать HTML с подключённым js-приложением, в котором есть всё необходимое, при этом BODY пуст (шаблоны на клиенте)

Вот примеры реализации:
1) http://constantant.ru/client-tpl-test/classic/
2) http://constantant.ru/client-tpl-test/on-client/

При клике на блок с именем должен появиться алерт.

melky 31.01.2014 19:19

не "что быстрее", а "что проще"

так то очевидно, что классическая схема быстрее)

constantant 31.01.2014 21:14

Обоснуйте, пожалуйста

melky 31.01.2014 21:19

в первом случае время тратится на парсинг DOM и остальное

во втором - на генерирование HTML, его вывод и плюс всё то время, которое тратится в первом случае

constantant 01.02.2014 00:10

Вот примеры реализации:
1) http://constantant.ru/client-tpl-test/classic/
2) http://constantant.ru/client-tpl-test/on-client/

При клике на блок с именем должен появиться алерт.

1) Отображается быстрее, но ни чего не работает и очень долго догружается
2) Отображается чуть медленнее, но сразу всё работает.

melky 01.02.2014 10:32

значит настала пора делать фронтенд на шаблонах :)

constantant 01.02.2014 23:07

Кто бы ещё помог это объяснить грамотно :-?

http://www.html5rocks.com/ru/tutoria...wbrowserswork/ - много интересного, но кажется на мой вопрос там сложно найти ответ.

kostyanet 01.02.2014 23:23

Вложений: 1
Дождался 400 мб зохаванной мемори и решил закрыть пагу по второй ссылке. В ответ получил вот такое сообщение:

constantant 01.02.2014 23:39

Не удивительно) Пример делал под предельные возможности вменяемых браузеров - длина массива в JSON'е == 100 000 :) FF не под силу такие объёмы, особенно если на машине памяти мало)

kostyanet 01.02.2014 23:52

Еше и в жисоне. Чтобы награда нашла своего героя...

Короче ответ самоочевиден.

kostyanet 01.02.2014 23:55

Цитата:

Сообщение от constantant
особенно если на машине памяти мало)

Это у вас памяти не хватает сообразить что на машине на которую вы покушаетесь могут уже кушать ФШ, Корел, Вегас и туева хуча открытых сайтов которые не мудря пишут спецы типа вас.

Вы просто не знаете что существуют окна. У вас - экран.

ЗЫ Вы же думаете что я специально сделать снимок загружал ФШ? Он всегда загружен.

constantant 02.02.2014 00:05

Цитата:

Сообщение от kostyanet
хуча открытых сайтов которые не мудря пишут спецы типа вас

:D GMAIL, наверно, тоже пишут слепцы

kostyanet 02.02.2014 00:13

gmail это разве сайт? Это же сервис.

Не важно. Борьба с такого рода закидонами идет легко: не пойдут люди на убитый сайт и все.

constantant 02.02.2014 00:26

Цитата:

Сообщение от kostyanet
gmail это разве сайт? Это же сервис.

А причём тут сайт/сервис?
Речь идёт о подходе к фронту, и не важно для чего.
Примеры, которые я привёл, специально сделаны так что бы максимально напрячь браузер. Естественно, что в живом приложении такого быть не должно.

С уважением, Ваш Кэп :)

kostyanet 02.02.2014 11:14

Примеров я так и не увидел. Однако вопрос всегда решается большинством голосов, количественно. Если выходных данных существенно больше чем данных оформления - оформление подставляется в данные, если данных - данные подставляются в оформление.

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

Типичный майл-сервис это голимые таблицы и списки. Это я вам про гмайл намекае.

constantant 02.02.2014 11:32

Цитата:

Сообщение от kostyanet
Примеров я так и не увидел.

Для тех кто не может посмотреть, в первом посте есть исходный код теста(test.zip) - там в файле config.inc можно поменять значение $iterations на меньшее :)


Часовой пояс GMT +3, время: 21:11.