UI.js финальные приготовления
Я тут решаю выпустить релизную версию Ui 1.0 и хочу раз и навсегда определиться с api.
Как лучшие назвать компонент который отвечает за повторение элемента столько раз, сколько в массиме элементов: data-for или data-repeat ? Как лучше смотрится? ![]() |
Картинка сломалась.
|
trikadin, починил, ты проголосуй давай
|
ТОТ_САМЫЙ, repeat. Повторить блок. А не выполнить действия для каждого элемента.
|
trikadin, в принципе де, к тому же мы например можем написать
data-repeat='3' и он повторит 3 раза так что да |
![]() Пасоны, как вы смотрите на то чтобы добавить в юишку всем компонентам на ровне с методами compile и link метобы конструктор и деструктор? которые если обьявлены то будут вызываться соответственно при создании и удалении компонента? ТО есть щас нужно компоненту подписываться на свой скоуп типа this.scope.on('destruct', function(){}) а тут я сделаю, это автоматическим и если есть метод destructor то он вызовется. |
отменил деструкторы, сделал автоматическкую очистку мусора, для этого создал класс Async который нужно вызывать в ассинхронных сервисах, в общем везде где хотим сделать автоматическую отмену html запроса или отмену промиса, внутри используем класс Async
|
![]() То есть теперь просто в каком-то ассинхронном сервисе мы вызывем этот класс, и он делает всю работу по очистке мусора, просто ассинхронные функции нужно вызывать через async.do а функция которая передается в async.close() выполнится при очистке мусора, наример мы вызвали интерфал в каком то компоненте, и как только он удаляется из дом, вызовется функция переданная в close, ну да, и кстати то после выполнения функции переданной в async.do вызывается апдейт скоупа)) что удобно, чтобы человек не руками это делал при ассинхронных действиях. да кстати require это типа виртуальная файловая система а ля браузерифай, глобабльно появляются 2 обьекта, функция require и ui, и все внутренности юишки можно получать как виртуальные файлы require('ui/class/EventEmitter') ну и наследоваться от них соответтвенно. так же написал сборщик в стиле браузерифая, но которому не обязательно указывать точку входа, можно указать группу файлов которая полюбому будет подключена, а их зависимости он уже сам подцепит. короче как браузерифай несколько точек входа. в моем случае это оч удобно, просто указать папку с компонентами и он сам вс обернет, а с браузерифаем приходилось бы каждй компонент реквайрить где то, чтобы браузерифай его подцепил. юишке же мы указываем в какой виртуалдьной папке лежат компоненты, в какой сервисы и.т.п. можно несколько папок указать где она будет искать сервисы и компоненты и контроллеры )) в общем круто, у бати все на высшем уровне, вот доделаю до ума ассинхронный рендеринг и покажу вам что я накодил за эти 3 года) |
пригашаю всех обсудить http://javascript.ru/forum/project/5...tml#post391875
что думаете по поводу отмены деструкторов? что думаете по поводу require? кстати require стырина у какого то чувака, и она эмулирует поведение нодовской require, так что вроде не должно быть конфликтов с похожими прижлоениями которые глобальную require юзают, верно? |
Короче оставил и автоматическую очистку, и деструкторы, вдруг кто чт то захочет сделать перед удалением компонента :victory:
|
И когда, собственно, планируется релиз сего чуда?
З.Ы. Хотя, кмк, если будет релиз, то это уже будет чудо само по себе) |
Safort, лол, вот этот список когда то был просто огромен, осталось всего:
слиппинг компоненты чтобы не обязательно удалять было а можно было засуспендить ватчеры на время пока компонент не отображается например css-show=false всякие валидаторы на data-model всякие классы там добавлять при верных данных не верных данных всякое такое прочее, сделать удобным для использования в кастомных инпатах и сделать удобным для наследования ассинхронный рендеринг ватчеры на обсерверах а не только дирти чекинг =================================== добавить в выражениях @ как алиас this. и в целом наворовать кофескриптовых операторов SelectionSaver не работает в opera 12 data-if некорректно работает с ui-transclude на одном элементе data-if некорректно работает внутри шаблонов компонентов починить баг когда видно инициализацию шаблонов при загрузке сделать мерджевые атрибуты еще и датабиндинговыми, чтобы несколько разных датабиндингов с ранных левлов компонента срабатывали на одном атрибуте и значения рисовали рядом через пробел. как мердж атрибутов, только динамический. сделать нормальную передачу ассинхронки в промисах, ибо теряется ассинхронный контекст в функциях переданных в then просто помимо всего прочего мне приходится работать над заказами и через полторы недели дедлайн, и не до фреймворка, потому что я на преыдущей его версии заказ делаю, а это типа новая с нуля написаная версия, но по скольку релиза еще не было для вас она будет первой) это такие приготовления к изоморфности и рендеринге на сервере, она теперь очень для этого подходит. Не ну я как бы уже могу дать его поиграться) но это будет просто фреймворк, смысл то в ассинхронном рендеринге, чтобы у тебя миллиард элементов и они подрендериваются пока ты интерфейс юзаешь) верхние то сразу отрендерятся, а нижние в пассивном режиме рендерятся, один фиг их на экране не видно ;) я вот эту фитчу не доделал еще чтобы везде работала и не протестировал. В этом и смысл фреймворка, в скорости рендеринга о котором вообще больше не придется думать ;) ну еси хош глянуть то дам пиграться, api уже не будет меняться 100%) обясню куда жать чтобы все работало, как функции называются и какие сущности есть |
ТОТ_САМЫЙ, а где сайт, документация? Я уже два-три года с попкорном наблюдаю за твоей активностью на форуме, ты везде упоминаешь свой фреймворк, но ни с кем не делишься.
|
Цитата:
доведу до ума значит сделаю ассинхронный рендеринг, хотя меня и с нынешним рендерингом все быстрее чем в ангуляре вот сайт http://uijs.ru/ но пока я на нем хощу и тестирую разные штуик, в данный момент там типа потфолио. но скоро этот сайт будет посвящен полностью юишке и "магазину" компонентов и сервисов для неё) |
Часовой пояс GMT +3, время: 08:42. |