Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #21 (permalink)  
Старый 17.12.2016, 13:47
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

v 1.5.2

Закончил все мыслимые и немыслимые тесты и сделал первый релиз фреймворка(https://github.com/xShiftx/javascrip...ework/releases).

Есть пара багов связанных с ошибками Edge, о которых я написал разработчикам(два из них уже подтвердили и будут исправлять). Баги мелочные: при анимациях в IE желательно указывать изначально оба свойства и left и right ибо они по умолчанию не вычисляются браузером и отдаются как значения auto. Я не стал лепить костылей и просто попросил исправить код у разработчиков.

Вот ошибки:

https://developer.microsoft.com/en-u...sues/10216077/

https://developer.microsoft.com/en-u...sues/10216218/


В целом: вы можете спокойно использовать фреймворк на Production.
Пока нет сетки для верстки, но я над этим активно думаю(задача не простая).

Если вам нужны какие-то функции или модули - вы можете запросить об реализации здесь или написать мне на почту shift-sg@yandex.ru.

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

Пока над проектом работаю один. Присоединяйтесь. С радостью приму.
Ответить с цитированием
  #22 (permalink)  
Старый 17.12.2016, 19:27
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

v. 1.5.3

Добавлена возможность анимировать цвета.
Ответить с цитированием
  #23 (permalink)  
Старый 22.12.2016, 17:47
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

v 1.5.6 (Production release: https://github.com/xShiftx/javascrip...ases/tag/1.5.6)

Произведены некоторые оптимизации и устранена поддержка старых браузеров младше IE10.

Добавлена минифицированная версия движка размером в какие-то жалкие 18.5 kB(если на сервере gzip - выхлоп будет еще меньше, а в будущем, когда мой рабочий хакинтош привезут с ремонта я оптимизирую код еще на одну или две трети с помощью утилиты JavaScipt packer), что хорошо для мобильного интернета.

Теперь движек селекторов работает на чистом document.querySelectorAll и поддерживает все псевдоклассы и прочие прелести.

Добавлена поддержка анимации новых CSS3 2D transforms(3D в процессе). Теперь можно анимировать skewX, skewY, translateX, translateY, rotate и scale.

API анимаций осталось без изменений. Двигатель поддерживает одновременную анимацию нескольких трансформов сразу.

Например,

$.dom("a:first-child", "animate", ['transform:rotate(360deg) scale(0.7):2000']);


Добавлены новые эффекты Easings(полный список в описании проекта на главной страницу GitHub).

Переписан events API на более классический из-за бывшей некрасивости.
Теперь, к примеру, событие click можно создать так:

$.click('aside h3', 'click', function(e){ e.preventDefault(); })

Последний раз редактировалось xShift, 22.12.2016 в 18:07.
Ответить с цитированием
  #24 (permalink)  
Старый 23.12.2016, 09:06
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от xShift
v 1.5.6
Сообщение от xShift
Переписан events API на более классический из-за бывшей некрасивости.
http://semver.org/

---

Как тебе помягче сказать... Это же лютый треш исходники твоего "фреймворка"

Например, почему у тебя функции проверки типов возвращают null?)

Кстати, isObject должна выглядеть по другому. Почему по другому, предлагаю тебе самому найти ответ)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #25 (permalink)  
Старый 23.12.2016, 10:06
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Сообщение от nerv_ Посмотреть сообщение
http://semver.org/

---

Как тебе помягче сказать... Это же лютый треш исходники твоего "фреймворка"
Я его постоянно переписываю. Чтобы выделить код в отдельные компоненты надо хотя бы примерно представлять как часто они будут использоваться, но я последние 30 дней только и думаю о том, что бы мне еще хотелось добавить.

В версии 2.0 запланировано изменение API и уход от подхода коллекторов на свичах - там большинство бардака и разгребется.

Мне вот, например, хочется добавить поддержку анимации градиентов CSS3 для чего есть color animate, который для анимации цветов и animate move для простого просчета значений по времени, а еще есть теперь matrix animate для работы с матрицей трансформаций(она по get computed выставляется в виде matrix(1, 0, 0, 1, 0, 0), а не привычных свойств типа rotote или scale и еще до кучи в радианах, что приходится дважды пересчитывать по технической необходимости).

Плюсом придется делать костыль для распаковки 3D матрицы и ее уравнивания с дефолтной 2D матрицей. Это ощутимый говнокод, но без него работать просто не будет и желаемый функционал не получится хорошим ...
Можно конечно сказать что то вроде 'да говно это все' и плюнуть и ничего не делать, я же решил сделать поддержку некоторых вещей лучше чем в jQuery, меньше по коду и размеру чем в jQuery и сделать это на приемлемом уровне.

Как уж тут без треша?

Все это надо будет причесать в один двигатель и как-то разбить на компоненты экстракции свойств и их замены. Но как я это сделаю сразу, если код сразу потеряет читабельность в разы? Я ведь не знаю какие у меня возникнут сложности с распарсом синтаксиса градиентов и какие придется вносить изменения.

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

Код изначально оптимизирован под максимальную минималистичность и компактность - поэтому выглядит немного трешово.

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

Пока я в основном наращиваю функционал. А что вам показалось особенно трешовым?

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

