2012年3月11日 星期日

GWT 介紹

1. 這是什麼
  • GWT是一種javascript framework。在這個framework裡面,我們使用java 撰寫 server 端與 client 端 (Javascript)的程式碼,並且利用GWT-Compiler 將屬於client 端的程式碼 compile 成 Javascript 程式碼。 
2. 優點與缺點
  • 優點 
    • 利用Java 物件導向的特性,結構化Javascript 的程式。 
    • 利用GWT開發Ajax較為方便。 
    • GWT-Compiler 會針對不同的瀏覽器編譯出不同的javascript,當瀏覽器瀏覽該頁面時會載入適合該瀏覽器的javascript(實務上在開發的同時還是要檢查不同瀏覽器的效果)。 
      • 根據經驗,ie與其他瀏覽器在使用eval時結果會有所不同,還有在使用巢狀panel時,ui也會有所不同。
    • GWT 可以與其他不同的javascript library(如jquery)搭配使用。 
    • 預防XSS (cross-site script)與XSRF(cross-site request forgery)攻擊較為容易。
    • 便於建立client端的i18n。 
  • 缺點 
    • 一開始載入頁面的時候,需要較長的載入時間。所以如果一個頁面所需要的javascript功能較少,則使用native javascript較為恰當。 
    • Compile後的javascript 即使是使用pretty style, 也是不易trace。也就是在deploy之後,還需要額外保存compile 前的 source code(java code)。 

3. 有哪些使用GWT開發的網站
4. 如何開始 

5. 如何與其他js library搭配

6. 與java的相容性
  • GWT 並不是完全的與java相容,尤其是在javascript與java語言特性的差異上,詳情請參考官網的相容性介紹

2012年3月4日 星期日

(翻譯)Chome 版本的憤怒鳥現在使用了Web Audio Api

原文連結

翻譯 :

    上周憤怒鳥的chrome版本,使用Web Audio API更新了所有遊戲內的音效,讓所有在chrome上的使用者不需使用任何外掛,就能擁有完整的憤怒鳥體驗。Web Audio API支援了多種不同的使用案例,包括了遊戲中高品質還有低延遲的需求。而其他支援Web Audio API的瀏覽器的使用者,將透過Flash 或是 Html5聽見這些聲音。

    這種跨瀏覽器音效的神奇魔法是怎麼運作的 ? 你可能曾經聽過,憤怒鳥有相當多的部分可能使用了跨平台的開源程式庫 - PlayN。當在網頁平台,PlayN高度仰類Google Web Toolkit 與 gwt - voices 來提供最佳的跨瀏覽器網頁體驗與音效體驗給使用者。

    其中, gwt-voices 負責為遊戲音效選擇最適當的音效API。如果你想要聽聽其他Audio API的效果,你可以試著用 Web Audio APIFlashHTML5 Audio 和 native audio 來訪問 Audio API。你的進展將會因為瀏覽器、平台和你安裝的插件而產生巨大的改變。如果你所需要的Audio API在你的環境裡運作並不正常,gwt-voice也會為你準備一個最好的備案。

    想要了解更多?請參考 Web Audio API tutorial ,還有,不要讓那些豬囂張太久。