принимая во внимание
- бизнес фон
- поддержка сообщества
- доступные расширения
- набор функций по умолчанию
- простота использования
- и надежность
почему вы предпочитаете один другому?
принимая во внимание
почему вы предпочитаете один другому?
Ответы:
Я постараюсь добавить свой кусок информации.
Насколько я понимаю, Google Closure - это не только еще одна библиотека JS, но также набор инструментов, которые позволят вам оптимизировать код JS. Работа с jQuery дает хорошие инструменты и легковесную библиотеку, но она не уменьшает ваш собственный код. Компилятор Закрытие будет. Закрытие инспектор может также быть полезным, так как иногда уменьшенный код имеет различное поведение , чем оригинальный, и боль для отладки. Он интегрируется с Firebug и поддерживает юнит-тесты, которые на сегодняшний день являются лучшими друзьями разработчиков.
Я предполагаю, что, как и любая новая библиотека VS, хорошо зарекомендовавшая себя, ей будет не хватать тонны расширений и учебников, которые есть у jQuery. Однако поддержка со стороны Google должна гарантировать, что поддержка и надежность будут достаточно хорошими. Текущая документация и учебник тоже кажутся действительно хорошими.
Тем не менее, возможности Closure выглядят достойно, и его модульная архитектура также является многообещающей. Я полагаю, что Google давно использует его для внутреннего использования, а это значит, что вы можете ожидать, что все основные функции (и даже больше) будут реализованы, и, вероятно, очень оптимизированным и масштабируемым образом. Они пытаются представить его как STL JavaScript, поэтому им следовало бы его отточить.
Если присмотреться к функциям поближе, кажется, что это может стать шагом вперед для разработки веб-приложений по сравнению с существующими библиотеками, такими как jQuery. Предполагается, что это приносит пользу внутренним разработкам в Google, но такие вещи, как обнаружение состояния в сети (см. Goog.events.OnlineHandler ), простая интеграция запросов AJAX и действий JS в историю браузера (см. Goog.History ) или легионы отличных виджетов. они предоставляют (см. пакет goog.ui ) могут помочь всем нам создавать еще более крутые веб-приложения;)!
Он поставляется с функциями шаблонов, которые интегрируются с Java (кто сказал GWT ?), Так что это также может быть еще одним плюсом для Closure.
Наконец, это выглядит довольно просто в использовании. Синтаксис может быть немного более подробным, чем у короткой функции $ jQuery, но с IDE и автозаполнением это не является реальной проблемой. Более того, я бы сказал, что мы можем ожидать хорошей интеграции в IDE, таких как Eclipse, от Google.
РЕДАКТИРОВАТЬ: в соответствии с просьбой, позвольте мне сказать несколько слов о GWT ссылки. Google Web Toolkit - это библиотека Java, которая позволяет создавать веб-интерфейсы с поддержкой AJAX и генерирует (и оптимизирует) необходимый код JavaScript. Поскольку Google Closure позволяет создавать шаблоны, которые могут использоваться как на стороне клиента, так и на стороне сервера (с использованием JavaScript и Java), я предполагаю, что вскоре станет возможным использовать их совместно (если это еще не так).
В моем кратком обзоре API я нахожу различия между jQuery и Closure.
jQuery - это просто упрощенный способ выполнения многих частых операций в кросс-браузерном режиме.
Closure - это очень новая структура, которая, например, обеспечивает кросс-браузерный способ использования <canvas>
тега и добавляет новые события.
Итак, это добавление к тому, что мы обычно делаем с javascript, они берут много операций, которые люди хотят сделать, и помещают их в API.
Например, у них есть событие, чтобы сообщить, изменилось ли онлайн-состояние. Таким образом, вы можете сказать, если система в сети.
У них есть функции javascript, которые используют такие инструменты, как Google Gears, что продолжается тем, что они расширили то, что можно сделать с помощью Javascript.
Мне понадобится несколько дней, чтобы переварить все изменения, но я вижу, что это может оказать большое влияние на веб-приложения, которые могут быть разработаны.
Самым большим преимуществом Closure Library является то, что он предназначен для Closure Compiler. Это открывает совершенно новые возможности для разработки JavaScript ...
Компилятор имеет несколько интересных функций:
Для получения дополнительной информации посмотрите на: http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
Изменить : посмотрите это видео на YouTube, оно может лучше ответить на некоторые вопросы о Google Closure.
Вероятно, лучшими источниками информации о закрытии Google являются дискуссионная группа проекта , вики, страницы документов, демоверсии и еще не законченная книга Майкла Болина, которая теперь доступна на сайте книг по сафари.
Одна вещь, которую я могу сразу сказать, - это более крутая кривая обучения для closure
vs, jQuery
но она, возможно, того стоит из-за обширности библиотеки, четкой организации и преимуществ использования ее вместе с компилятором и инструментом шаблонов.
closure
По словам Михаэля Болина, библиотека в этом отношении больше похожа, dojo
чем jQuery
некоторые, и некоторые понятия были заимствованы dojo
.
Компилятор Google Closure использует JSDoc
систему документации, которая одновременно (если она была правильно создана программистом) предоставляет документацию и позволяет обнаруживать множество ошибок во время компиляции.
в то время как имена функций более многословны, чем jQuery
имена, компилятор сокращает код (используя различные тактики оптимизации), а проверка типов сэкономит значительное время при отладке кода, поэтому время ввода более длинных имен, вероятно, не является проблемой. В то же время более длинные имена добавляют читабельность.
библиотека поддерживает браузеры, работающие в режиме причуд, так что сценарии могут быть встроены другими сайтами, использующими «причудливый» HTML
библиотека работает с (но не зависит от) системой шаблонов javascript, soy
которая упрощает заполнение документов содержимым.
подобно jQuery
google closure
позволяет обходить структуру dom с помощью строковых запросов, используя выделенный компонент библиотеки.
closure
библиотека опирается на пространства имен, разделенные точками, Java
это очень сильная организационная особенность.
использование таких пространств имен повлечет за собой издержки в некомпилированном коде, но в скомпилированном коде эти вещи заменяются короткими именами переменных.
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
Не могли бы вы дать мне ссылку на какую-нибудь документацию, связанную с этим?
goog.dom.DomHelper
, но я лично не вижу функцию запроса, эквивалентную jQuery. @ Евгений: Можете ли вы дать нам более подробную информацию?
Я только что опубликовал довольно исчерпывающую статью о Google Closure, которая отвечает на этот вопрос на InsideRIA .
... закрытие рулез! ^ _ ^
Может быть, я не получаю jQuery, но я не видел реальной коллекции виджетов UI (есть плагины, да, но вы никогда не знаете, насколько хорошо они протестированы, и часто нет явного победителя и / или отсутствует плагин документация).
Closure имеет, помимо прочего, коллекцию виджетов (см. Вкладку "Демо"), в том числе, например, кнопки без изображений, используемые в gmail.
В более общем смысле, он имеет больше функциональности, реализованной как часть релиза. Возможно, это не так уж и важно, но меня раздражает море плагинов jQuery, когда я ищу что-то такое простое, как модуль истории ajax или автозаполнение.
В целом, это огромная библиотека + набор инструментов, и я буду знакомиться с ней, просто чтобы узнать, что доступно.
Я ценю большую часть вклада Google в сообщество разработчиков ПО с открытым исходным кодом, и я уверен, что у него есть кое-что классное, но в целом я считаю Closure громоздким, перегруженным и не элегантным. Если вам нужно все превратить в Java, я полагаю, что это просто элегантно.
Редактировать:
Справедливо. Я действительно не сравнивал. Закрытие похоже на гигантский склад со всеми возможными инструментами, которые вы могли бы захотеть найти ... где-то. Вроде как .NET или массивная библиотека Java. Как только вы найдете то, что вам нужно, вы можете найти очень специфические вещи, которые выполняют очень специфические работы. И тогда для производства вы можете убрать всю грязь.
JQuery, с другой стороны, является более легко модифицируемой звуковой отверткой.
Библиотека Google Closure позволяет компилировать и оптимизировать ваш JavaScript. Это не библиотека, как jQuery. jQuery - это то, что предоставляет вам функции, которые позволяют быстрее писать свой собственный javascript.
Google Closure поможет вам свести к минимуму ваш собственный код JavaScript, чтобы обеспечить более быструю доставку через Интернет.
Короче говоря, Google Closure - это инструмент, а jQuery - это библиотека, похожая на Prototype.