Dojo против YUI JavaScript-фреймворка

Я хочу знать, что вы, ребята, думаете об этих двух фреймворках с точки зрения:

  • надежность,
  • качество кода,
  • основные разработчики продвигаются вперед с новыми функциями,
  • кроссбраузерные проблемы,
  • компоненты модуля,
  • проще всего изучить и интегрировать

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

Теперь я не хочу начинать дискуссию о jquery или о том, почему там нет mootools, я хочу знать, что вы, ребята, думаете конкретно об этих двух фреймворках.

Спасибо!


person Cedric Dugas    schedule 09.07.2010    source источник
comment
Вы можете ознакомиться с дизайном и функциональностью домашней страницы Yahoo, чтобы решить, использовать YUI или нет.   -  person Exception    schedule 28.12.2012
comment
Библиотека YUI больше не поддерживается активно. Подробнее здесь: yahooeng.tumblr.com/post/96098168666/   -  person GibboK    schedule 01.02.2017


Ответы (4)


Отказ от ответственности: я коммиттер Dojo.

Почему-то никто не представил сторону Додзё в этом сравнении, это не сравнение без одной, не так ли? Позвольте мне пройтись по вашим пунктам.

Надежность

Dojo используется во многих ИТ-проектах крупных международных корпораций. Я лично участвовал в проектах для VMware, IBM, Cisco, Reuters Thomson и многих других. Вместо того, чтобы направлять вас к «маркетинговой литературе», я могу показать вам фактический список участников: http://docs.dojocampus.org/developer/contributors прокрутите вниз, чтобы увидеть корпорации, которые вносят вклад (и используют) Dojo.

Мы храним список индивидуальных и корпоративных участников, чтобы наши пользователи могли быть уверены в чистоте IP-наследия кода Dojo. Каждый участник подписывает CLA, заявив, что он/она/о написали предоставленный код и/или имеет право предоставлять его в соответствии с двойной лицензией AFL/BSD. Пока у нас с этим проблем не было.

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

Я не эксперт по фондовому рынку, но с Yahoo! всегда что-то не так: сегодня он пытается заключить союз с Google, на следующий день он убивает свой поисковый бизнес и идет с Microsoft, даже продажа Вся компания Microsoft обсуждалась еще в 2008 году кто может предсказать, что она будет делать завтра. В 2010 г. цена акции снизилась с 2008 года она снова будет продаваться? OTOH некоторые говорят, что Microsoft будет лучшей матерью для YUI, если она решит оставить его. Опять же, у Microsoft есть свои собственные свойства программного обеспечения, и она не совсем поддерживает проекты JavaScript с открытым исходным кодом.

В отличие от YUI, Dojo поддерживается несколькими компаниями, наиболее влиятельной из которых является IBM, несколько известных коммиттеров были наняты этой компанией. Хотя Dojo имеет сильную корпоративную поддержку, это по-прежнему проект, управляемый сообществом и отдельными людьми. Если какая-то компания или даже несколько компаний будут испытывать рыночные сбои, мы все равно будем идти вперед.

Dojo распространяется под двойной лицензией AFL/BSD и является бесплатным для всех видов использования. Все официально выпущенные версии Dojo обслуживаются AOL и Google CDN.

Качество кода

Я предвзят :-) и считаю код очень хорошего качества. Поскольку Dojo — это проект с открытым исходным кодом, вы всегда можете сами оценить его и улучшить, если считаете нужным.

Исходный код хранится в Subversion, а официальные зеркала хранятся на Github (git) и Bitbucket (hg) . Для удобства на Launchpad (bzr) есть зеркало.

Основные разработчики продвигаются вперед с новыми функциями

Додзё имеет активное и энергичное сообщество, которое, так сказать, держит колесо в движении. Являясь одним из основных разработчиков, я лично заверяю вас, что мы продолжим двигаться вперед, расширяя общеизвестные границы.

Dojo имеет проверенный послужной список инноваций, и мы не собираемся останавливаться на достигнутом.

Кроссбраузерные проблемы

В настоящее время Dojo 1.4 поддерживает следующие браузеры:

  • Поддержка Firefox 2 прекращена. Поддерживается Firefox V3 и V3.5.
  • Поддерживается последняя версия Safari (Safari v4) и последняя версия Chrome (Chrome v3), но не предыдущие версии.
  • IE6, IE7, IE8 все поддерживаются.
  • Последняя версия Opera (Opera v10) (только ядро ​​Dojo).

Предстоящая версия Dojo 1.5 (будет выпущена через несколько дней) была тщательно протестирована со следующими браузерами:

  • Фаерфокс 3.5/3.6
  • Сафари 4/Сафари 5 и Хром 5
  • IE6, IE7, IE8
  • Opera 10.53 и более поздние версии (только ядро ​​Dojo)

Чтобы выделить различия с браузерами YUI класса A:

  • Dojo поддерживает Linux в дополнение к Windows и Mac.
  • Dojo поддерживает Google Chrome во всех поддерживаемых операционных системах.
  • Dojo поддерживает Firefox во всех поддерживаемых операционных системах.
  • Dojo Core поддерживает Opera во всех поддерживаемых ОС.

Лично я могу добавить, что я до сих пор тестирую dojox.gfx (кросс-платформенный графический пакет) на Firefox 2, он использует Dojo Core и работает так, как ожидалось. И я тестирую Dojo Core в нескольких экзотических браузерах, таких как Midori.

Еще одно отличие состоит в том, что Dojo можно использовать (и он используется) в настольных и серверных средах. Очевидно, что компоненты, специфичные для браузера, не используются этими средами.

