用Elm语言降低失败的风险
Strange Loop 2015有一個(gè)親自體驗(yàn)環(huán)節(jié),在一次實(shí)踐活動(dòng)中,Richard Feldman講述了他的團(tuán)隊(duì)使用Elm語(yǔ)言的經(jīng)歷,他們的項(xiàng)目在使用這門(mén)語(yǔ)言后失敗的風(fēng)險(xiǎn)大幅降低,迭代的速度也有所提升。
\\世界各地的JavaScript開(kāi)發(fā)者可能都遇到過(guò)undefined is not a function這個(gè)錯(cuò)誤。Feldman藉由這個(gè)痛點(diǎn)來(lái)告訴人們Elm是一門(mén)可以提升開(kāi)發(fā)者開(kāi)發(fā)體驗(yàn)的語(yǔ)言,Elm編譯器會(huì)捕捉令原生JavaScript開(kāi)發(fā)者苦惱的所有錯(cuò)誤。據(jù)Feldman說(shuō),在Elm應(yīng)用中,“編譯后的應(yīng)用會(huì)運(yùn)行在一個(gè)try代碼段中,不會(huì)回退或拋出運(yùn)行時(shí)異常”。
\\\我對(duì)與Elm所帶來(lái)的良好的用戶體驗(yàn)感到好奇,后來(lái)我發(fā)現(xiàn),正是Elm那無(wú)微不至的完美細(xì)節(jié)讓你每天的編碼人生都無(wú)比快樂(lè)。
\\\對(duì)于很多不熟悉Elm的人來(lái)說(shuō),它就是一門(mén)由Evan Czaplicki創(chuàng)建的函數(shù)式編程語(yǔ)言,它的設(shè)計(jì)初衷是簡(jiǎn)化構(gòu)建web UI的過(guò)程。Elm最終會(huì)被編譯為JavaScript,它與React一樣使用虛擬DOM來(lái)操作界面。Elm博客上的測(cè)試基準(zhǔn)(benchmark)指出,它出奇地竟然比React還快!
\\\\最簡(jiǎn)單的Elm代碼看起來(lái)是這樣的:
\\\import Html exposing (span, text)\import Html.Attributes exposing (class)\\\main =\ span [class \"welcome-message\"] [text \"Hello, World!\"]\\“Elm里的一切皆由二者組成:不可變數(shù)據(jù)和無(wú)狀態(tài)函數(shù),”Feldman說(shuō)。這種設(shè)計(jì)的函數(shù)性純度(函數(shù)沒(méi)有副作用)理論上很好,但是web開(kāi)發(fā)者經(jīng)常不得不與許多其它系統(tǒng)進(jìn)行交互,而Elm中的“Task(任務(wù))”特性就用來(lái)解決這類問(wèn)題。Feldman告訴我們task可以理解為“你想做的事情的數(shù)據(jù)表示,它實(shí)際上也是一連串的指令”。
\\Elm可以與使用“ports”的JavaScript庫(kù)進(jìn)行交互,所以開(kāi)發(fā)者可以用Elm代碼替換應(yīng)用的某些構(gòu)件,然后用port將二者聯(lián)結(jié)在一起。
\\Feldman的演講視頻可以在Youtube上觀看,其它環(huán)節(jié)可以在視頻列表中觀看。另外你可以閱讀Feldman寫(xiě)的一篇教程文章《用Elm來(lái)構(gòu)建一個(gè)注冊(cè)頁(yè)面》。
\\查看英文原文:Reduce the Risk of Failure With Elm
總結(jié)
以上是生活随笔為你收集整理的用Elm语言降低失败的风险的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于java Servlet,Strut
- 下一篇: 【转】使用dos2unix批量转换文件