中字幕视频在线永久在线,最新免费av在线观看,最近免费mv在线观看,亚洲乱码一区av春药高潮,专区,国产激情毛片,国产成人

IT培訓(xùn)-高端面授IT培訓(xùn)機(jī)構(gòu)
云和教育:云和數(shù)據(jù)集團(tuán)高端IT職業(yè)教育品牌
  • 國(guó)家級(jí)
    全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省
    第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市
    數(shù)字技能人才(碼農(nóng))培養(yǎng)評(píng)價(jià)聯(lián)盟

鴻蒙2.0開(kāi)源,H5前端開(kāi)發(fā)的機(jī)會(huì)來(lái)了!

  • 發(fā)布時(shí)間:
    2020-09-24
  • 版權(quán)所有:
    云和教育
  • 分享:
近日,華為發(fā)布鴻蒙2.0操作系統(tǒng),該系統(tǒng)應(yīng)用開(kāi)發(fā)框架采用JavaScript作為開(kāi)發(fā)語(yǔ)言,這對(duì)于前端開(kāi)發(fā)工程師來(lái)說(shuō)無(wú)疑是一個(gè)好消息!果然JavaScript才是全世界最好的語(yǔ)言…

JavaScript優(yōu)勢(shì):

  • JS 生態(tài)圈目前來(lái)看形式很好,未來(lái)也是第一梯隊(duì)。
  • JS 語(yǔ)言發(fā)展迅速,開(kāi)源社區(qū)支持廣泛,上手入門(mén)門(mén)檻遠(yuǎn)低于 Java 和 Native 語(yǔ)言。后期希望可以原生支持 TypeScript。
  • JS + WebAssembly 性能還是不錯(cuò)的,未來(lái)如果能加上 V8 速度會(huì)更快,不知道華為未來(lái)是否有能力自己做一個(gè) VM 支持 WebAssembly。
  • Write once,run everywhere。目前來(lái)看是對(duì) JS + WebAssembly 最好的描述。

鴻蒙的 JS 框架 ace_lite_jsfwk,從名字中可以看出來(lái)這是一個(gè)非常輕量級(jí)的框架,官方介紹說(shuō)是“輕量級(jí) JS 核心開(kāi)發(fā)框架”。其核心代碼只有 5 個(gè) js 文件,大概也就 300-400 行代碼吧。

  • runtime-coresrccoreindex.js
  • runtime-coresrcobserverobserver.js
  • runtime-coresrcobserversubject.js
  • runtime-coresrcobserverutils.js
  • runtime-coresrcprofilerindex.js

從名字可以看出來(lái),這些代碼實(shí)現(xiàn)了一個(gè)觀察者模式。也就是說(shuō),它實(shí)現(xiàn)了一個(gè)非常輕量級(jí)的 MVVM 模式。通過(guò)使用和 vue2 相似的屬性劫持技術(shù)實(shí)現(xiàn)了響應(yīng)式系統(tǒng)。

在「鴻蒙 2.0」上,開(kāi)發(fā)者只需編寫(xiě)形如 Vue 組件式的 JavaScript 業(yè)務(wù)邏輯,即可將其渲染為智能手表等嵌入式硬件上的 UI 界面。

這里將其分為自上而下的三個(gè)抽象層來(lái)介紹:

  1. JS 框架層,可理解為一個(gè)大幅簡(jiǎn)化的 Vue 式 JavaScript 框架
  2. JS 引擎與運(yùn)行時(shí)層,可理解為一個(gè)大幅簡(jiǎn)化的 WebKit 式運(yùn)行時(shí)
  3. 圖形渲染層,可理解為一個(gè)大幅簡(jiǎn)化的 Skia 式圖形繪制庫(kù)

這三個(gè)抽象層,整體構(gòu)成了一套面向嵌入式硬件的 GUI 技術(shù)棧。不同于許多高呼「不明覺(jué)厲 / 深不可測(cè)」的輿論,個(gè)人認(rèn)為至少對(duì)于 GUI 部分,國(guó)內(nèi)凡是接觸過(guò)目前主流 Hybrid 式跨端方案或 JS 運(yùn)行時(shí)研發(fā)的一線開(kāi)發(fā)者,都很容易從源碼出發(fā)來(lái)理解它。

對(duì)于「鴻蒙 2.0」在 GUI 部分的亮點(diǎn),個(gè)人能想到這些:

  • 確實(shí)有務(wù)實(shí)(但和當(dāng)年 PPT 介紹完全兩碼事)的代碼。
  • 不是 WebView 套殼,布局和繪制是自己做的。
  • 無(wú)需超過(guò)大學(xué)本科水平的計(jì)算機(jī)知識(shí),也能順利閱讀理解。

而至于明顯(不只是某幾行代碼寫(xiě)得丑)的缺失或問(wèn)題,目前看來(lái)則有這么一些:

JS 框架層

  • 沒(méi)有基本的組件間通信(如 props / emit 等)能力
  • 沒(méi)有基本的自定義組件能力
  • 沒(méi)有除基礎(chǔ)依賴追蹤以外的狀態(tài)管理能力

JS 引擎與運(yùn)行時(shí)層

  • 標(biāo)準(zhǔn)支持過(guò)低,無(wú)法運(yùn)行 Vue 3.0 這類需 Proxy 的下一代前端框架
  • 性能水平弱,難以支持中大型 JS 應(yīng)用
  • 沒(méi)有開(kāi)放 DOM 式的對(duì)象模型 API,不利于上層抹平差異

圖形渲染層

  • 沒(méi)有實(shí)質(zhì)可用的 GPU 加速
  • 沒(méi)有 SVG 和富文本等高級(jí)渲染能力
  • Canvas 完成度低,缺狀態(tài)棧和很多 API

對(duì)于所有熟悉 JavaScript 的前端開(kāi)發(fā)者們,JavaScript 被鴻蒙這樣的「國(guó)之重器」采用,可以大大增強(qiáng)前端的道路自信、理論自信、文化自信和技術(shù)棧自信。

想成為國(guó)之棟梁?jiǎn)幔縼?lái)寫(xiě) JavaScript 吧!

聲明:除云和數(shù)據(jù)原創(chuàng)文章外,分享和轉(zhuǎn)載的文章皆為促進(jìn)IT技術(shù)的傳播,并不代表本微信贊同其觀點(diǎn)和對(duì)真實(shí)性負(fù)責(zé),僅做交流學(xué)習(xí)使用,非商業(yè)用途。如有文章或圖片的原作者有異議或涉及版權(quán)問(wèn)題,請(qǐng)立即聯(lián)系我們,我們將在第一時(shí)間進(jìn)行改正或刪除,確保您的權(quán)益,謝謝支持!