Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Carbon.JS JavaScript framework (https://javascript.ru/forum/project/7571-carbon-js-javascript-framework.html)

Cr@ZyBoY 08.02.2010 16:30

Carbon.JS JavaScript framework
 
Всем привет! Решил, что пора уже заявить о своём творении.
Итак, представляю Carbon.JS (http://carbonjs.com) - jQuery-подобный велосипед собственного сочинения.
Особенности моей библиотеки: очень быстрое ядро, которое выбирает элементы по CSS-селекторам, модульность (на данный момент 6 модулей).
Таблица сравнения скорости с jQuery 1.4: http://carbonjs.com/2010/02/carbon-j...-1-8/#more-140, тест SlickSpeed - http://carbonjs.com/demo/slickspeed/.
В фреймворке присутствуют функции для работы с DOM, Ajax, функция анимации и пр.
Раздел демонстрации пока не готов, хотя можете полазить в папке ./demo/. На сайте есть документация, репозиторий и форум. Очень интересно ваше мнение, может кто-нибудь даже захочет помочь в разработке.

Octane 08.02.2010 17:04

На селекторах свет клином сошелся похоже :D

Cr@ZyBoY 08.02.2010 17:15

Эмм, это как понять?

Octane 08.02.2010 17:27

Неужели, вы, опытный JavaScript-программист, используете сложные CSS-селекторы в JavaScript, делая ваши скрипты, сильно зависимыми от вёрстки?

Cr@ZyBoY 08.02.2010 17:54

Лично я нет. Но никогда не знаешь, что где может понадобиться, поэтому почему бы не сделать ядро максимально функциональным в плане поддержки селекторов?
Ну и к тому же, это чисто спортивный интерес: типа, такое сделали в jQuery, Prototype и т.п., а чем я хуже? Пусть увидят, на что способен парень из страны, где по улицам ходят медведи в лаптях и все на ночь пьют водку с молоком.

Kolyaj 08.02.2010 17:58

Цитата:

Сообщение от Cr@ZyBoY
Пусть увидят, на что способен парень из страны, где по улицам ходят медведи в лаптях и все на ночь пьют водку с молоком.

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

Octane 08.02.2010 17:59

Ясно. Своих идей нет.

Cr@ZyBoY 08.02.2010 18:36

Свои идеи есть всегда, но почему бы не улучшить чужие? Пусть этих движков уже дофига, ну и что. Конкуренция - двигатель прогресса. ИМХО, чем больше выбор, тем лучше.
Да и к тому же у меня не просто один только движок селекторов, но и полноценная библиотека.

PeaceCoder 08.02.2010 20:29

Таксь. Ядро проанализировал. Говорю сразу кеш можете выкинуть. он не нужен, только испортит выборку.
Пример: сделали выборку, добавили элемент в дом и сделали еще раз такую выборку - получаем теже элементы, а новый не добавляется.
Это раз.
Два.
Q('* SPAN I + SPAN DIV B + *')

Заместь * представте что интересует не тег как фильтр, а сам фильтр, например атрибуты. И тут то ваш скрипт и полетел. jQ в два раза быстрее Вашего в этом случае. Этот метод я уже давно продумал выбирать все элементы в текущем контексте потом в каждом полученном выбирать новые + это все проверять(отсеивать), оч много лишних действий.
А еще баг есть
У Вас там есть такая фишка
315	var selectors = iargs.replace(/\s?(>|\+|~)\s?/g, "$1")

Тут вы убираете пробелы между комбаноториками, а не подумали что может быть такой запрос (привожу как пример)
Q('* SPAN I[name=Вася + Пупкин] + SPAN DIV B + *')

В данном случае фильтр искорябится...

П.С. тестил как Ваш, так и jQ без querySelectorAll и кешей. Задумка неплохая, и кстати понравилась фишка с getByCombinators.
П.П.С Отмечу что у Вас нет такого бага "+" как в jQuery это радует и вообще техника выборки другая => селекторы работают как надо. в JQ в этом плане есть немного багов

tenshi 08.02.2010 20:31

ядро - это грозно сказано х)))
если твой движок селекторов так крут - ну так и развивай jquery встроив движок в него


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