Компоненты модуля

С самого первого дня Dojo предоставлял классы, модули и пакеты (наборы модулей). Dijit предоставляет виджеты: упакованный HTML + JavaScript с унифицированным интерфейсом.

Все строительные блоки доступны пользователям, поэтому они могут создавать свои собственные компоненты, которые будут гражданами первогоst класса: их можно загружать, как и любые другие модули, обрабатывать сборщиком (зависимости отслеживаются, минимизируются, предварительная обработка CSS и т. д.), пользователи могут создавать даже экзотические сборки CDN. Все, что вы можете делать со стандартными компонентами Dojo, вы можете делать и с вашими собственными компонентами.

Сам Dojo разбит на 3 подпроекта, которые можно использовать отдельно:

  • Dojo (включая базу Dojo в виде одного файла)
  • Dijit: коллекция виджетов
  • DojoX: еще больше виджетов и около 50 пакетов, охватывающих все, от перекрестного -Платформа диаграммы для шифрования.

Самый простой в освоении и интеграции

Dojo — это просто JavaScript и обычный HTML/DOM (для виджетов). Он не претендует на что-то другое, это не культ с фюрером у руля, это не "фреймворк", который берет под контроль ваше приложение и заставляет вас делать какие-то странные вещи, Додзё не хочет" улучшить" "несовершенный" JavaScript, Dojo не хочет маскировать браузер под что-то другое. Вместо этого Dojo предоставляет практические инструменты, повышающие производительность программиста, облегчающие RAD, решающие типичные проблемы и поддерживающие полезные приемы и методологии.

У каждого опытного программиста обычно есть мини-библиотека вещей, которые хорошо сработали у него в предыдущих проектах. Он или она знает, чего следует избегать и что использовать. В голове "щелкнуло", когда я понял, что Додзё - это такая библиотека на стероидах, как собрались несколько специалистов и старательно объединили свои личные библиотеки. Конечно, в нем много разных модулей, но я могу использовать только то, что хочу для своего конкретного проекта. Меня не заставляют использовать все подряд, и я не плачу за то, что не использую. Нет даже штрафа за абстракцию.

Если вы знаете JavaScript и знакомы с HTML, CSS и DOM, вы будете как дома.

person Eugene Lazutkin    schedule 16.07.2010

Я думаю, что ваша причина отказа от jquery звучит подозрительно, и рекомендовать фреймворк как «готовый для предприятий» в моей книге — двусмысленный комплимент.

Тем не менее, у меня большой опыт работы с YUI (2 и 3), и я думаю, что это может подойти для вашего варианта использования.

  • Надежный — YUI используется внутри Yahoo, так что это должно дать некоторые подсказки относительно его надежности.
  • Качество кода — я участвую в проекте, и качество кода очень хорошее. Поскольку это открытый исходный код, вы можете посмотреть самостоятельно.
  • Двигаясь вперед - он поддерживается Yahoo (но также включает в себя вклад сообщества), поэтому двигаться вперед довольно безопасно. Опять же, вы можете отслеживать разработку и участие сообщества самостоятельно.
  • Кроссбраузерность — поддерживает все браузеры Yahoo класса A.
  • Модулей — тонна, и (особенно в YUI 3) легко включить только те части, которые вам нужны. Если вам нужны в основном модули с графическим интерфейсом, вам все равно нужно добавить немного YUI 2 (что легко сделать). Однако скоро появятся виджеты в YUI3.
  • Простота в освоении и интеграции — у YUI, пожалуй, лучшая документация из всех JS-библиотек, которые я когда-либо видел. . Тем не менее, YUI 3 очень упрямо относится к тому, как вы пишете свой javascript. Это в хорошем смысле самоуверенно и дает вам большую отдачу от затраченных средств, но просто «зайти» в существующий проект YUI 2 может быть проще.
person Gabe Moothart    schedule 09.07.2010
comment
ну, я не отказываюсь от него, скажем так, я просто обнаружил, что в пользовательском интерфейсе jQuery не хватает некоторых функций, которые мне нужны, а другие плагины не такого качества, как ядро ​​​​jQuery. - person Cedric Dugas; 09.07.2010
comment
Это правда. Вы найдете более стабильное качество и документацию в виджетах YUI. Я просто предпочитаю простоту и считаю, что виджеты используются слишком часто :-). - person Gabe Moothart; 09.07.2010
comment
Я не могу говорить о Dojo или JQuery, но я считаю, что одной из сильных сторон YUI является ядро ​​библиотеки, которое позволяет довольно легко создавать и расширять надежные виджеты. По моему опыту, чужой виджет почти никогда не удовлетворяет на 100%. Либо вы обходитесь тем, что получаете, либо настраиваете. YUI предоставляет хороший стартовый блок и расширенные инструменты для настройки. ИМО. - person Matthew Smith; 10.07.2010
comment
Первое предложение вашего ответа не является ни конструктивным, ни объективным. Вы должны удалить его. - person ; 09.12.2012

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

person Scott    schedule 24.10.2010

Зная, что JQuery является самым простым в использовании и чрезвычайно популярным, Dojo имеет преимущество интеграции в Zend Framework. Кроме того, учитывается разница между библиотекой или фреймворком. - Библиотека предназначена для многократного использования функций, а структура - для повторного использования поведения. - Библиотека - это то, что вы вызываете/наследуете из своего кода, а структура - это то, что вызывает ваш код или предоставляет услуги для вашего кода. - Библиотека - это набор компонентов. и классы, где структура — это то, как абстрактные классы и компоненты взаимодействуют друг с другом.

person Manohar Thakur    schedule 04.09.2013