Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Как продвинуть фреймворк? Нужен совет. (https://javascript.ru/forum/offtopic/48361-kak-prodvinut-frejjmvork-nuzhen-sovet.html)

melky 17.12.2014 11:03

Цитата:

Сообщение от __он_самый__
во первых она просто быстрая так

реакт рендерит в реальный DOM из виртуального по requestAnimationFrame \ setTimeout (асинхронно)

имхо, ангуляр и ui уступят реакту по производительности - реакт с помощью VDOM решил проблему медленного DOM (вы ведь не будете спорить, что ДОМ медленный?).

добавишь сюда UI ? http://jsperf.com/angular-vs-knockout-vs-ember/292

вопрос. а как же SEO? в UI тоже нужно будет заряжать prerender.io, как в ангуляре ?

Цитата:

Сообщение от __он_самый__
ассинхронно рендерит преимущественно только то что на экране

неплохая идея. а как быть с CTRL+F ? рендерит ли она в невидимый элемент (напр. для бенчмарков)?

Цитата:

Сообщение от __он_самый__
преимущественно только то что на экране

как понять?

__он_самый__ 19.12.2014 00:32

Цитата:

Сообщение от melky
имхо, ангуляр и ui уступят реакту по производительности - реакт с помощью VDOM решил проблему медленного DOM (вы ведь не будете спорить, что ДОМ медленный?).

у меня тоже есть виртуальный дом, рендерится только то что на экране, я уже писал об этом а ЧТО на экране узнается благодаря виртуальному DOM

я по твоему не знаю о рекат и ИГНОРИРОВАЛ его существование при создании юи2? Конечно нет. Смысл делать юи если реакт быстрее?
Я Так же добавил фитчи изоморфных фреймворков таких как Метеор, например фитча РесурсЛист, которая, ну типа виртуальная база данных на клиенте синхронизирующаясяяясяяя с... да я уже писал об этом выше не буду еще раз

Цитата:

Сообщение от melky

оо спасибо)) годная идея

Цитата:

Сообщение от melky
вопрос. а как же SEO?

вот черт)) совершенно об этом не думал. спасибо

Цитата:

Сообщение от melky
рендерит ли она в невидимый элемент

если компонент невидимый, не в смысле невидимый на экране в данный момент, а в смысле либо дисплей хайден либо визибле ноне, то тогда компонент переходит в спящий режим, и его контроллер об этом узнает (срабатывает событие sleep (все контроллеры ивент эмиттеры)) останавливаются все его таймауты и интервалы и все ассинхронное что было. а если человек подпишется еще на это событие то он сможет и еще чт то еще свое сделать при засыпании. Останавливается рендеринг и ватчеры скоупа переходит в спящий режим. Так же думаю что можно даже убирать элемент из DOM чтобы не тупил интерфейс. Таким образом можно будет создат хоть 100 страниц сайта все в одном прилжоении и только активная будет нагружать комп.

__он_самый__ 19.12.2014 00:44

Цитата:

Сообщение от melky
а как быть с CTRL+F

Подумаю, рендерится МОМЕНТАЛЬНО только то что видно на экране,, если элемент не виден на экране, то рендеринг переходит в режим троттлинга, то есть порендерит 16 миллисекунд, перестанет на 70, опять порендерит 16 миллисекунд сколько у спеет сделать сделает - перестанет.


Я подумаю над CTRL + F, но я правда даже не вижу пока очевидного решения( может быть если человек нажмет ctrl + f или F3 то менять режим рендеринга? или сделать свое поле поиска а не браузерное, хз хз чето бред какой то

а как реакт справляется в ctrl+f?

__он_самый__ 19.12.2014 01:04

Цитата:

Сообщение от melky
Сообщение от __он_самый__
преимущественно только то что на экране
как понять?

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

__он_самый__ 19.12.2014 05:06

вот например скорость на 200к итераций, тока учтите что я еще не доделал (по этому и не выкладываю), так что далекоо не все оптимизации, но фишка в том что пользователю срать хот там миллион итераций хоть триллион, он на экране видет только кусок и хочет с ним работать

<script src='//uijs.ru/ui.js'></script>
<script>
    ui.controller('Test', function () {
        this.arr = [];
        var i = 200000;
        while (i--) this.arr.push(i);
    })
</script>


<div data-repeat="Test.arr" data-init="ww = 11" on-click="ww++"> {{ww}} </div>


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

так же нужно учитывать тип элементов, блочный или строчный вдруг мы строчный итерируем или ячейки таблоциы и
.т.п.к корче виртуал дом получается

а теперь ангуляр))))))))

<script src='//ajax.googleapis.com/ajax/libs/angularjs/1.3.5/angular.min.js'></script>
<script>
    angular.module('app', []).controller('Test', function () {
        this.arr = [];
        var i = 200000;
        while (i--) this.arr.push(i);
    })
</script>

<body ng-app='app' ng-controller='Test as Test'>
   <div ng-repeat="val in Test.arr" ng-init="ww = 11" ng-click="ww = ww + 1"> {{ww}} </div>
</body>

FINoM 26.12.2014 22:05

Цитата:

Сообщение от melky

От меня тоже спасибо (плюсик врубить не могу).

__он_самый__ 27.12.2014 07:18

пасоны, крутой гарфон pronterra.ru ?

Aetae 27.12.2014 12:50

__он_самый__, лагает - значит говно.

FINoM 27.12.2014 12:53

Цитата:

Уважаемый гость, сайт находится на усовершенствовании. В ближайшие дни мы порадуем Вас новым дизайном.
Как правило, всем ао-барабану.

__он_самый__ 27.12.2014 18:25

Цитата:

Сообщение от Aetae
лагает

у меня на 8600GT шестилетней давности, на огромном мониторе с 2500x разреением не лагает. а у тебя лагает? у людей блять на телефонах с ретиной не лагает, а у тебя лагает? обнови комп чувак. че за видюха хоть


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