RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙系統(tǒng)為什么會選擇JavaScript 作為應(yīng)用開發(fā)語言

鴻蒙系統(tǒng)HarmonyOS ? 來源:程序員客棧 ? 作者:開發(fā)者全社區(qū) ? 2021-03-30 16:11 ? 次閱讀

喜聞樂見,其實(shí)使用 JavaScript 作為應(yīng)用開發(fā)語言并不是第一家,比如 JerryScript 就是為了三星自家的 IoT 手表開發(fā)的,國產(chǎn) RT Thread 也用了 JS 做 GUI,還有 MongooseOS 也是一套 JavaScript 的操作系統(tǒng),當(dāng)然還有我最喜歡的 YodaOS 也是基于 JavaScript 的。

前端(廣義前端)

前端(廣義前端)應(yīng)用編程語言這個(gè)生態(tài)位目前就那么幾種語言: Javascript/TypeScript、Java、OC、Kotlin、Swift.、Dart, 先不說其他因素,日中后四個(gè)都是單個(gè)商業(yè)公司控制的,你說雞蒙拿來用0k不ok呢? Java雖然有ICP,但Oracle.。。你懂的。所以選擇JS簡直是必然的,(順便,華為在2019年12月成為Ecma標(biāo)準(zhǔn)組織成員,并加入了門TC39——JS標(biāo)準(zhǔn)委員會。

鴻蒙

鴻蒙作為個(gè)正在全新的系統(tǒng), 定位的目標(biāo)是要在多種場景多種設(shè)備上運(yùn)行。

一個(gè)全新的系統(tǒng),需要得到足夠多的開發(fā)者支持資源,那么需要對開發(fā)者友好,需要謹(jǐn)慎選擇,什么樣的開發(fā)語言受眾最多?

什么樣的開發(fā)語言能支持在多種設(shè)備多種場景下面運(yùn)行?

我們不難分析出java和javascrip是相對比較好的選擇,畢竟這兩大操作語言有足夠的開發(fā)者,開發(fā)者不需要再去學(xué)習(xí)一門新的語言,降低了開發(fā)者的成本,更容易得到開發(fā)者支持。

那為什么是javascript呢?

java語言已經(jīng)被安卓廣泛使用,如果堅(jiān)持選擇java的話,那么和安卓很難拉開差距,可能一不小心就走到安卓的老路上去了,另外,一個(gè)熟悉java的開發(fā)者,一個(gè)熟悉安卓的開發(fā)者,放棄成熟的安卓生態(tài)不玩,為什么要來陪個(gè)各種不確定各種都不清楚的全新系統(tǒng)玩?

對自己有什么好處?

畢竟開發(fā)者是要恰飯的,沒有收益甚至短期內(nèi)看不到收益的話,靠熱情是很難維持的。

相比javascript來看,就要好的多,首先javascript語言還沒有 個(gè)成熟的軟件生態(tài)支持,最重要的是javascript語言有足夠多的開發(fā)者,基本上傳統(tǒng)的頁面開發(fā)者都能寫些javascript的代碼,至少開發(fā)者基數(shù)夠大。

擁有了強(qiáng)大的開發(fā)者基數(shù)資源,再加上對于一個(gè)遲遲沒有平臺生態(tài)兌現(xiàn)的語言,此時(shí)華為鴻蒙如果能給出個(gè)類似蘋果安卓的方案,那么將會得到大量熟悉的javascript開發(fā)者支持,畢竟他們已經(jīng)期盼好久,看著java,看著OC語言,它們都有了前途,而javascript還沒有 一個(gè)生態(tài)讓他們來發(fā)光發(fā)熱獲取收益。

開發(fā)者

開發(fā)者可能會因?yàn)橐环N新的生態(tài)時(shí)沖動進(jìn)入這個(gè)市場,而能讓開發(fā)者堅(jiān)持留下來的還是要生態(tài)本身強(qiáng)大,能賺到錢,一個(gè)能讓開發(fā)者賺到錢的生態(tài)不在乎使用什么語言,哪怕語言再難學(xué),只要利益足夠大,學(xué)的人都會蜂擁而至但是如果賺不到錢, 看不到收益,那就前途未卜了。

是時(shí)候該學(xué)習(xí)javascript了。

缺陷

當(dāng)然,JS也有些缺陷。而日等慮現(xiàn)在各移動平臺除了之外也都有自的飲定語言,所以長遠(yuǎn)看,(光使用) J5對于鴻蒙可能是不夠的。鴻蒙在大內(nèi)存設(shè)備(如號)上應(yīng)會支持Java,但戰(zhàn)略上我認(rèn)為平臺必須要有自研語言。而且方舟編譯器和MaplelR的特點(diǎn)就是多語言聯(lián)臺編譯,所以華為完全可能會出自研語言,讓象同時(shí)支持5 lava和傳言中的 0面」。如果僅僅考悅的需求,我個(gè)人實(shí)際上是比較傾向于我剪JS/TS的語義和語法來做一個(gè)高效的可直接編評到native的語言,不過從一些傳聞來看,「倉板」 可能不像TS而更類似Swift。

