Подтвердить что ты не робот

Что предлагает библиотека Google Closure по jQuery?

Учитывая

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

почему вы предпочитаете друг друга?

4b9b3361

Ответ 1

Я попытаюсь добавить свою часть информации.

Больше, чем другой JS lib

Как я понимаю, 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), я предполагаю, что в ближайшее время их можно будет использовать совместно (если это еще не так).

Ответ 2

В моем кратком обзоре API я обнаружил различия между jQuery и Closure.

jQuery - это в основном простой способ сделать много частых операций кросс-браузерным способом.

Closure - это очень новая структура, поскольку они предоставляют кросс-браузерный способ использования тега <canvas>, и они добавили новые события.

Итак, это добавление к тому, что мы обычно делаем с javascript, они выполняют много операций, которые люди хотят делать, и помещая их в API.

Например, у них есть событие, чтобы узнать, изменилось ли состояние онлайн. Таким образом, вы можете узнать, находится ли система в сети.

У них есть функции javascript, которые используют такие инструменты, как Google Gears, что продолжается с тем, что они расширили то, что можно сделать с помощью Javascript.

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

Ответ 3

Самое большое преимущество библиотеки Closure - это то, что предназначено для Closure Compiler. Это открывает совершенно новые возможности для разработки JavaScript...

У компилятора есть несколько интересных функций:

  • Он компилирует читаемый JavaScript в сжатый машиночитаемый JavaScript - он имеет лучший коэффициент сжатия в режиме "ADVANCED".
  • Документация кода с тегами JSDoc важно: компилятор читает его, и вы получаете предупреждения во время компиляции для опечаток в документации, неправильное использование @constructor, неправильный тип переменная, неправильное использование поля, аннотированного с @private и @protected и т.д.
  • Если вы пишете многоразовый JavaScript библиотеки, таких как OpenLayers или Google Maps, вы формально экспортировать ваш общедоступный API - и компилятор оптимизирует ваши внутренние код.
  • Конечные приложения могут быть составленный вместе с библиотекой - а затем неиспользуемые части библиотеки удаляются из код. Зависимости решены автоматически компилятором.
  • Компилятор принимает константы для удаления нежелательная функциональность - это позволяет компиляция только для конкретных браузера, такого как Mobile WebKit, для только один из режимов Quirks или Strict режим, компиляция без поддержки IE6 и т.д.
  • Отладка с помощью FireBug возможно даже для скомпилированных версии исходного кода.
  • Компилятор поддерживает генерацию динамически загружаемых модулей, которые могут значительно ускорить загрузку потому что код для расширенная функциональность может быть загружена только тогда, когда это необходимо.

Подробнее см. http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html

Ответ 4

Изменить: посмотрите это видео 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 - очень сильная организационная функция.

с использованием таких пространств имен будет наложен накладные расходы в несжатом коде, но в скомпилированном коде эти вещи заменяются короткими именами переменных.

Ответ 5

Я только что опубликовал довольно исчерпывающую статью о Google Closure, которая отвечает на этот вопрос на insideRIA.

... Закрытие rulez! ^ _ ^

Ответ 6

Возможно, я не получаю jQuery, но я не видел там реальной коллекции виджетов пользовательского интерфейса (есть плагины, да, но вы никогда не знаете, насколько хорошо они проверены, и часто нет явного победителя и/или плагину не хватает документации).

Закрытие имеет, помимо прочего, коллекцию виджетов (см. вкладку demos), включая, скажем, бессмысленные кнопки, используемые в gmail.

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

В целом это огромная библиотека + набор инструментов, и я буду знакомиться с ней, просто чтобы узнать, что доступно.

Ответ 7

Я ценю большинство вкладов Google в сообщество с открытым исходным кодом, и я уверен, что у него есть классный материал, но в целом я нахожу Closure громоздким, перегруженным и неэлегантным. Если вы должны превратить все в Java, я полагаю, что это просто spiffy.

Edit:

Достаточно честный. Я действительно не сравнился. Закрытие похоже на гигантский склад со всеми возможными инструментами, которые вы, возможно, захотите найти где-то. Похоже на .NET или массивную библиотеку Java. После того, как вы найдете то, что вам нужно, вы можете найти очень специфический материал, который выполняет очень конкретные задания. А затем для производства вы можете удалить весь треск.

JQuery, с другой стороны, представляет собой более легко модифицированную звуковую отвертку.

Ответ 8

Библиотека Google Closure позволяет вам скомпилировать и оптимизировать ваш JavaScript. Это не библиотека, как jQuery. jQuery - это то, что предоставляет вам функции, позволяющие быстрее писать свой JavaScript.

Google Closure поможет вам свести к минимуму ваш собственный код JavaScript, чтобы обеспечить более быструю доставку через Интернет.

Короче говоря, Google Closure - это инструмент, в то время как jQuery - это библиотека, подобная Prototype.