Учитывая
- бизнес-фон
- поддержка сообщества
- доступные расширения
- набор функций по умолчанию
- простота использования
- и надежность
почему вы предпочитаете друг друга?
Учитывая
почему вы предпочитаете друг друга?
Я попытаюсь добавить свою часть информации.
Как я понимаю, Google Closure - это не только другая JS-библиотека, но и набор инструментов, которые позволят вам оптимизировать ваш JS-код. Работа с jQuery дает вам хорошие инструменты и легкую библиотеку, но она не минимизирует ваш собственный код. Closure компилятор будет. Инспектор закрытия также может быть полезен, поскольку иногда минифицированный код имеет другое поведение, чем оригинальное, и это боль для отладки. Он интегрируется с Firebug и поддерживает модульные тесты, которые в настоящее время являются лучшими друзьями разработчиков.
Я предполагаю, что, поскольку любая новая библиотека VS хорошо зарекомендовала себя, ей не хватит наличия тонны расширений и учебников, которые имеет jQuery. Однако, подталкивание Google должно гарантировать, что поддержка и надежность будут очень хорошими. Текущая документация и tutorial кажутся действительно хорошими, тоже.
Возможности Closure выглядят прилично, хотя и модульная архитектура тоже многообещающая. Я полагаю, что Google использует его внутренне в течение длительного времени, а это означает, что вы можете ожидать, что все основные функции (и многое другое) будут реализованы и, вероятно, очень оптимизированы и масштабируемы. Они пытаются представить его как STL JavaScript, поэтому они должны были отполировать его.
После более пристального изучения функций кажется, что это может стать шагом вперед для разработки веб-приложений по сравнению с существующими библиотеками как jQuery. Предполагается, что это выгодно внутренним событиям в Google, но такие вещи, как обнаружение онлайн-состояния (см. goog.events.OnlineHandler), простая интеграция запросов AJAX и Действия JS в истории браузера (см. goog.History) или легионы больших виджетов, которые они предоставляют (см. пакет goog.ui) может помочь всем нам построить еще более удивительные веб-страницы;)!
Он поставляется с функциями шаблонов, который интегрируется с Java (который сказал GWT?), так что это также может быть еще одним плюсом для закрытия.
Наконец, он выглядит довольно прост в использовании. Синтаксис может быть немного более подробным, чем короткая функция $jQuery, но с IDE и автозавершением это не настоящая проблема. Более того, я бы сказал, что мы можем ожидать хорошей интеграции в IDE, например Eclipse, из Google.
EDIT: в соответствии с просьбой позвольте мне сказать несколько слов о ссылке GWT. Google Web Toolkit - это библиотека Java, которая позволяет создавать веб-интерфейсы с поддержкой AJAX и генерирует (и оптимизирует) требуемый код JavaScript. Поскольку Google Closure позволяет создавать шаблоны, которые могут использоваться как на стороне клиента, так и на стороне сервера (с использованием JavaScript и Java), я предполагаю, что в ближайшее время их можно будет использовать совместно (если это еще не так).
В моем кратком обзоре API я обнаружил различия между jQuery и Closure.
jQuery - это в основном простой способ сделать много частых операций кросс-браузерным способом.
Closure - это очень новая структура, поскольку они предоставляют кросс-браузерный способ использования тега <canvas>
, и они добавили новые события.
Итак, это добавление к тому, что мы обычно делаем с javascript, они выполняют много операций, которые люди хотят делать, и помещая их в API.
Например, у них есть событие, чтобы узнать, изменилось ли состояние онлайн. Таким образом, вы можете узнать, находится ли система в сети.
У них есть функции javascript, которые используют такие инструменты, как Google Gears, что продолжается с тем, что они расширили то, что можно сделать с помощью Javascript.
Мне потребуется несколько дней, чтобы переварить все изменения, но я вижу, что это может сильно повлиять на веб-приложения, которые могут быть разработаны.
Самое большое преимущество библиотеки Closure - это то, что предназначено для Closure Compiler. Это открывает совершенно новые возможности для разработки JavaScript...
У компилятора есть несколько интересных функций:
Подробнее см. http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Изменить: посмотрите это видео youtube, он может ответить на некоторые вопросы о Google Closure лучше.
Вероятно, лучшими источниками информации о закрытии google являются проект дискуссионная группа, wiki, doc-страницы, демонстрации и еще не законченные книга Майкла Болина, которая теперь доступна на сайте сафари.
одно, что я могу сказать сразу - есть более крутая кривая обучения для closure
vs jQuery
, но это может быть хорошо стоит из-за обширности библиотеки, четкой организации и преимущества ее использования вместе с компилятором и инструмент шаблонов.
closure
библиотека в этом отношении больше похожа на dojo
, чем jQuery
, а некоторые понятия были заимствованы из dojo
, согласно Майклу Болину.
компилятор google использует JSDoc
систему документации, которая одновременно (если она создана программистом правильно) предоставляет документацию и позволяет ловить много ошибок во время компиляции.
тогда как имена функций более подробные, чем jQuery
, компилятор сжимает код (используя различные тактики оптимизации), и проверка типов сэкономит значительное время отладки кода, поэтому время ввода более длинных имен, вероятно, не вопрос. В то же время более длинные имена добавляют читаемость.
поддерживает браузеры, работающие в режиме quirks, так что скрипты могут быть встроены другими сайтами с использованием "quirky" html
Библиотекаработает с (но не зависит от) системой шаблонов javascript под названием soy
, которая упрощает заполнение документов контентом.
like jQuery
google closure
позволяет перемещать структуру dom с помощью строковых запросов с использованием выделенного компонента библиотеки.
closure
библиотека использует пространственные пространства с точками, более похожие на Java
- очень сильная организационная функция.
с использованием таких пространств имен будет наложен накладные расходы в несжатом коде, но в скомпилированном коде эти вещи заменяются короткими именами переменных.
Я только что опубликовал довольно исчерпывающую статью о Google Closure, которая отвечает на этот вопрос на insideRIA.
... Закрытие rulez! ^ _ ^
Возможно, я не получаю jQuery, но я не видел там реальной коллекции виджетов пользовательского интерфейса (есть плагины, да, но вы никогда не знаете, насколько хорошо они проверены, и часто нет явного победителя и/или плагину не хватает документации).
Закрытие имеет, помимо прочего, коллекцию виджетов (см. вкладку demos), включая, скажем, бессмысленные кнопки, используемые в gmail.
В более общем плане, он обладает большей функциональностью, реализованной как часть выпуска. Это может быть не большая вещь, но я раздражаюсь модами плагинов jQuery, когда я ищу что-то простое, как модуль истории ajax или автозаполнение.
В целом это огромная библиотека + набор инструментов, и я буду знакомиться с ней, просто чтобы узнать, что доступно.
Я ценю большинство вкладов Google в сообщество с открытым исходным кодом, и я уверен, что у него есть классный материал, но в целом я нахожу Closure громоздким, перегруженным и неэлегантным. Если вы должны превратить все в Java, я полагаю, что это просто spiffy.
Edit:
Достаточно честный. Я действительно не сравнился. Закрытие похоже на гигантский склад со всеми возможными инструментами, которые вы, возможно, захотите найти где-то. Похоже на .NET или массивную библиотеку Java. После того, как вы найдете то, что вам нужно, вы можете найти очень специфический материал, который выполняет очень конкретные задания. А затем для производства вы можете удалить весь треск.
JQuery, с другой стороны, представляет собой более легко модифицированную звуковую отвертку.
Библиотека Google Closure позволяет вам скомпилировать и оптимизировать ваш JavaScript. Это не библиотека, как jQuery. jQuery - это то, что предоставляет вам функции, позволяющие быстрее писать свой JavaScript.
Google Closure поможет вам свести к минимуму ваш собственный код JavaScript, чтобы обеспечить более быструю доставку через Интернет.
Короче говоря, Google Closure - это инструмент, в то время как jQuery - это библиотека, подобная Prototype.