Сообщение от nerv_ Посмотреть сообщение
Например, почему у тебя функции проверки типов возвращают null?)
А какая техническая разница в JavaSript условиях иcпользовать null или false? И то и другое работает одинаково ...

Сообщение от nerv_ Посмотреть сообщение
Кстати, isObject должна выглядеть по другому. Почему по другому, предлагаю тебе самому найти ответ)
Согласен. Но код работает и без нее в принципе, а по большому счету пока просто руки не дошли.

Насчет версионности спасибо за ссылку. Задумаюсь(чето там много букафф).

Еще что-то посоветуете?

Последний раз редактировалось xShift, 23.12.2016 в 13:03.
Ответить с цитированием
  #26 (permalink)  
Старый 23.12.2016, 13:42
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

xShift,Какую цель преследует твоя библиотека? Для каких целей она мне, как разработчику, может пригодиться?
Ответить с цитированием
  #27 (permalink)  
Старый 23.12.2016, 17:41
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от xShift
я же решил сделать поддержку некоторых вещей лучше чем в jQuery, меньше по коду и размеру чем в jQuery и сделать это на приемлемом уровне.
Сообщение от xShift
Посмотрите как это сделано у jQuery
1. Ты уперся в жуквери, как в потолок. Жуквери -- это старая добрая библиотека, преимущественно, для работы с DOM + AJAX. Теперь понятно, почему ее: а) не рекомендуется использовать для анимаций; б)в нет нет расширеного фунционала для работы с анимациями?
2. Для анимаций существуют библиотеки гораздо более оптимизированные + full-featured как говорится. Та же Velocity.js. Причем с API jQuery.

Сообщение от xShift
А какая техническая разница в JavaSript условиях иcпользовать null или false? И то и другое работает одинаково
потом поймешь

---

Сообщение от Царь Леонид
Какую цель преследует твоя библиотека?
"как жуквери, только моя + с багами + с сайд эффектами"

---

Есть такая вещь как архитектура приложения. Когда передо мной, как разработчиком, стоит задача реализации какой-либо задачи/системы/(бизнес-логики), я разобью эту задачу на подзадачи, решу каждю из них, а затем из этих кирпичей построю дом.

Для решения каждой из подзадач я выберу инструмент (бибилотеку если тебе так яснее), которая делает это:
1. правильно (тесты)
2. быстро
3. имеет интуитивно понятное апи
4. поддержку/комьюнити
5. ...

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

О чем это я? На мой взгляд твой "фреймворк" (да, да, именно в кавычках), не более чем твой собственный образовательный проект -- велосипед в учебных целях.

Велосипеды нужны. Если их не писать, ничему не научишься. Как раз именно после n+1 кол-ва велосипедов появляется полезный выхлоп

Но сейчас это просто велик на треугольных колесах и тебе стоит сконцентиророваться на обучении. Я так считаю.

Если хочешь, чтобы бородатые ребята с форума проревьювили твой код, оставь ссылку, они сделают это в меру своей загруженности. Но не стоит пытаться на данном этапе написать аналог жуквери. Даже близко не подойдешь. Кстати, Zepto есть еще =)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук

Последний раз редактировалось nerv_, 23.12.2016 в 17:43.
Ответить с цитированием
  #28 (permalink)  
Старый 23.12.2016, 18:12
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Пишу с телефона.

1. Нет. Я взял самое часто мною юзаемое. Да и других потолков нет просто. Кроме того я уже переварил реак и ангуляр и знаю что нужно сделать. Лучше бы помогли чем засирать ))) из патриотических соображений. Иначе что мы лично сделали?

2. Я из патриотических соображений пишу свое решение.

Потом не пойму в чем разница между нул и фэлс. Это эквивалентно при использовании условия иф.

У меня нет большего числа разработчиков чем я сам. И я пишу рабочий во всех положенных на него задачах пусть и велосипед. С велосипеда начинаю и если бы не менталитет большинства из отечественных разработчиков это бы имело не плохие шансы на успех. Но большинство просто обсасывает тренды и вообще ничего не разрабатывает.

(Пьяный ответ)
Ответить с цитированием
  #29 (permalink)  
Старый 24.12.2016, 06:11
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

Сообщение от xShift Посмотреть сообщение
Посмотрите как это сделано у jQuery. Если мой код вы хотя бы прочитать сможете и обслуживать, то там вы просто переломаете ноги ...
Вот так сделано, только более масштабно, и видно почему называется библиотека (функций), печально что ты ноги переломал на ровном месте) в ангуляр с такой подготовкой ты бы погиб просто))
Ответить с цитированием
  #30 (permalink)  
Старый 24.12.2016, 17:50
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

Сообщение от Rise Посмотреть сообщение
Вот так сделано, только более масштабно, и видно почему называется библиотека (функций), печально что ты ноги переломал на ровном месте) в ангуляр с такой подготовкой ты бы погиб просто))
Спасибо за пример. Кое что утащу к себе в движок.
Да я не люблю ангуляр. Он стандарты не соблюдает со своими материальными дизайнами и компонентами.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно загрузить через framework Mateus jQuery 5 11.01.2013 20:08