21 stycznia 2012

Closure - Google polubił JavaScript

Warto podkreślić fakt, że język programowania Java Script zyskuje na popularności z dnia na dzień. Firma Google jest żywo zainteresowana technologią budowania tzw. Rich Web Applications i z tego powodu stworzyła projekt closure.

Od dawna ekosystem narzędzi Google np: Developer Webtools przypomina skromne i lekkie strony HTML z dodatkiem AJAX. Podejście oferowane przez Closure przełamuje ten dramat w GUI i oferuje nam cały zestaw gotowych widżetów i bibliotek dla języka Java i Java Script, które posiadają wspólną cechę. Kiedy piszemy w Java to możemy używając otwartego kompilatora Closure zbudować wkłąd w postaci biblioteki JavaScript, która pozwoli na napisaną w Java aplikację uruchomić w świecie aplikacji webowych.

Na pierwszy rzut oka super sprawa i dość kompleksowe podejście, ale kiedy spojrzymy sobie na kodbase bibliotek i sposobu szablonowania oraz znaczących metatagów w komentarzach do kodu, aby Closure - jak należy zrozumieć - było przenoszalne pomiędzy desktop a web ... wówczas mamy zawrót głowy. A tutaj szczerze to mało szaleńców znam, którzy wykorzystują to produkcyjnie i z lekką ręką mogą to polecić jako dojrzały i łątwy do opanowania stack.

Spójrzmy co powoduje, że w ogóle Google napisał Closure i się tym chwali. Otóż jak wspominają: jest to modularny i przenośny zestaw bibliotek, wraz z kompilatorem. Możemy dzięki Closure powołać do życia aplikacje, które zostaną utworzone z reużywalnych kontrolek. Oto rekomendacje produktowe, które pokazują, że Google wytworzyło szereg potężnych narzędzi dzięki temu środowisku. Do narzędzi tych neleżą: Search, Gmail, Maps, Docs, Sites, Books, Blogger, Calendar, GOogle+ oraz Photos.

Kod closure-library został publicznie udostępniony na githubie.
Pozostaje mi życzyć, miłej lektury źródeł oraz tzw. reużywalności i ciekawych przykładów użycia Closure.

Oto przykład użycia narzędzia closurebuilder.py w celu skompilowania projektu do jednej spójnej biblioteki z kodem Java Script:

closure-library/closure/bin/build/closurebuilder.py \ --root=closure-library/ \ --root=myproject/ \ --namespace="myproject.start" \ --output_mode=compiled \ --compiler_jar=compiler.jar \ > myproject/start-compiled.js

Dla chcących dowiedzieć się, jak zbudować aplikacje z Closure oto link z Cookbookiem CLosure oraz wstępniak

Brak komentarzy: