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