Я хочу знать то, с точки зрения чего Вы парни думают об этих 2 платформах:
Я уже знаю и использую jQuery, я недавно нашел его недостающий с точки зрения 'предприятия готовые' компоненты для большого веб-приложения.
Теперь я не хочу запускать дебаты по jQuery, или почему mootools не там, я хочу знать то, что Вы парни думают об этих 2 платформах конкретно.
Спасибо!
Отказ от ответственности: я являюсь коммиттером 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 поддерживает следующие браузеры:
Грядущая версия Dojo 1.5 (будет выпущена через несколько дней) была тщательно протестирована со следующими браузерами:
Чтобы подчеркнуть различия с браузерами А-класса YUI:
Лично я могу добавить, что я все еще тестирую dojox.gfx (кроссплатформенный графический пакет) на Firefox 2 - он включает Dojo Core и работает как ожидалось. И я тестирую Dojo Core на нескольких экзотических браузерах, таких как Midori.
Еще одно отличие заключается в том, что Dojo можно использовать (и он используется) в настольных и серверных средах. Очевидно, что компоненты, специфичные для браузеров, не используются в этих средах.
Модульные компоненты
С первого дня Dojo предоставлял классы, модули и пакеты (коллекции модулей). Dijit предоставляет виджеты: пакеты HTML + JavaScript с унифицированным интерфейсом.
Все строительные блоки открыты для пользователей, так что они могут создавать свои собственные компоненты, которые будут гражданами 1st класса: они могут быть загружены как любые другие модули, обработаны сборщиком (отслежены зависимости, минифицированы, CSS препроцессированы, и так далее), даже экзотические CDN сборки могут быть сделаны пользователями. Все, что вы можете сделать со стоковыми компонентами Dojo, вы можете сделать со своими собственными компонентами.
Сам Dojo разделен на 3 подпроекта, которые можно использовать отдельно:
Легко изучить и интегрировать
Dojo - это просто JavaScript и обычный HTML/DOM (для виджетов). Он не притворяется чем-то другим, это не культ с фюрером во главе, это не "фреймворк", который берет под контроль ваше приложение и заставляет вас делать некоторые странные вещи, Dojo не хочет "улучшить" "несовершенный" JavaScript, Dojo не хочет маскировать браузер под что-то другое. Вместо этого Dojo предоставляет практические инструменты, чтобы сделать программиста более продуктивным, облегчить RAD, решить общие проблемы и поддержать полезные техники и методологии.
Каждый опытный программист обычно имеет мини-библиотеку вещей, которые хорошо сработали для него/нее в предыдущих проектах. Он или она знает, чего следует избегать и что использовать. В моей голове "щелкнуло", когда я понял, что Dojo - это такая библиотека на стероидах - как будто несколько экспертов собрались вместе и тщательно объединили свои личные библиотеки. Конечно, в ней много различных модулей, но я могу использовать только то, что мне нужно для моего конкретного проекта - меня не заставляют использовать все, и я не плачу за то, что не использую. Нет даже штрафа за абстракцию.
Если вы знаете JavaScript и знакомы с HTML, CSS и DOM - вы будете как дома.
Я думаю, что ваша причина отклонения jquery звучит подозрительно, и рекомендация фреймворка как «готового к работе предприятия» - это комплимент в моей книге.
Тем не менее, у меня большой опыт работы с YUI (2 и 3), и я думаю, что он может соответствовать вашему варианту использования.
Нет единого ответа. Проверьте эту страницу и выберите ту, которая соответствует вашим потребностям:
http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks