TypeScript

剛考完了 Final (小弟只是求合格的壞學生),終於有空了。當然不會只玩 PC Games, 哈哈。

最近開始了一些項目需大量使用到 Javascript,開始時問題不大,但之後發現愈來愈亂,雖然 Javascript 是 OO Language,但無論語法和用法都跟 Java 不同,並且 Javascript 是 Weak-Type Language,對於喜歡 Java 的小弟來說,Javascript 並不討好。

之後突然奇想,會不會有些 Compiler 可以 Java to Javascript 呢? 結果還真是有這種東西: Google Web Toolkit (GWT), Strongly-Typed Javascript (STJS) 等等。因為 GWT 很難上手,STJS 又太難安裝 (而我不知 Maven 是什麼)。之後改變方向到 C# to Javascript,結果又真是有 (很強):Script#。這東西比GWT, STJS 安裝方便得多,按兩下就把它安裝到 Visual Studio 了。用起上來還方便直接,真的可以把所有C# 寫的 Class 騙繹到 Javascript。

但以上 Compiler 都有致命弱點,那就是它們都不允許你直接 Call 現有 Javascript Libraries。小弟可是 JQuery 愛好者,雖然都有 JQuery 的 Interface,但當需要一些非 JQuery 官方的 Plugin,跟本用不到。

最後放棄了以上的 Compiler,不是它們不好,只是不合適我。

最後最後找到了 TypeScript,這好像是 Microsoft 的東西。

http://www.typescriptlang.org/Playground/

下圖,就是 TypeScript ,功能也是跟前者差不多 TypeScript to Javascript。看起上來還是很像 Java,只是 Object Type 放到 Variable 名稱後面,這種寫法很像 UML Diagram 上的寫法,所以都不陌生。最重要的是中間是可以隨意代入 Javascript 代碼。雖然下圖中  e.draggable() 被間著,但仍能編繹到 Javascript 。

image

編譯之後變了這樣子,TypeScript 明顯簡單易明:

image

暫時用起上來還是很方便。現在的 Website 或 Web Application 基本上都大量使用到 Javascript,相信這類型的 Compiler 有存在價值。