Framework j.SKY.

В приложении DEV.SKY. дебютируется javascript Framework j.SKY. Все javascript скрипты в приложении написаны на j.SKY. Над j.SKY. требуется еще множество работы, код сырой, тем не менее отлично работает (только в браузере Chrome) в текущем DEV.SKY. Поэтому приложение DEV.SKY. нужно запускать только в браузере Chrome. Если код "сырой", почему он здесь вообще представляется, спросите вы... читайте ниже.

Кристаллизация javascript и идея j.SKY.

В проекте SKY. впервые вводится понятие кристаллизация кода. Что такое кристаллизация? Это похоже на оптимизацию кода, но идеальная. Это учет абсолютно всех возможных критериев оценки кода с позиции качества этого кода. Оптимизация делает тоже, но оптимизация заканчивается, когда оптимизатор принимает волевое решение что "код оптимизирован". Кристаллизация это абстрактное понятие, так как в нее не включается волевое решение, что код хорош, он всегда считается плохим и идеалистически всегда идет поиск новых критериев, чтобы с учетом нового критерия оценить код плохо, устранить недостатки и сделать лучше. Какой код желательно подвергать кристаллизации? Конечно же, в первую очередь, код для повторного использования и в первую очередь тот который чаще используется.

В данный момент в Интернете, в качестве javascript Framework преимущественно используется jQuery. j.SKY. это попытка сделать наиболее кристаллизированный javascript Framework среди существующих. На данный момент в проекте SKY. рекомендуется в приложениях кроме DEV.SKY. и WORK.SKY. использовать jQuery, но в этих двух - j.SKY.

Предшественником j.SKY. является jQuery, итак, что мы хотим взять хорошего из jQuery и что мы не хотим наследовать. Плохо в jQuery:

Берется хорошее из jQuery:

Идея j.SKY: в общем-то понятна из описания выше, из того что мы хотим добавить и что удалить. j.SKY. начинается с двух функций $ и $$. Первая функция-надстройка над getElementById, а вторая над getElementsByTagName, но также имеет и другую функциональность. Примеры:

Из опыта использования j.SKY. в приложении DEV.SKY, видно, что код получается короче чем в jQuery, функциональность j.SKY. интуитивно понятна на основе типизированных параметров. j.SKY. это незаконченный, но интересный эксперимент написать более "кристальный" javascript Framework чем jQuery. Смотрите пример использования j.SKY. например в файле _dev/util/v_database.php

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