探秘Google的JavaScript開發(fā)工具Closure
原創(chuàng)【51CTO快譯】今天Google發(fā)布了其內(nèi)部使用的JavaScript開發(fā)工具Closure,并貢獻(xiàn)給開源社區(qū),在拍手稱快的同時(shí),我們來(lái)看看它究竟有些什么內(nèi)涵。
#t#Closure 編譯器
Closure 編譯器是一個(gè)JavaScript優(yōu)化器,為Web應(yīng)用程序生成緊湊,高性能的JavaScript代碼,它移除了不必要的代碼,并經(jīng)過(guò)重寫和優(yōu)化,保持嬌小的身材,以便在瀏覽器的JavaScript引擎上運(yùn)行得更快,這個(gè)編譯器也會(huì)檢查語(yǔ)法,變量引用和類型,并對(duì)常見的JavaScript陷阱發(fā)出警告,這些功能有助于你寫出bug更少,更易于維護(hù)的程序。你也可以使用Closure檢查器,它是一個(gè)Firebug擴(kuò)展,主要用于調(diào)試那些難以閱讀的代碼。
因?yàn)镴avaScript開發(fā)人員是一個(gè)多樣化的群體,Google還設(shè)計(jì)了許多方法來(lái)運(yùn)行Closure 編譯器,同時(shí)內(nèi)置了一個(gè)命令行工具,如果你還想偷懶,Google也提供了一個(gè)在線頁(yè)面,你可以將你的JavaScript代碼放入該網(wǎng)頁(yè)中的文本輸入框中,讓它幫你編譯,也可以調(diào)用RESTful API來(lái)完成編譯。此外,Google提供了著名的Firefox 擴(kuò)展Page Speed,讓開發(fā)人員可以在Firefox 中方便地查看網(wǎng)頁(yè)的性能。
Closure庫(kù)
Closure庫(kù)是一個(gè)廣泛的,經(jīng)過(guò)嚴(yán)格測(cè)試的,模塊化的,跨瀏覽器的JavaScript庫(kù),Web開發(fā)人員可以在他們的用戶界面中直接通過(guò)拖拉進(jìn)行復(fù)用。
JavaScript缺乏一個(gè)類似STL或JDK的類庫(kù),現(xiàn)在好了,Google Closure庫(kù)為我們帶來(lái)了一個(gè)“標(biāo)準(zhǔn)的JavaScript庫(kù)”,讓我們可以更容易地創(chuàng)建大型復(fù)雜的Web應(yīng)用程序,這個(gè)庫(kù)需要和Closure編譯器配合使用。你可以讓你的項(xiàng)目變得更大和復(fù)雜(使用命名空間和類型檢查),也可以讓你的項(xiàng)目變得輕巧,快速(使用匯編)。Closure庫(kù)為普通任務(wù)提供了干凈的實(shí)用工具,因此你可以將時(shí)間花在編寫你的應(yīng)用程序上,不用再考慮編寫自己的工具和瀏覽器抽象了。
Closure模板
Closure模板的前身是Web模板,通過(guò)預(yù)編譯以提高JavaScript效率,Closure模板有一套簡(jiǎn)單的語(yǔ)法,程序員很快就可以掌握,和傳統(tǒng)的模板系統(tǒng)不一樣,你可以將Closure模板視為很小的組件,然后通過(guò)組裝形成一個(gè)正式的Web頁(yè)面,從此不再需要為每個(gè)頁(yè)面設(shè)計(jì)一個(gè)大大的模板了。
Closure模板是使用JavaScript和Java實(shí)現(xiàn)的,因此你在服務(wù)端和客戶端可以使用相同的模板。
小結(jié)
Closure編譯器,Closure庫(kù),Closure模板和Closure檢查器都還處于不斷開發(fā)階段,Google稱之為20%項(xiàng)目,但即便如此,已經(jīng)有成千上萬(wàn)的人在不斷分發(fā)它們,并給這些工具貢獻(xiàn)代碼和補(bǔ)丁。目前Closure所有工具都應(yīng)用到Google產(chǎn)品開發(fā)中,這也是Google認(rèn)為現(xiàn)在應(yīng)該將其貢獻(xiàn)出來(lái),與全世界Web開發(fā)人員共同分享的主要?jiǎng)訖C(jī)。
來(lái)源:Closure團(tuán)隊(duì)博客