jQuery по сравнению с Yahoo UI [закрытый] дизайн API

14
задан casperOne 5 April 2012 в 14:54
поделиться

5 ответов

Я не думаю, что Ваш аргумент направлен на jQuery, но больше на API, предоставляемые авторами плагинов.

К сожалению, ни один из двух авторов плагинов не создаст плагин с одним и тем же API. Уровень программного доступа не ограничивается самим jQuery, а ограничивается автором/автором плагина.

Также, как вы сказали, jQuery - это все о DOM - я вижу в этом преимущество, потому что это означает, что jQuery не перепутает все в "логике" (эээ, "бизнес-логике") приложения.... Это вполне нормально на собственном уровне абстракции - он работает с DOM, и это все!

Вы можете создавать неограниченное количество структур данных и дополнительных API для вашего приложения. jQuery не мешает вам в этом отношении.


Вы добавили больше подробностей к вашему вопросу -- это 'редактирование' является ответом на эти подробности.

Я думаю, что то, что вы испытываете, является обычным делом, когда вы достигаете определенной стадии с помощью jQuery.... API становится недостаточным. Вам не нужен DOM... Вам нужен хороший чистый API для вашего модуля, будь то аккордеон или сетка данных.

Лично я не думаю , что некоторые вещи должны быть объединены в "плагин jQuery" - делать это обычно означает жертвовать API - или прибегать к механизмам jQuery, таким как psuedo-событие, запускаемое через "триггер":

var someModule = $('#contain').someCoolModule();
someModule.trigger('initiate');

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

12
ответ дан 1 December 2019 в 12:13
поделиться

jQuery не требует специальной разметки - можно написать селектор для любого объекта. Вы также можете использовать существующую ссылку на DOM и превратить его в объект jQuery: $(domObject). На самом деле более простой и способный, чем Yahoo UI.

Не требуется знать свои селекторы домена, если у вас уже есть ссылка на DOM... Это может быть источником вашего недоразумения.

Поработав и с Yahoo UI, и с jQuery, позвольте мне сказать, что они обе отличные библиотеки. Они предназначены для разных ролей, но оба имеют отличные подходы.

jQuery - это своего рода обёртка, упрощающая всё, что связано с DOM, Ajax, выбором объектов, работой с графикой. У него очень лаконичный и блестяще простой API, который абстрагирует всю чушь браузера.

jQuery использует радикально иные концепции дизайна, чем большинство начинающих программистов. На самом деле, это дочерний плакат для использования Javascript should. Несколько лет назад было много невежества о силе Javascript. В основном, потому что большая часть JavaScript в интернете была ужасной. Сейчас, я думаю, большинство людей поняли, что яваскрипт - один из самых доступных языков. Он поддерживает несколько парадигм: функциональную, императивную, объектно-ориентированную (прототипную, а не классовую), data literals.....

jQuery использует Javascript в полной мере, используя каждый аспект своего дизайна для наиболее эффективного решения каждой проблемы.

Я говорю всем, кто изучает JavaScript, читать источник jQuery снова и снова, пока они не поймут его..... Это будет тяжело, но они закончат тем, что станут гораздо лучшими программистами, с гораздо большим набором инструментов в их инструментарии.

Это вроде как перпендикулярно "промыванию мозгов" Java/.NET, которое заключается в том, чтобы дать каждому разработчику отвертку (ООП) и сказать им, что это идеальное решение каждой проблемы в программировании и жизни.

Что, однако, не так. Каждой проблеме нужен свой инструмент. ООП - это хорошо, но часто плохая идея для некоторых проблем.

jQuery's mixin-style plugin архитектура действительно хороша. Различный, но высокоэффективный, быстрый и простой в использовании.

jQuery не просто так №1 - он прост в использовании, и невероятно мощный.

Yahoo UI - это другой подход, для другой проблемы. Это инструментарий пользовательского интерфейса, который имеет очень тяжелую абстракцию от DOM (по сравнению с легковесным подходом jQuery). Если вы намерены что-то выходящее за рамки нормы, то у вас будет много времени на его модификацию. (Это обратная сторона тяжеловесного подхода).

Это не каркас для разработки приложений. Это куча GUI-виджетов.

Я использовал оба вместе. Нет причин, по которым вы не можете использовать оба jQuery и Yahoo UI на одной странице, это два разных инструмента для разных задач.

Я предлагаю включить jQuery сайт/приложение в целом, а затем включить jQuery UI плагины по мере необходимости. Если вам нужны тяжеловесные вещи, добавьте Yahoo UI. Но придерживайтесь jQuery для вашего водопроводного кода...

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

10
ответ дан 1 December 2019 в 12:13
поделиться
  1. jQuery предназначен для работы с DOM (т.е. это язык, сильно оптимизированный для работы с веб-страницами).

  2. вам потенциально придется искать вещи, которые плагины jQuery создают автоматически

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

  3. Если вы используете метод, который автоматически генерирует ID, то jQuery может быть не для вас. Однако, например, я использовал jQuery с Google Maps без особых проблем.

  4. Если вы хотели автоматически добавить строку в таблицу, я уверен, что там есть плагин. Если нет, то не займет много времени, чтобы записать один.

0
ответ дан 1 December 2019 в 12:13
поделиться

На мой взгляд, YUI слабее в манипулировании DOM, но намного опережает дизайн.

JQuery предназначен для тех, у кого мало или вообще нет опыта работы с JavaScript (или общего кодирования). Его очень легко настроить и запустить приложение.

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

1
ответ дан 1 December 2019 в 12:13
поделиться
[

]jQuery - отличная библиотека для манипуляций с DOM, и выравнивание ее API по селекторам является одной из причин, почему она так популярна сегодня. Дело в том, что jQuery не понадобился бы, если бы браузеры DOM API были более последовательны и просты в использовании. И я согласен с Робертом Харви (прокомментированным выше), что как абстрактный слой над DOM jQuery делает очень умелую работу.[

] [

]Но как я понимаю, вам не нравится система плагинов jQuery и JQuery UI, а не сама основная библиотека. Лично я предпочитаю API в стиле YUI для компонентов и виджетов, потому что на более высоком уровне абстракции элементы DOM становятся менее важными. Я думаю, что причина, по которой авторы jQuery UI выбрали этот дизайн, заключается в том, чтобы сделать API более совместимым с их основным продуктом, библиотекой jQuery. Но я не согласен, что это было хорошее решение.[

]
1
ответ дан 1 December 2019 в 12:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: