2012-09-11

初探Google Web Toolkit (GWT)

一直很佩服能夠在JavaScript海中優游自得,把web前端搞得又漂亮,程式碼又整齊的人!可惜更多時候看到的是苦命的前端工程師,在一堆前端函式庫裡,可能特定版本有bug,或不同函式庫間互相衝突,加上長官跟客戶不斷要求新功能... 在混亂的程式碼中剪剪貼貼,東試西試;一整個變成抓不到root cause的苦差事。

這幾天稍微認識了一下GWT (Google Web Toolkit),簡單來說目的就是希望能減輕前端工程師的負擔,讓Javascript程式碼能夠更簡潔,更結構化;以目前常見的趨勢大概有:

  1. 使用JavaScript函式庫,工程師仍然寫JavaScript程式碼;最有名的當然是jQuery,其他像是ZK/Ext JS/YUI則包括CSS的部分。
  2. 使用另一種語言,透過新的語言強迫程式碼更加模組化,最後再編譯成標準的JavaScript;GWT就屬於此類。
  3. 使用web MVC frameworks提供的tag libraries 。

原則上GWT可以讓工程師寫Java程式碼,最後編譯成JavaScript。基本上Dart也是類似的目的;不過就程式碼編譯的角度來看,Dart提供了自己的front-end,Dart language,不再使用Java,除此還:

  1. 提供自有的binary format,可以在Dart VM上直接執行,省去解析JavaScript程式碼的過程。
  2. 同時可以編寫client side跟server side的程式。

目前看來最大的問題在於如何結合既有JavaScript函式庫。

See also:
  1. GWT: Pros and Cons
  2. Google Web Toolkit: GWT, Closure, NaCl, Dart & JS
  3. Dart: A Language for Structured Web Programming

CSS也是前端工程師常要遇到的領域,同樣也不少新的工具幫忙寫出更有結構的CSS。
  1. Sass
  2. Compass
對JavaScript有熱愛的可以順手做一下這個小測驗:JavaScript Scope Quiz

沒有留言: