Что Google Closure Library предлагает по jQuery? [закрытый]

Чтобы анимировать изменение границ слоя маски UIView: подкласс UIView, и анимировать маску с помощью транзакции CAT - аналогично ответу Kekodas, но более общего:

@implementation UIMaskView

- (void) layoutSubviews {
    [super layoutSubviews];

    CAAnimation* animation = [self.layer animationForKey:@"bounds"];
    if (animation) {
        [CATransaction begin];
        [CATransaction setAnimationDuration:animation.duration];
    }

    self.layer.mask.bounds = self.layer.bounds;
    if (animation) {
        [CATransaction commit];
    }
}

@end
189
задан Maiku Mori 8 November 2009 в 02:23
поделиться

6 ответов

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

Больше, чем другая библиотека JS

Насколько я понимаю, Google Closure - это не только еще одна библиотека JS, но и набор инструментов, которые позволят вам оптимизировать ваш JS код. Работа с jQuery дает вам хорошие инструменты и легкую библиотеку, но не уменьшает ваш собственный код. Компилятор Closure будет. Инспектор закрытия также может быть полезен, поскольку иногда минимизированный код ведет себя иначе, чем исходный, и отлаживать его сложно. Он интегрируется с 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.

EDIT: по запросу, Позвольте мне сказать несколько слов о ссылке на GWT. Google Web Toolkit - это библиотека Java, которая позволяет создавать веб-интерфейсы с поддержкой AJAX и генерирует (и оптимизирует) необходимый код JavaScript. Поскольку Google Closure позволяет создавать шаблоны, которые могут использоваться как на стороне клиента, так и на стороне сервера (с использованием JavaScript и Java), я предполагаю, что вскоре их можно будет использовать совместно (если это еще не так).

176
ответ дан 23 November 2019 в 05:40
поделиться

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

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

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

0
ответ дан 23 November 2019 в 05:40
поделиться

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

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

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

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

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

30
ответ дан 23 November 2019 в 05:40
поделиться

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

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

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

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

7
ответ дан 23 November 2019 в 05:40
поделиться

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

... Closure rulez! ^ _ ^

8
ответ дан 23 November 2019 в 05:40
поделиться

Изменить : посмотрите это видео на YouTube , оно может лучше ответить на некоторые вопросы о Google Closure.

Вероятно, лучшими источниками информации о закрытии Google являются проект дискуссионная группа , вики, страницы документации, демонстрации и еще неоконченная книга Майкла Болина , которая теперь доступна в сафари-книгах. сайт.

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

closure в этом отношении больше похожа на dojo , чем на jQuery , и, по словам Майкла Болина, некоторые концепции были заимствованы из dojo .

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

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

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

. Библиотека работает с (но не зависит от) системой шаблонов javascript, называемой soy что упрощает наполнение документов контентом.

вроде jQuery google closure позволяет обходить структуру dom с помощью строковых запросов с использованием специального компонента библиотеки. Библиотека

closure полагается на пространства имен с разделителями-точками, больше как Java - очень сильная организационная особенность.

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

20
ответ дан 23 November 2019 в 05:40
поделиться
Другие вопросы по тегам:

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