Reason介紹
Reason是在Ocaml語言的基礎上修改而來,專門提供給前端開發者使用。
Reason是函數式編程語言,使用Bucklescript編譯器編譯成javascript語言。
在我看來,至少有兩大優點:
1.編譯后的javascript優化得非常好,讓我們能夠高性能地使用函數式編程。
2.強類型和類型推導,讓我們既不用向Typescript那樣定義很多類型(Reason會幫我們推導類型),又可以享受強類型約束的好處(編譯時能檢查更多的錯誤)。
我們Wonder已經使用Reason兩年的時間了,所有產品,包括前端后端,都用Reason語言寫,非常好用。
下面是一些鏈接資料:
Reason官網
如何評價 reasonml ? -> Wonder的回答
如何在VSCode中搭建Reason的開發環境
建議使用VSCode編輯器來開發Reason,因為它的插件支持得最好。
具體搭建Reason開發環境的步驟如下:
1.執行“yarn global add bs-platform”
這一步是為了安裝Reason的相關工具,如格式化工具bsrefmt等
2.安裝VSCode
3.安裝VSCode->Extensions->reason-vscode插件
4.設置reason-vscode,顯示函數的類型簽名
在VSCode->“設置”中,搜索到reason的設置,選中 “Show the type for each top-level value in a codelens”。
或者在setting.json中,加上:
"reason_language_server.per_value_codelens": true
5.克隆Reason-Example項目,學習如何開始開發:
git clone https://github.com/Wonder-Technology/Reason-Example.git
1)執行"yarn install"
2)執行"yarn watch"
這樣在寫Reason的時候,會自動編譯為js。
3)執行"yarn start",在瀏覽器地址中輸入 http://127.0.0.1:8080 , 運行index.html頁面
打開控制台,看到輸出“1”
應用案例
案例就是我們Wonder的產品哈,詳見:
Wonder-Editor-基於Wonder.js的3D編輯器
我寫的“從0開發3D引擎”系列博文也使用了Reason語言,詳見:
從0開發3D引擎