新聞中心
在2019年的ReactiveConf 上,《Elm in Action》的作者Richard Feldman對未來5年Web開發(fā)的發(fā)展做了預(yù)測,很有意思,分享給大家。

長海ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
如果你有機(jī)會(huì)從頭做一個(gè)項(xiàng)目,你會(huì)怎么選擇技術(shù)棧?
這是演講開始之前Richard提的問題, 相信很多人都會(huì)選擇成熟穩(wěn)定的、主流的技術(shù)棧。
如果時(shí)間回到2006年,這個(gè)主流的技術(shù)棧就是LAMP:
L : Linux
A: Apache
M: MySQL
P : Perl 或者 Python 或者PHP
Richard在2006年創(chuàng)業(yè)的時(shí)候,就選擇了LAMP, 選擇了Perl 。但是選擇穩(wěn)定的東西并不能保證安全,Perl很快就走了下坡路,慢慢地連Perl 程序員都不好招聘到了。
所以Richard 說:“不管我們選擇的技術(shù)多么流行,多么主流,在今天多么吸引人,我們依然是在下注賭 bo。所以預(yù)測當(dāng)前技術(shù)會(huì)向什么方向發(fā)展并且跟隨,要比一開始就盲目接受別人所用的技術(shù)要更安全一些?!?/p>
有了這么一個(gè)前提, 他的預(yù)測開始了:
1. TypeScript將會(huì)接管JS世界
到2020年底,TypeScript將會(huì)成為新的商業(yè)項(xiàng)目最常見的選擇。
到2025年底,每天使用TypeScript編程的程序員將超過使用普通JavaScript的程序員。
TypeScript很多人都知道,它是JavaScript的一個(gè)超集,對JS增加了靜態(tài)類型的檢查, 這個(gè)關(guān)鍵的特性受到了很多程序員的歡迎,很多錯(cuò)誤可以在編譯時(shí)就被發(fā)現(xiàn),而不是遺留到運(yùn)行時(shí),并且有了靜態(tài)類型以后,閱讀、修改、重構(gòu)現(xiàn)有代碼也變得更加輕松。
從Google 趨勢來看,TypeScript正處于蓬勃發(fā)展的階段,而CoffeScript則走向下坡路。
不僅如此,很多框架都已經(jīng)支持TypeScript:
盡管如此,還有很多人不喜歡TypeScript,覺得TypeScript代碼變得像Java一樣冗長,設(shè)計(jì)也不健全,在某些情況下給人以錯(cuò)誤的安全感。
Richard說預(yù)測未來的最重要因素就是看看這門技術(shù)如何影響團(tuán)隊(duì), 很多團(tuán)隊(duì)都會(huì)說:“我們會(huì)嘗試TypeScript, 我們已經(jīng)使用TypeScript”, 從來沒有團(tuán)隊(duì)說:“我們嘗試了TypeScript,后來又回到了JavaScript。”
值得一提的是,現(xiàn)在微軟養(yǎng)著兩位大神,都在TypeScript和JavaScript領(lǐng)域耕耘,一個(gè)就是TypeScript的設(shè)計(jì)師Anders Hejlsberg, 他同時(shí)是Turbo Pascal , Delphi, C#等老牌語言的設(shè)計(jì)者。另外一位是Erich Gamma ,他專注于編輯器和IDE,設(shè)計(jì)模式,Eclipse,VS Code就是他的得意之作。
2. WebAssembly 會(huì)擴(kuò)大WebApp的領(lǐng)域
到2020年末,WASM對Web的組成不會(huì)有太大影響。
到2025年末, WASM將會(huì)創(chuàng)建一個(gè)新的領(lǐng)域:“重量級的Web App”。
WebAssembly 是什么東西?可以簡單理解為在瀏覽器中執(zhí)行的“匯編語言”, 可以提供接近本地代碼的速度,肯定要比JavaScript快得多。
程序員肯定不會(huì)直接寫“匯編語言”,程序員可以用C/C++/Rust來寫程序,編譯成WebAssembly后在瀏覽器中執(zhí)行,當(dāng)然,WebAssembly代碼也可以被JavaScript調(diào)用。
可能會(huì)有人說,現(xiàn)在有了V8 之類的執(zhí)行引擎,大家覺得JavaScript的性能已經(jīng)不錯(cuò)了啊,為什么還要搞個(gè)Web匯編?
Richard舉了一個(gè)例子:Figma,這是一個(gè)重量級的圖像編輯軟件,像Photoshop, Sketch 那樣,但是它與眾不同的是在瀏覽器中運(yùn)行的。
這個(gè)軟件是用C++開發(fā)的,最早的時(shí)候編譯成了JS的一個(gè)子集ASM.js在瀏覽器中執(zhí)行,采用了WebAssembly以后,速度提升了3倍之多。
另外一個(gè)更好的例子是游戲。比如下面這個(gè)場景,如果想使用CSS,估計(jì)是不行的, 但是WebAssembly可以搞定。
這就意味著WebAssembly打開了一扇門, 那些重量級的本地應(yīng)用,可以通過Web的方式來安裝,分發(fā)了。Web瀏覽器將會(huì)和傳統(tǒng)的App Store, 安裝程序做競爭了!
以后你想用某個(gè)應(yīng)用,只需要瀏覽器中輸入網(wǎng)址,立刻開始使用,不用安裝。和別人分享也非常的方便,發(fā)個(gè)link就行了。 (是不是和小程序的理念有點(diǎn)像?但是本質(zhì)是不同的。)
HTML/CSS/JS就此死去?當(dāng)然不會(huì),WebAssembly擴(kuò)大的Web開發(fā)的基本盤, WebApp 的盤子會(huì)更大。
3. npm將在更多的問題中艱難生存
到2020年末, 至少一個(gè)npm的安全事件會(huì)登上新聞?lì)^條。
到2025年末, 至少一個(gè)惡意的npm package 感染大量開發(fā)者的機(jī)器。
這幾年,開發(fā)人員已經(jīng)目睹了好幾次npm的災(zāi)難。
2016年, 一名 npm(Node.js Package Manager)的貢獻(xiàn)者 Azer Ko?ulu 出于對 npm管理層的怨憤,刪除了自己在 NPM 的250個(gè)模塊,其中一個(gè)叫做left-pad,非常簡單,就是用特定字符填到一個(gè)字符串的左邊,達(dá)到指定的長度,但是這個(gè)模塊被引用得非常廣泛, 導(dǎo)致了一次NPM生態(tài)系統(tǒng)的大地震,Node.js, Babel , 還有其他數(shù)千個(gè)項(xiàng)目直接罷工。
2018年npm又爆發(fā)了著名的event-stream事件, 一個(gè)叫right9ctrl的家伙,騙取了event-stream這個(gè)著名package的作者的信任,獲取了代碼所有權(quán),然后向其中植入了惡意代碼。
此外npm的packagte安裝腳本中的也存在安全隱患,Richard建議在本機(jī)執(zhí)行:npm config set ignore-scripts true 。
4. JS的替代品會(huì)穩(wěn)健成長
到2020年末,編譯成JavaScript的那些語言會(huì)繼續(xù)增長,但是都沒有TypeScript增長快速。
到2025年末, 那些非JS的方言還會(huì)穩(wěn)健成長,雖然TypeScript會(huì)很流行。
JavaScript有兩類替代品,一類是JavaScript方言,如TypeScript, Dart, Coffeescript等,還有一類是非JavaScript方言,例如ClojureScript, ReasonML, 和Elm, 雖然都是編譯到JavaScript來執(zhí)行,但是它們提供的體驗(yàn)和JavaScript不同。
Richard本人是Elm的開發(fā)人員,自然給Elm做了廣告,渲染速度快,體量小,不崩潰,有自己的生態(tài)體系,并且因?yàn)橛蟹浅T敿?xì)的錯(cuò)誤信息而廣受贊譽(yù)。
所以Richard認(rèn)為,雖然以后TypeScript會(huì)更受歡迎,但是選擇了這些小眾的替代替代品的“粉絲”將會(huì)繼續(xù)使用它們。
網(wǎng)站題目:大膽預(yù)測下未來5年的Web開發(fā)
網(wǎng)頁鏈接:http://www.dlmjj.cn/article/dhgsihs.html


咨詢
建站咨詢
