如何看待鴻蒙應(yīng)用開(kāi)發(fā)框架采用JavaScript作為開(kāi)發(fā)語(yǔ)言?
共 558字,需瀏覽 2分鐘
·
2022-02-09 09:04
前端(廣義前端)應(yīng)用編程語(yǔ)言這個(gè)生態(tài)位目前就那么幾種語(yǔ)言:JavaScript/TypeScript、Java、OC、Kotlin、Swift、Dart。先不說(shuō)其他因素,其中后四個(gè)都是單個(gè)商業(yè)公司控制的,你說(shuō)鴻蒙拿來(lái)用ok不ok呢?Java雖然有JCP,但Oracle……你懂的。所以選擇JS簡(jiǎn)直是必然的。(順便,華為在2019年12月成為Ecma標(biāo)準(zhǔn)組織成員,并加入了TC39——JS標(biāo)準(zhǔn)委員會(huì)。這個(gè)加入過(guò)程其實(shí)還很驚險(xiǎn),差一票就被否決了,哪兩個(gè)公司投了反對(duì)票我這里就不說(shuō)了……)關(guān)于前端應(yīng)用編程語(yǔ)言的更多分析可以看我2019年在GMTC上的主題演講整理稿:
前端開(kāi)發(fā)編程語(yǔ)言的過(guò)去、現(xiàn)在和未來(lái)當(dāng)然,JS也有一些缺陷。而且考慮現(xiàn)在各移動(dòng)平臺(tái)除了JS之外也都有各自的欽定語(yǔ)言,所以長(zhǎng)遠(yuǎn)看,(光使用)JS對(duì)于鴻蒙可能是不夠的。鴻蒙在大內(nèi)存設(shè)備(如手機(jī))上應(yīng)會(huì)支持Java,但戰(zhàn)略上我認(rèn)為平臺(tái)必須要有自研語(yǔ)言。而且方舟編譯器和MapleIR的特點(diǎn)就是多語(yǔ)言聯(lián)合編譯,所以華為完全可能會(huì)出自研語(yǔ)言,讓鴻蒙同時(shí)支持JS、Java和傳言中的「?jìng)}頡」。如果僅僅考慮端的需求,我個(gè)人實(shí)際上是比較傾向于裁剪JS/TS的語(yǔ)義和語(yǔ)法來(lái)做一個(gè)高效的可直接編譯到native的語(yǔ)言,不過(guò)從一些傳聞來(lái)看,「?jìng)}頡」可能不像TS而更類似Swift。
