Javascript.RU

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

v. 1.5.3

Добавлена возможность анимировать цвета.
Ответить с цитированием
  #22 (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.
Ответить с цитированием
  #23 (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 должна выглядеть по другому. Почему по другому, предлагаю тебе самому найти ответ)
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #24 (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.
Ответить с цитированием
  #25 (permalink)  
Старый 23.12.2016, 13:42
Профессор
Отправить личное сообщение для Царь Леонид Посмотреть профиль Найти все сообщения от Царь Леонид
 
Регистрация: 22.08.2013
Сообщений: 217

xShift,Какую цель преследует твоя библиотека? Для каких целей она мне, как разработчику, может пригодиться?
Ответить с цитированием
  #26 (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.
Ответить с цитированием
  #27 (permalink)  
Старый 23.12.2016, 18:12
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

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

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

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

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

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

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

Сообщение от Rise Посмотреть сообщение
Вот так сделано, только более масштабно, и видно почему называется библиотека (функций), печально что ты ноги переломал на ровном месте) в ангуляр с такой подготовкой ты бы погиб просто))
Спасибо за пример. Кое что утащу к себе в движок.
Да я не люблю ангуляр. Он стандарты не соблюдает со своими материальными дизайнами и компонентами.
Ответить с цитированием
  #29 (permalink)  
Старый 24.12.2016, 18:55
Аватар для xShift
Профессор
Отправить личное сообщение для xShift Посмотреть профиль Найти все сообщения от xShift
 
Регистрация: 22.11.2016
Сообщений: 212

v.1.5.7(https://github.com/xShiftx/javascrip...ses/tag/v1.5.7)

Реализована перепаковка 2D матрицы в принудительный 3D режим. Теперь поддерживаются 3D трансформации для анимирования.

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

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

Сообщение от Царь Леонид Посмотреть сообщение
xShift,Какую цель преследует твоя библиотека? Для каких целей она мне, как разработчику, может пригодиться?
Мой фреймворк ни каких особенных целей не преследует. Он задуман как альтернативное средство разработки предоставляющее некоторые подобные jQuery функции с некоторым набором готовых компонентов(модальники,мен ю, слайдер, табы) и мощной поддержкой анимаций. А также уже реализованным в ядре функционалом для подгона верстки под экран пользователя на базе комплекса CSS файлов микроскопического размера.

Все это богатство реализовано максимально эффективно и компактно, что позволило сделать размер очень маленьким, а значит быстрым для загрузки(в последней на момент написания версии 1.5.7 - это всего 20 кб сжатого кода против 150кб у jQuery с учетом всех компонентов и такого же функционала, который она полностью не обеспечит. если на сервере есть gzip, то размер движка будет еще компактнее).

Кароче лучше jQuery потому, что если вы для реализации того же функционала подцепите UI и плагины - это у вас вылезет в 1.5 мегабайта веса ...

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

Может ли это вам пригодиться в 2017 году - решайте сами.

Последний раз редактировалось xShift, 24.12.2016 в 19:39.
Ответить с цитированием
Ответ



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

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


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