Wobec
- zaplecze biznesowe
- Społeczność
- dostępne rozszerzenia
- domyślny zestaw funkcji
- prostota użytkowania
- i niezawodność
dlaczego wolisz jeden od drugiego?
Wobec
dlaczego wolisz jeden od drugiego?
Odpowiedzi:
Spróbuję dodać moją informację.
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.
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.
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.
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).
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:
Szczegółowe informacje można znaleźć na stronie : http://blog.klokantech.com/2010/12/closure-compiler-for-openlayers-3x.html
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 podobna dojo
niż jQuery
, a niektóre koncepcje zostały zapożyczone dojo
, 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 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.
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! ^ _ ^
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.
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.
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.