接下來幾篇我要來介紹除了elm之外,還沒有類似這樣的"是另外一個語言,但是會編譯成javascript",其實已經有很多類似的語言了,但這類多是functional programming,譬如像lisp的clojurescript,像haskell的 purescript;像OCaml的 BuckleScript;facebook研發的新語言 Reason
(這個最像Elm的方式,是一個新語言,語法接近Ocaml,會自行編譯成BuckleScript),這兩類有script本質上還是javascript;而Reason和Elm則是比較像是全新的語言。(還有scala.js),無論是哪一類,都可以看到很多functional programming的嘗試。雖然現在使用的人數仍然不多,但是可以看到有越來越多人對functional programming覺得實用;以前沒有流行,可能是機器處理性能的問題,但在這個多核心的年代,functional programming有被開始重視。 reasonml
的核心開發者,有些也是react的開發者,相關的 reason-react
的轉換也做得相當好,官方也都有教學(我覺得寫得很清楚),之後會不會加大力道推廣呢?
無論如何,學了elm再去學這類的語言,都會覺得似曾相識啊~~~(好吧,clojurescirpt可能不會,沒有type system),微軟也有出個 Fable ,是用 F#
寫的,也可以編譯成JavaScript