Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   UI.js финальные приготовления (https://javascript.ru/forum/project/58806-ui-js-finalnye-prigotovleniya.html)

ТОТ_САМЫЙ 12.10.2015 00:26

UI.js финальные приготовления
 
Я тут решаю выпустить релизную версию Ui 1.0 и хочу раз и навсегда определиться с api.

Как лучшие назвать компонент который отвечает за повторение элемента столько раз, сколько в массиме элементов:

data-for или data-repeat ?

Как лучше смотрится?


trikadin 12.10.2015 00:32

Картинка сломалась.

ТОТ_САМЫЙ 12.10.2015 00:49

trikadin, починил, ты проголосуй давай

trikadin 12.10.2015 01:31

ТОТ_САМЫЙ, repeat. Повторить блок. А не выполнить действия для каждого элемента.

ТОТ_САМЫЙ 12.10.2015 14:16

trikadin, в принципе де, к тому же мы например можем написать

data-repeat='3' и он повторит 3 раза

так что да

ТОТ_САМЫЙ 13.10.2015 18:12



Пасоны, как вы смотрите на то чтобы добавить в юишку всем компонентам на ровне с методами compile и link метобы конструктор и деструктор? которые если обьявлены то будут вызываться соответственно при создании и удалении компонента? ТО есть щас нужно компоненту подписываться на свой скоуп типа this.scope.on('destruct', function(){}) а тут я сделаю, это автоматическим и если есть метод destructor то он вызовется.

ТОТ_САМЫЙ 14.10.2015 04:35

отменил деструкторы, сделал автоматическкую очистку мусора, для этого создал класс Async который нужно вызывать в ассинхронных сервисах, в общем везде где хотим сделать автоматическую отмену html запроса или отмену промиса, внутри используем класс Async

ТОТ_САМЫЙ 14.10.2015 04:50



То есть теперь просто в каком-то ассинхронном сервисе мы вызывем этот класс, и он делает всю работу по очистке мусора, просто ассинхронные функции нужно вызывать через async.do а функция которая передается в async.close() выполнится при очистке мусора, наример мы вызвали интерфал в каком то компоненте, и как только он удаляется из дом, вызовется функция переданная в close, ну да, и кстати то после выполнения функции переданной в async.do вызывается апдейт скоупа)) что удобно, чтобы человек не руками это делал при ассинхронных действиях.


да кстати require это типа виртуальная файловая система а ля браузерифай, глобабльно появляются 2 обьекта, функция require и ui, и все внутренности юишки можно получать как виртуальные файлы require('ui/class/EventEmitter') ну и наследоваться от них соответтвенно. так же написал сборщик в стиле браузерифая, но которому не обязательно указывать точку входа, можно указать группу файлов которая полюбому будет подключена, а их зависимости он уже сам подцепит. короче как браузерифай несколько точек входа. в моем случае это оч удобно, просто указать папку с компонентами и он сам вс обернет, а с браузерифаем приходилось бы каждй компонент реквайрить где то, чтобы браузерифай его подцепил. юишке же мы указываем в какой виртуалдьной папке лежат компоненты, в какой сервисы и.т.п. можно несколько папок указать где она будет искать сервисы и компоненты и контроллеры )) в общем круто, у бати все на высшем уровне, вот доделаю до ума ассинхронный рендеринг и покажу вам что я накодил за эти 3 года)

ТОТ_САМЫЙ 14.10.2015 14:04

пригашаю всех обсудить http://javascript.ru/forum/project/5...tml#post391875
что думаете по поводу отмены деструкторов?

что думаете по поводу require? кстати require стырина у какого то чувака, и она эмулирует поведение нодовской require, так что вроде не должно быть конфликтов с похожими прижлоениями которые глобальную require юзают, верно?

ТОТ_САМЫЙ 14.10.2015 16:40

Короче оставил и автоматическую очистку, и деструкторы, вдруг кто чт то захочет сделать перед удалением компонента :victory:

Safort 17.10.2015 21:39

И когда, собственно, планируется релиз сего чуда?
З.Ы. Хотя, кмк, если будет релиз, то это уже будет чудо само по себе)

ТОТ_САМЫЙ 18.10.2015 13:50

Safort, лол, вот этот список когда то был просто огромен, осталось всего:

слиппинг компоненты чтобы не обязательно удалять было а можно было засуспендить ватчеры на время пока компонент не отображается например css-show=false

всякие валидаторы на data-model всякие классы там добавлять
при верных данных не верных данных всякое такое прочее, сделать
удобным для использования в кастомных инпатах и сделать удобным для наследования

ассинхронный рендеринг
ватчеры на обсерверах а не только дирти чекинг
===================================

добавить в выражениях @ как алиас this. и в целом наворовать кофескриптовых операторов
SelectionSaver не работает в opera 12
data-if некорректно работает с ui-transclude на одном элементе
data-if некорректно работает внутри шаблонов компонентов

починить баг когда видно инициализацию шаблонов при загрузке


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

сделать нормальную передачу ассинхронки в промисах,
ибо теряется ассинхронный контекст в функциях переданных в then


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


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

ну еси хош глянуть то дам пиграться, api уже не будет меняться 100%)
обясню куда жать чтобы все работало, как функции называются и какие сущности есть

FINoM 18.10.2015 14:13

ТОТ_САМЫЙ, а где сайт, документация? Я уже два-три года с попкорном наблюдаю за твоей активностью на форуме, ты везде упоминаешь свой фреймворк, но ни с кем не делишься.

ТОТ_САМЫЙ 19.10.2015 00:23

Цитата:

Сообщение от FINoM
но ни с кем не делишься.

Потому что если я выпущу то вы начнете говорить "ааа, и чем отличается от ангуляра??? ну апи другое поудобнее, но у ангуляра комььюнити1!! АААА??" по этмоу я вот вот доведу до ума и покажу вам, и начну писать доки)

доведу до ума значит сделаю ассинхронный рендеринг, хотя меня и с нынешним рендерингом все быстрее чем в ангуляре

вот сайт http://uijs.ru/ но пока я на нем хощу и тестирую разные штуик, в данный момент там типа потфолио.
но скоро этот сайт будет посвящен полностью юишке и "магазину" компонентов и сервисов для неё)


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