Обновить
Комментарии 14
Если нужны исходники, могу выложить на гитхаб =)
А зачем вообще в таком случае ангуляр? Обработчики можно и с реактом повесить, и кода не сильно больше.
Кроме того, вы смотрели на библиотечку OM для React? Она правда на clojurescript и тянет за собой новую кухню, но код получается очень лаконичный.
Затем, что ng полноценный фреймворк и очень легко на нем писать, просто немного не оптимизирован под большое колличество данных. Я же не говорю делайте так! Плюс, меня дико удивляют эти попытки юзать clojurescript и прочее. Зачем столько всего устанавливать, для того чтобы писать простой фронтенд на js?
А чем react неполноценен? Вроде те же задачи решает.
А зачем использовать AngularJS или ReactJS для простого фронтенда? Т.е. их можно для него использовать, но сравнивать, как мне кажется, надо для другого кейса. Они — как и ClojureScript — хороши как раз для того, чтобы не сойти с ума при сложном фронтенде.
Маленькое замечание. Поменяйте последовательность листингов местами после фразы
Создадим main.js и index.html которые будут иметь код:
...
Соответственно
, либо порядок перечисления имен файлов, т.к. этот порядок не соответствует их следованию
Конгениально было бы замерить собственно выигрыш в мс или Кб. Коль скоро в заголовке указано быстрее, то хотелось бы раскрытия темы на сколько.
Ускорение в 5 раз — неплохо, но полученный код не так легко сопровождать.
Мне больше импонирует как сделали ребята из Scalyr. Они просто избавились от лишних watcher-ов, стали использовать DOM cache, что дало довольно большой профит 1200ms to 35ms.
Вот их репозиторий на Github.
Хорошая идея. Можно еще использовать bindonce, но уж точно не тащить целый здоровенный react ради этого
По моим тестам при 2000 елементов view на React было в 5 раз быстрее чем на Angular.
«Раз пошла такая пьянка», решил сравнить с vanillaJS, на 20k элементов:
React: ~700ms
JS: ~160ms
JS (без onclick): ~80ms
Код примерно такой.
Круто, Денчик. Мне нравиться, такое решение. Хотел начать разбираться с React'ом, но все никак руки не доходили. Теперь есть повод. Спасибо)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.