鴻蒙作為個(gè)正在全新的系統(tǒng), 定位的目標(biāo)是要在多種場景多種設(shè)備上運(yùn)行。

一個(gè)全新的系統(tǒng),需要得到足夠多的開發(fā)者支持資源,那么需要對開發(fā)者友好,需要謹(jǐn)慎選擇,什么樣的開發(fā)語言受眾最多?

什么樣的開發(fā)語言能支持在多種設(shè)備多種場景下面運(yùn)行?

我們不難分析出java和javascrip是相對比較好的選擇,畢竟這兩大操作語言有足夠的開發(fā)者,開發(fā)者不需要再去學(xué)習(xí)一門新的語言,降低了開發(fā)者的成本,更容易得到開發(fā)者支持。

支持

支持 JS 的原因,JS 是瀏覽器界的匯編語言,而瀏覽器目前有成為第一大人機(jī)交互接口的趨勢。

1.JS 生態(tài)圈目前來看形式很好,未來也是第一梯隊(duì)。

2.JS 語言發(fā)展迅速,開源社區(qū)支持廣泛,上手入門門檻遠(yuǎn)低于 Java 和 Native 語言。后期希望可以原生支持 TypeScript

3.JS + WebAssembly 性能還是不錯(cuò)的,未來如果能加上 V8 速度會更快,不知道華為未來是否有能力自己做一個(gè) VM 支持 WebAssembly

4. Write once,run everywhere。目前來看是對 JS + WebAssembly 最好的描述。

作為一個(gè)熱愛JavaScript的曾經(jīng)的程序員,我當(dāng)然支持鴻蒙采用JavaScript作為開發(fā)語言,我還不了解細(xì)節(jié),但是我估計(jì)JavaScript是被作為應(yīng)用層面的編程語言來使用,換句話說,記憶鴻蒙平臺來開發(fā)應(yīng)用,你可以用JavaScript,但是,如果你要做一些底層的開發(fā),你可能還需要用其他編程語言。

為什么這樣呢?

因?yàn)镴avaScript就是為了『應(yīng)用開發(fā)』而設(shè)計(jì)的,不是為了『底層開發(fā)』而設(shè)計(jì)的。

舉個(gè)簡單例子,JavaScript語言本身沒有線程(Thread)的概念(Chrome的worker不是語言特性),我知道很多人都詬病這一點(diǎn),但是,我一直認(rèn)同JavaScript就不該有線程,因?yàn)镴avaScript是用來開發(fā)應(yīng)用的,一個(gè)應(yīng)用開發(fā)者為什么要知道線程的存在呢?

對于很多本身有線程概念的編程語言,實(shí)際上誘惑了程序員去玩線程這種潘多拉魔盒,千萬不要覺得自己會線程就牛逼了呀,很多人把線程玩拉胯了!

如果你現(xiàn)在用Windows上的Outlook,把Outlook關(guān)閉再重新打開,用任務(wù)管理器看一下Outlook占多少個(gè)線程,至少幾十個(gè),也就是說,Outlook什么都不敢都有幾十個(gè)線程存在,每個(gè)線程還要維持自己的stack,這……不是玩拉胯了是什么?

JavaScript堅(jiān)持自己是一個(gè)為了『應(yīng)用開發(fā)』的語言,不是一個(gè)全能語言,所以才能繁榮昌盛這么久。

這就是我的一點(diǎn)看法。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    19

    文章

    2966

    瀏覽量

    104700
  • javascript
    +關(guān)注

    關(guān)注

    0

    文章

    516

    瀏覽量

    53850
  • 鴻蒙系統(tǒng)
    +關(guān)注

    關(guān)注

    183

    文章

    2634

    瀏覽量

    66302
