Я работаю над пользовательской облегченной библиотекой JavaScript, которая должна стабильно работать как в основных браузерах, так и на многочисленных независимых сайтах без компрометации или компрометации существующих библиотек или пространств имен. Возможно, самое главное, библиотека должна быть легкой (~ 15k max).
ОБНОВЛЕНИЕ. Чтобы уточнить необходимость в такой небольшой библиотеке: это сторонняя служба, которую сайты будут вставлять на свою страницу. Нам нужно держать все как можно легким, быстрым и самодостаточным, поскольку мы не можем контролировать существующие библиотеки, скорость или загрузку страницы. 15k - это номер цели только для библиотеки, к которой обращается динамический контент службы.
На этом этапе моя идея - начать с самой сконденсированной базы jQuery, которую я могу найти, а затем расширить с помощью настраиваемых модулей.
Желаемые функции:
- Обрабатывайте кросс-браузерные несоответствия, например, чемпионы (IE 6+, Chrome, FF 2+, Safari 3+).
- Обработка событий (очередь/привязка/широковещание)
- Эффективный селекторный двигатель
- Chaining
- DOM-манипуляция с базовыми анимациями
- Легко создавать и использовать версии из модулей
Я встретил EnderJS и MicroJS, но я не могу найти много дискуссий. Я более знаком и заинтересован в Эндере в этот момент, поскольку он, кажется, обращается ко всем вышеперечисленным функциям почти из коробки с "The Jeesh" взвешивание при 7,5 тыс. Захват нескольких дополнительных пакетов только подталкивает его к 10k в моем случае, что было бы идеально, так как мне нужно было всего лишь несколько k, чтобы вырезать любые пользовательские модули. Это также позволило бы мне писать и выпускать отдельные модули, которые могут быть включены и сжаты в основную библиотеку во время сборки, а также определить уникальное пространство имен, чтобы держать все это вместе и надежно защитить. Еще одна неотъемлемая часть библиотеки Ender - это использование NodeJS, с которым мне бы хотелось поиграть больше. Однако, сказав все это, я по-прежнему широко открыт для других идей.
Итак, мой вопрос:
Есть ли у кого-нибудь опыт работы с EnderJS или MicroJS, или есть другое решение/подход к тому, что я пытаюсь выполнить? Я понимаю, что это не место для "частых, открытых вопросов" , и это не мое намерение здесь. Я просто ищу предложения по наилучшему подходу к созданию легкой пользовательской библиотеки, не изобретая колесо и вместо этого подключаюсь к самым современным микробиблиотекам.