Myślę, że trudno będzie powiedzieć, dlaczego jedno jest preferowane, dopóki inni nie będą mogli eksperymentować z aplikacjami i zobaczyć, jakie są granice zamknięcia.
Ten artykuł może również pomóc w podjęciu decyzji. Kluczowa lekcja: „Zamknięcie to ekosystem. To nie jest jak jQuery, gdzie po prostu używasz go tu i tam, aby ułatwić dostęp do DOM lub manipulować nim. Jeśli chcesz naprawdę korzystać z Closure, musisz podjąć zobowiązanie, aby naprawdę z niego korzystać. ”
Dan Abramov
2019 Co to jest zamknięcie Google? : D
evilReiko
Odpowiedzi:
176
Spróbuję dodać moją informację.
Więcej niż inna biblioteka JS
Jak rozumiem, Google Closure to nie tylko kolejna biblioteka JS, ale także zestaw narzędzi, które pozwolą Ci zoptymalizować kod JS. Praca z jQuery daje dobre narzędzia i lekką bibliotekę, ale nie zmniejsza własnego kodu. Zamknięcie kompilator będzie. Inspektor zamknięcie może być także użyteczny, jako kod czasami minified ma inny problem niż oryginalny, a jest to ból do debugowania. Integruje się z Firebug i testami jednostek wsparcia, które są obecnie najlepszymi przyjaciółmi obu programistów.
Dokumentacja
Wydaje mi się, że jak każda nowa biblioteka VS o ugruntowanej pozycji, nie będzie w niej dostępnych mnóstwo rozszerzeń i samouczków, które ma jQuery. Jednak naciskanie przez Google powinno zapewnić, że wsparcie i niezawodność będą całkiem dobre. Obecna dokumentacja i samouczek również wydają się naprawdę dobre.
cechy
Funkcje Closure wyglądają jednak przyzwoicie, a jego modułowa architektura również jest obiecująca. Wydaje mi się, że Google używa go od dawna, co oznacza, że można oczekiwać, że wszystkie podstawowe funkcje (i więcej) zostaną wdrożone, i prawdopodobnie w bardzo zoptymalizowany i skalowalny sposób. Próbują przedstawić go jako STL JavaScript, więc powinni go wypolerować.
Po dokładniejszym przyjrzeniu się funkcjom wydaje się, że może to być krok naprzód w rozwoju aplikacji internetowych w porównaniu do istniejących bibliotek, takich jak jQuery. Wydaje się, że przynosi korzyści wewnętrzne zmiany w Google, ale takie rzeczy jak wykrywanie stanu online (patrz goog.events.OnlineHandler ), łatwa integracja żądań AJAX i akcji JS w historii przeglądarki (patrz goog.History ) lub legiony świetnych widżetów zapewniają one (patrz pakiet goog.ui ) mogą pomóc nam wszystkim budować jeszcze więcej niesamowitych aplikacji internetowych;)!
Zawiera funkcje szablonów, które integrują się z Javą (kto powiedział GWT ?), Więc może to być kolejny plus dla zamknięcia.
Łatwość użycia
Wreszcie wygląda na dość prosty w użyciu. Składnia może być nieco bardziej szczegółowa niż krótka funkcja $ jQuery, ale z IDE i autouzupełnianiem nie jest to prawdziwy problem. Co więcej, powiedziałbym, że możemy oczekiwać dobrej integracji z IDE, takimi jak Eclipse, pochodzącymi z Google.
EDYCJA: zgodnie z prośbą, pozwól mi powiedzieć kilka słów o referencji GWT. Google Web Toolkit to biblioteka Java, która pozwala tworzyć interfejsy sieciowe obsługujące AJAX i generuje (i optymalizuje) wymagany kod JavaScript. Ponieważ Google Closure pozwala tworzyć szablony, które mogą być używane zarówno po stronie klienta, jak i serwera (przy użyciu JavaScript i Java), domyślam się, że wkrótce będzie można z nich korzystać wspólnie (jeśli tak nie jest).
Szczegółowa i znacząca odpowiedź, dziękuję. Czy mógłbyś wyjaśnić, co oznacza to odniesienie do GWT? Obawiam się, że tego nie rozumiem.
pestaa
1
Myślę, że powinieneś również wspomnieć o bibliotece szablonów (Soy) w sekcji „Więcej niż”. Ten sam plik szablonu może być używany zarówno po stronie serwera (Java), jak i po stronie klienta. Naprawdę fajna implementacja IMO. Oznacza, że możemy po prostu wysyłać JSON w zapytaniach AJAX zamiast wysyłać HTML - oszczędza przepustowość.
Krytyką nie jest FUD i dzięki za link. Krytyka koncentruje się na tym, że kod javascript nie wszędzie jest optymalny. Może to być poprawne, ale brakuje większego punktu. Jak rozumiem, Closure atakuje naprawdę złożone aplikacje JS (w skali GMaila), a to ma pewne konsekwencje - takie jak nie każda linia jest optymalna, ponieważ wszystko nie jest napisane przez jednego genialnego programistę. Ale odwrotnie, może być dalej skalowane jako platforma inżynierii oprogramowania.
Peter S Magnusson
3
@nalpy Jak zasugerowano w komentarzach, w tym artykule nie wspomniano, że biblioteka ma KOMPILER (a nie minimalizator), który może zoptymalizować te problemy z kodowaniem.
Ant
30
W moim krótkim spojrzeniu na API stwierdzam, że różnice między jQuery a Closure są uderzające.
jQuery jest w zasadzie tylko uproszczonym sposobem wykonywania wielu częstych operacji w trybie przeglądarki.
Zamknięcie jest strukturą, która jest bardzo nowa, ponieważ zapewnia sposób korzystania z wielu przeglądarek <canvas> na przykład tagu i dodała nowe zdarzenia.
Jest to więc dodatek do tego, co zwykle robimy z javascript, biorą wiele operacji, które ludzie chcą zrobić i umieszczają je w interfejsie API.
Na przykład mają zdarzenie informujące, czy stan online zmienił się. Dzięki temu możesz stwierdzić, czy system jest online.
Posiadają funkcje javascript, które używają narzędzi takich jak Google Gears, co jest kontynuowane przez fakt, że rozszerzyły one możliwości JavaScript.
Przetworzenie wszystkich zmian zajmie mi kilka dni, ale widzę, że może to mieć duży wpływ na aplikacje internetowe, które można opracować.
Największą zaletą biblioteki zamknięcia jest to, że została zaprojektowana dla kompilatora zamknięcia. Otwiera to zupełnie nowe możliwości programowania JavaScript ...
Kompilator ma kilka fajnych funkcji:
Kompiluje czytelny JavaScript w skompresowany JavaScript do odczytu maszynowego - ma najlepszy współczynnik kompresji w trybie „ZAAWANSOWANYM”.
Dokumentacja kodu za pomocą tagów JSDoc jest ważna: kompilator czyta go, a podczas kompilacji pojawiają się ostrzeżenia o literówkach w dokumentacji, niewłaściwe użycie @constructor, niewłaściwy typ zmiennej , niewłaściwe użycie pola opatrzonego @private i @protected, itp.
Jeśli piszesz bibliotekę JavaScript wielokrotnego użytku, taką jak OpenLayers lub Google Maps, formalnie eksportujesz swój publiczny interfejs API - a kompilator optymalizuje kod wewnętrzny.
Aplikacje końcowe można skompilować razem z biblioteką - a następnie nieużywane części biblioteki są usuwane z wytworzonego kodu. Zależności są rozwiązywane automatycznie przez kompilator.
Kompilator akceptuje stałe w celu usunięcia niechcianej funkcjonalności - pozwala to na kompilację tylko dla określonej przeglądarki, takiej jak Mobile WebKit, tylko dla jednego z trybów dziwactwa lub trybu ścisłego, kompilacja bez obsługi IE6 itp.
Debugowanie za pomocą FireBug jest możliwe nawet dla skompilowanej wersji kodu źródłowego.
Kompilator obsługuje generowanie dynamicznie ładowanych modułów, które mogą znacznie przyspieszyć ładowanie aplikacji końcowej, ponieważ kod dla zaawansowanych funkcji można załadować tylko wtedy, gdy jest to wymagane.
Edycja : spójrz na ten film na youtube który może lepiej odpowiedzieć na niektóre pytania dotyczące zamknięcia Google.
Prawdopodobnie najlepszym źródłem informacji na temat zamknięcia google są grupa dyskusyjna projektu , wiki, strony z dokumentami, wersje demo oraz niedokończona książka Michaela Bolina, która jest teraz dostępna na stronie z książkami z safari.
jedną rzecz, którą mogę od razu powiedzieć - jest bardziej stroma krzywa uczenia się w closureporównaniu do vs, jQueryale może być tego warta ze względu na ogrom biblioteki, przejrzystą organizację i zaletę korzystania z niej razem z kompilatorem i narzędziem do tworzenia szablonów.
closurebiblioteka pod tym względem jest bardziej podobna dojoniż jQuery, a niektóre koncepcje zostały zapożyczone dojo, według Michaela Bolina.
kompilator zamykający google korzysta z JSDocsystemu dokumentacji, który jednocześnie (jeśli poprawnie utworzony przez programistę) zapewnia dokumentację i umożliwia wychwycenie wielu błędów w czasie kompilacji.
podczas gdy nazwy funkcji są bardziej szczegółowe niż te jQuery, kompilator zmniejsza kod (przy użyciu różnych taktyk optymalizacji), a sprawdzanie typu zaoszczędzi sporo czasu na debugowaniu kodu, więc wpisywanie dłuższych nazw prawdopodobnie nie stanowi problemu. Jednocześnie dłuższe nazwy zwiększają czytelność.
biblioteka obsługuje przeglądarki działające w trybie dziwactw, dzięki czemu skrypty mogą być osadzane przez inne witryny przy użyciu „dziwnego” HTML
biblioteka współpracuje z (ale nie zależy od) systemem szablonów javascript, soyktóry upraszcza wypełnianie dokumentów treścią.
jak jQuerygoogleclosure pozwala na przemierzanie struktury domu za pomocą zapytań opartych na łańcuchach znaków przy użyciu dedykowanego składnika biblioteki.
closurebiblioteka opiera się na przestrzeni nazw rozdzielanej kropkami, bardziej podobnej Java- bardzo silnej funkcji organizacyjnej.
korzystanie z takich przestrzeni nazw spowoduje narzut w nieskompilowanym kodzie, ale w skompilowanym kodzie te rzeczy są zastępowane krótkimi nazwami zmiennych.
Szukałem czegoś innego i znalazłem się tutaj, ale dobrze wiedzieć like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.Czy możesz połączyć mnie z dokumentacją z tym związaną?
IsmailS,
@iSid: Myślę, że on mówi goog.dom.DomHelper, ale osobiście nie widzę funkcji zapytania równoważnej z jQuery. @Evgeny: Czy możesz podać nam więcej szczegółów?
ekshuma
@iSid: Funkcjonalność zapewnia goog.dom.query , który nie jest udokumentowany, podobnie jak reszta przestrzeni nazw goog.dom.
bkirkbri
8
Właśnie opublikowałem dość wyczerpujący artykuł na temat Google Closure, który odpowiada na to pytanie w insideRIA .
Przyjemne porównanie z jQuery: „[...] jQuery działa naprawdę dobrze i umożliwia wspaniałe rzeczy bez wysiłku i szybko, więc„ obietnicą ”zamknięcia nie jest oferowanie lepszych algorytmów, ale naprawdę lepsze, zorganizowany i możliwy do utrzymania sposób wdrażania aplikacji JavaScript [...] Kodowanie w zamknięciu oznacza myślenie z myślą o obiektach, tworzenie kilku plików js, z których każdy reprezentuje jedną klasę, organizowanie architektury aplikacji w pakiety i wreszcie wdrażanie za pomocą dostarczonych narzędzi , uzyskanie pojedynczego, skompresowanego i bezpiecznego pliku JavaScript [...] ”
Alex
7
Być może nie otrzymuję jQuery, ale nie widziałem tam prawdziwej kolekcji widżetów interfejsu użytkownika (istnieją wtyczki, tak, ale nigdy nie wiadomo, jak dobrze przetestowane i często nie ma wyraźnego zwycięzcy i / lub brak wtyczki dokumentacja).
Mówiąc bardziej ogólnie, ma więcej funkcji zaimplementowanych w ramach wydania. To może nie być wielka sprawa, ale denerwuje mnie morze wtyczek jQuery, gdy szukam czegoś tak prostego jak moduł historii ajax lub autouzupełnianie.
Ogólnie rzecz biorąc, jest to ogromna biblioteka + zestaw narzędzi i zapoznam się z nią, aby dowiedzieć się, co jest dostępne.
jqueryui.com to oficjalna kolekcja widżetów interfejsu użytkownika
Jourkey
1
tak, cóż, sądząc po stronie ma 6 widżetów: Accordion Datepicker Dialog Progress Pasek suwaka Tabs
Nickolay
3
Użyłem jQueryUI i myślałem, że jest bardzo słaby. Wydaje się, że prawie nie jest w fazie rozwoju. Kiedy ostatnio dodawano nowy widżet. Może to być oficjalna kolekcja widżetów, ale każdemu, kto szuka widżetu do użycia z jQuery, lepiej jest po prostu google w przypadku widżetów jQuery innych firm.
Nosredna
2
jQueryUI to nie tylko zestaw widżetów javascript, ma także świetny framework css. To było dla mnie świetne narzędzie do stylizacji stron CRUD / admin. Ponadto wiele z tych „widżetów zamknięcia” to 1-2 linijki w jQuery, nie warto nawet pisać wtyczki.
Jace Rhea
2
Atrakcyjność JQuery nie polega na gotowych widgetach. Tworzy własne niestandardowe widżety w rekordowym czasie. Rzadko dotykam wtyczek, w tym interfejsu użytkownika.
Erik Reppen
1
Doceniam większość wkładu Google w społeczność open source i jestem pewien, że ma kilka fajnych rzeczy, ale ogólnie uważam, że zamknięcie jest nieporęczne, przytłoczone i nieeleganckie. Jeśli musisz wszystko zamienić w Javę, to chyba nie jest łatwa.
Edytować:
Słusznie. Tak naprawdę nie porównywałem. Zamknięcie jest jak gigantyczny magazyn z każdym możliwym narzędziem, które możesz chcieć znaleźć ... gdzieś. Coś w rodzaju .NET lub ogromnej biblioteki Java. Gdy znajdziesz to, czego potrzebujesz, możesz znaleźć bardzo konkretne rzeczy, które wykonują bardzo konkretne zadania. A następnie do produkcji możesz usunąć wszystkie cruft.
Z drugiej strony JQuery jest bardziej łatwo modyfikowalnym śrubokrętem dźwiękowym.
Chciałbym dowiedzieć się więcej o wersji Java zamknięcia. Czy masz do tego link? Dzięki
Yazz.com
Wyszukaj „ironiczne tagi”. Znajdziesz tam odpowiedź.
Erik Reppen
0
Google Closure Library umożliwia kompilację i optymalizację JavaScript. To nie jest biblioteka taka jak jQuery. jQuery to coś, co zapewnia funkcje umożliwiające szybsze pisanie własnego javascript.
Google Closure pomoże ci zminimalizować własny kod javascript, aby umożliwić szybsze dostarczanie przez Internet.
Krótko mówiąc, Google Closure to narzędzie, natomiast jQuery jest biblioteką podobną do Prototype.
To nie do końca prawda. Google Closures ma również własną bibliotekę podobną do jQuery, która udostępnia funkcje i narzędzia do pisania własnego kodu: code.google.com/closure/library/docs/tutorial.html
Odpowiedzi:
Spróbuję dodać moją informację.
Więcej niż inna biblioteka JS
Jak rozumiem, Google Closure to nie tylko kolejna biblioteka JS, ale także zestaw narzędzi, które pozwolą Ci zoptymalizować kod JS. Praca z jQuery daje dobre narzędzia i lekką bibliotekę, ale nie zmniejsza własnego kodu. Zamknięcie kompilator będzie. Inspektor zamknięcie może być także użyteczny, jako kod czasami minified ma inny problem niż oryginalny, a jest to ból do debugowania. Integruje się z Firebug i testami jednostek wsparcia, które są obecnie najlepszymi przyjaciółmi obu programistów.
Dokumentacja
Wydaje mi się, że jak każda nowa biblioteka VS o ugruntowanej pozycji, nie będzie w niej dostępnych mnóstwo rozszerzeń i samouczków, które ma jQuery. Jednak naciskanie przez Google powinno zapewnić, że wsparcie i niezawodność będą całkiem dobre. Obecna dokumentacja i samouczek również wydają się naprawdę dobre.
cechy
Funkcje Closure wyglądają jednak przyzwoicie, a jego modułowa architektura również jest obiecująca. Wydaje mi się, że Google używa go od dawna, co oznacza, że można oczekiwać, że wszystkie podstawowe funkcje (i więcej) zostaną wdrożone, i prawdopodobnie w bardzo zoptymalizowany i skalowalny sposób. Próbują przedstawić go jako STL JavaScript, więc powinni go wypolerować.
Po dokładniejszym przyjrzeniu się funkcjom wydaje się, że może to być krok naprzód w rozwoju aplikacji internetowych w porównaniu do istniejących bibliotek, takich jak jQuery. Wydaje się, że przynosi korzyści wewnętrzne zmiany w Google, ale takie rzeczy jak wykrywanie stanu online (patrz goog.events.OnlineHandler ), łatwa integracja żądań AJAX i akcji JS w historii przeglądarki (patrz goog.History ) lub legiony świetnych widżetów zapewniają one (patrz pakiet goog.ui ) mogą pomóc nam wszystkim budować jeszcze więcej niesamowitych aplikacji internetowych;)!
Zawiera funkcje szablonów, które integrują się z Javą (kto powiedział GWT ?), Więc może to być kolejny plus dla zamknięcia.
Łatwość użycia
Wreszcie wygląda na dość prosty w użyciu. Składnia może być nieco bardziej szczegółowa niż krótka funkcja $ jQuery, ale z IDE i autouzupełnianiem nie jest to prawdziwy problem. Co więcej, powiedziałbym, że możemy oczekiwać dobrej integracji z IDE, takimi jak Eclipse, pochodzącymi z Google.
EDYCJA: zgodnie z prośbą, pozwól mi powiedzieć kilka słów o referencji GWT. Google Web Toolkit to biblioteka Java, która pozwala tworzyć interfejsy sieciowe obsługujące AJAX i generuje (i optymalizuje) wymagany kod JavaScript. Ponieważ Google Closure pozwala tworzyć szablony, które mogą być używane zarówno po stronie klienta, jak i serwera (przy użyciu JavaScript i Java), domyślam się, że wkrótce będzie można z nich korzystać wspólnie (jeśli tak nie jest).
źródło
W moim krótkim spojrzeniu na API stwierdzam, że różnice między jQuery a Closure są uderzające.
jQuery jest w zasadzie tylko uproszczonym sposobem wykonywania wielu częstych operacji w trybie przeglądarki.
Zamknięcie jest strukturą, która jest bardzo nowa, ponieważ zapewnia sposób korzystania z wielu przeglądarek
<canvas>
na przykład tagu i dodała nowe zdarzenia.Jest to więc dodatek do tego, co zwykle robimy z javascript, biorą wiele operacji, które ludzie chcą zrobić i umieszczają je w interfejsie API.
Na przykład mają zdarzenie informujące, czy stan online zmienił się. Dzięki temu możesz stwierdzić, czy system jest online.
Posiadają funkcje javascript, które używają narzędzi takich jak Google Gears, co jest kontynuowane przez fakt, że rozszerzyły one możliwości JavaScript.
Przetworzenie wszystkich zmian zajmie mi kilka dni, ale widzę, że może to mieć duży wpływ na aplikacje internetowe, które można opracować.
źródło
Największą zaletą biblioteki zamknięcia jest to, że została zaprojektowana dla kompilatora zamknięcia. Otwiera to zupełnie nowe możliwości programowania JavaScript ...
Kompilator ma kilka fajnych funkcji:
Szczegółowe informacje można znaleźć na stronie : http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
źródło
Edycja : spójrz na ten film na youtube który może lepiej odpowiedzieć na niektóre pytania dotyczące zamknięcia Google.
Prawdopodobnie najlepszym źródłem informacji na temat zamknięcia google są grupa dyskusyjna projektu , wiki, strony z dokumentami, wersje demo oraz niedokończona książka Michaela Bolina, która jest teraz dostępna na stronie z książkami z safari.
jedną rzecz, którą mogę od razu powiedzieć - jest bardziej stroma krzywa uczenia się w
closure
porównaniu do vs,jQuery
ale może być tego warta ze względu na ogrom biblioteki, przejrzystą organizację i zaletę korzystania z niej razem z kompilatorem i narzędziem do tworzenia szablonów.closure
biblioteka pod tym względem jest bardziej podobnadojo
niżjQuery
, a niektóre koncepcje zostały zapożyczonedojo
, według Michaela Bolina.kompilator zamykający google korzysta z
JSDoc
systemu dokumentacji, który jednocześnie (jeśli poprawnie utworzony przez programistę) zapewnia dokumentację i umożliwia wychwycenie wielu błędów w czasie kompilacji.podczas gdy nazwy funkcji są bardziej szczegółowe niż te
jQuery
, kompilator zmniejsza kod (przy użyciu różnych taktyk optymalizacji), a sprawdzanie typu zaoszczędzi sporo czasu na debugowaniu kodu, więc wpisywanie dłuższych nazw prawdopodobnie nie stanowi problemu. Jednocześnie dłuższe nazwy zwiększają czytelność.biblioteka obsługuje przeglądarki działające w trybie dziwactw, dzięki czemu skrypty mogą być osadzane przez inne witryny przy użyciu „dziwnego” HTML
biblioteka współpracuje z (ale nie zależy od) systemem szablonów javascript,
soy
który upraszcza wypełnianie dokumentów treścią.jak
jQuery
googleclosure
pozwala na przemierzanie struktury domu za pomocą zapytań opartych na łańcuchach znaków przy użyciu dedykowanego składnika biblioteki.closure
biblioteka opiera się na przestrzeni nazw rozdzielanej kropkami, bardziej podobnejJava
- bardzo silnej funkcji organizacyjnej.korzystanie z takich przestrzeni nazw spowoduje narzut w nieskompilowanym kodzie, ale w skompilowanym kodzie te rzeczy są zastępowane krótkimi nazwami zmiennych.
źródło
like jQuery google closure allows traversing dom structure with the string-based queries using a dedicated component of the library.
Czy możesz połączyć mnie z dokumentacją z tym związaną?goog.dom.DomHelper
, ale osobiście nie widzę funkcji zapytania równoważnej z jQuery. @Evgeny: Czy możesz podać nam więcej szczegółów?Właśnie opublikowałem dość wyczerpujący artykuł na temat Google Closure, który odpowiada na to pytanie w insideRIA .
... Zasada zamknięcia! ^ _ ^
źródło
Być może nie otrzymuję jQuery, ale nie widziałem tam prawdziwej kolekcji widżetów interfejsu użytkownika (istnieją wtyczki, tak, ale nigdy nie wiadomo, jak dobrze przetestowane i często nie ma wyraźnego zwycięzcy i / lub brak wtyczki dokumentacja).
Zamknięcie ma między innymi kolekcję widżetów (zobacz kartę dema), w tym, powiedzmy, pozbawione obrazów przyciski używane w Gmailu .
Mówiąc bardziej ogólnie, ma więcej funkcji zaimplementowanych w ramach wydania. To może nie być wielka sprawa, ale denerwuje mnie morze wtyczek jQuery, gdy szukam czegoś tak prostego jak moduł historii ajax lub autouzupełnianie.
Ogólnie rzecz biorąc, jest to ogromna biblioteka + zestaw narzędzi i zapoznam się z nią, aby dowiedzieć się, co jest dostępne.
źródło
Doceniam większość wkładu Google w społeczność open source i jestem pewien, że ma kilka fajnych rzeczy, ale ogólnie uważam, że zamknięcie jest nieporęczne, przytłoczone i nieeleganckie. Jeśli musisz wszystko zamienić w Javę, to chyba nie jest łatwa.
Edytować:
Słusznie. Tak naprawdę nie porównywałem. Zamknięcie jest jak gigantyczny magazyn z każdym możliwym narzędziem, które możesz chcieć znaleźć ... gdzieś. Coś w rodzaju .NET lub ogromnej biblioteki Java. Gdy znajdziesz to, czego potrzebujesz, możesz znaleźć bardzo konkretne rzeczy, które wykonują bardzo konkretne zadania. A następnie do produkcji możesz usunąć wszystkie cruft.
Z drugiej strony JQuery jest bardziej łatwo modyfikowalnym śrubokrętem dźwiękowym.
źródło
Google Closure Library umożliwia kompilację i optymalizację JavaScript. To nie jest biblioteka taka jak jQuery. jQuery to coś, co zapewnia funkcje umożliwiające szybsze pisanie własnego javascript.
Google Closure pomoże ci zminimalizować własny kod javascript, aby umożliwić szybsze dostarczanie przez Internet.
Krótko mówiąc, Google Closure to narzędzie, natomiast jQuery jest biblioteką podobną do Prototype.
źródło