收藏 人收藏

    評論

    相關(guān)推薦

    鴻蒙系統(tǒng)優(yōu)缺點(diǎn),能否作為開發(fā)選擇

    星河版已經(jīng)是純血鴻蒙,但是它的發(fā)展一些周期。生態(tài)圈的建立難度大,各大廠商加入鴻蒙原生開發(fā)需要時(shí)間累積。 鴻蒙開發(fā)人才空缺,由于
    發(fā)表于 02-16 21:00

    想做web開發(fā),就學(xué)JavaScript嗎?

    相對容易給出來:學(xué)習(xí)JavaScript。四周看看,曾經(jīng)低端的瀏覽器腳本語言現(xiàn)在變得隨處可見,從服務(wù)器端到客戶端,每天好像有更多的選擇。出身低微我記得數(shù)年前投入web開發(fā),學(xué)習(xí)了HTM
    發(fā)表于 12-09 15:34

    鴻蒙適配APP要用什么開發(fā)語言?!

    開發(fā)鴻蒙的應(yīng)用要用什么開發(fā)語言?Java?C++?JavaScript?
    發(fā)表于 09-11 11:55

    為什么會選擇C語言作為開發(fā)語言

    C語言作為開發(fā)語言呢?一起了解一下。首先來說這應(yīng)該是必然的吧,嵌入式開發(fā)是在操作系統(tǒng)內(nèi)部做
    發(fā)表于 11-08 09:05

    請問如何選擇鴻蒙App開發(fā)的編程語言

    如何選擇鴻蒙App開發(fā)的編程語言
    發(fā)表于 04-13 11:15

    JavaScript語言基礎(chǔ)

    JavaScript關(guān)鍵字(Reserved Words)是指在JavaScript語言中有特定含義,成為JavaScript語法中一部分的那些字。
    發(fā)表于 04-03 16:58 ?8次下載

    要成為鴻蒙開發(fā)者,應(yīng)該學(xué)習(xí)哪些編程語言

    據(jù)了解,鴻蒙系統(tǒng)是基于Linux開發(fā)的,源碼是C語言。那么,作為一名開發(fā)者,如何幫助
    的頭像 發(fā)表于 09-24 12:06 ?1.3w次閱讀

    鴻蒙2.0操作系統(tǒng)采用JavaScript作為開發(fā)語言 可看出JS生態(tài)圈未來形勢很好

    華為發(fā)布鴻蒙2.0操作系統(tǒng),該系統(tǒng)應(yīng)用開發(fā)框架采用JavaScript作為
    的頭像 發(fā)表于 09-27 15:00 ?5052次閱讀

    鴻蒙系統(tǒng)是基于什么開發(fā)

    鴻蒙系統(tǒng)作為華為的備用方案,首先必須要考慮的就是兼容性和開放性,這樣更加自由的Linux自然就是首選,由于Linux可以運(yùn)行在多種硬件平臺上,所以基于此開發(fā)
    的頭像 發(fā)表于 07-01 16:43 ?1.6w次閱讀

    鴻蒙系統(tǒng)用的什么語言開發(fā)

    鴻蒙系統(tǒng)用的什么語言開發(fā)的?華為的鴻蒙操作系統(tǒng)正式發(fā)布已經(jīng)過去了將近一個(gè)月的時(shí)間,相信很多用戶朋
    的頭像 發(fā)表于 07-07 09:48 ?9240次閱讀

    鴻蒙系統(tǒng)是什么語言開發(fā)

    華為鴻蒙系統(tǒng)作為華為的備用方案,首先必須要考慮的就是兼容性和開放性,這樣更加自由的Linux自然就是首選,由于Linux可以運(yùn)行在多種硬件平臺上,所以基于此開發(fā)
    的頭像 發(fā)表于 07-11 10:51 ?6719次閱讀

    JavaScript JavaScript是什么語言

    JavaScript是屬于開發(fā)Web頁面的腳本編程語言,是一種具有函數(shù)優(yōu)先的輕量級編程語言。JavaScript基于原型編程、多范式的動態(tài)腳
    的頭像 發(fā)表于 07-27 15:41 ?6639次閱讀

    嵌入式為什么選擇C語言作為開發(fā)語言?

    C語言作為開發(fā)語言呢?一起了解一下。首先來說這應(yīng)該是必然的吧,嵌入式開發(fā)是在操作系統(tǒng)內(nèi)部做
    發(fā)表于 11-03 14:06 ?15次下載
    嵌入式為什么<b class='flag-5'>選擇</b>C<b class='flag-5'>語言</b><b class='flag-5'>作為</b><b class='flag-5'>開發(fā)</b><b class='flag-5'>語言</b>?

    javascript語言的特點(diǎn)

    JavaScript是一種廣泛應(yīng)用于Web開發(fā)的腳本語言,具有許多獨(dú)特的特點(diǎn)和優(yōu)勢。在本篇文章中,我將詳盡、詳實(shí)、細(xì)致地解釋JavaScript的特點(diǎn),讓你全面了解這門
    的頭像 發(fā)表于 12-03 11:31 ?953次閱讀

    javascript規(guī)定了幾種語言類型

    和移動應(yīng)用程序。JavaScript的靈活性和易用性使其成為開發(fā)人員最喜愛的編程語言之一。本文將詳細(xì)介紹JavaScript的幾種語言類型。
    的頭像 發(fā)表于 12-03 11:37 ?801次閱讀
    RM新时代网站-首页