Dojo по сравнению с платформой JavaScript YUI

Я хочу знать то, с точки зрения чего Вы парни думают об этих 2 платформах:

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

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

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

Спасибо!

13
задан Gabe Moothart 9 July 2010 в 17:18
поделиться

3 ответа

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

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

Надежность

Dojo используется во многих IT-проектах крупных международных корпораций. Я лично участвовал в проектах для 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 года - будет ли она снова продаваться? Кроме того, некоторые говорят, что Microsoft будет лучшей матерью для YUI, если она решит сохранить его. Но, опять же, у Microsoft есть собственное программное обеспечение, и она не очень-то поддерживает проекты JavaScript с открытым исходным кодом.

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

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

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

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

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

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

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

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 (будет выпущена через несколько дней) была тщательно протестирована со следующими браузерами:

  • Firefox 3.5/3.6
  • Safari 4/Safari 5 и Chrome 5
  • IE6, IE7, IE8
  • Opera 10.53 и выше (только ядро Dojo)

Чтобы подчеркнуть различия с браузерами А-класса YUI:

  • 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 с унифицированным интерфейсом.

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

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

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

Легко изучить и интегрировать

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

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

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

24
ответ дан 1 December 2019 в 19:30
поделиться

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

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

  • Надежность - YUI используется внутри Yahoo, так что это должно дать некоторые подсказки относительно его надежности.
  • Качество кода - я участвую в проекте, и качество кода очень хорошее. Поскольку это открытый исходный код, вы можете посмотреть сами .
  • Движение вперед - он поддерживается Yahoo (но также включает в себя вклад сообщества), поэтому продвигаться вперед довольно безопасно. Опять же, вы можете самостоятельно отслеживать развитие и участие сообщества .
  • Кроссбраузер - он поддерживает все браузеры Yahoo A-grade
  • Модули - их масса, и (особенно в YUI 3) легко включить только те части, которые вам нужны. Если вам нужны в основном модули с графическим интерфейсом, вам все равно нужно добавить несколько YUI 2 (что легко сделать). Впрочем, скоро появятся виджеты в YUI3.
  • Легко изучить и интегрировать - YUI, вероятно, имеет лучшую документацию из всех библиотек JS, которые я видел. Однако YUI 3 очень самоуверенно относится к тому, как вы пишете свой javascript. Он в хорошем смысле самоуверен и дает вам много денег, но просто «заглянуть» в существующий проект YUI 2 может быть проще.
9
ответ дан 1 December 2019 в 19:30
поделиться

Нет единого ответа. Проверьте эту страницу и выберите ту, которая соответствует вашим потребностям:

http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks

0
ответ дан 1 December 2019 в 19:30
поделиться
Другие вопросы по тегам:

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