米利唐_后腰_乌克兰足球超级联赛_中国竞彩欧赔 - 足球竞彩分析

集團(tuán)官網(wǎng)
  • 國家級全民數(shù)字素養(yǎng)與技能培訓(xùn)基地
  • 河南省第一批產(chǎn)教融合型企業(yè)建設(shè)培育單位
  • 鄭州市數(shù)字技能人才(碼農(nóng))培養(yǎng)評價(jià)聯(lián)盟

鴻蒙2.0開源,前端開發(fā)的機(jī)會來了!

編輯:云和數(shù)據(jù) 日期:2020-09-24 08:53

近日,華為發(fā)布鴻蒙2.0操作系統(tǒng),該系統(tǒng)應(yīng)用開發(fā)框架采用JavaScript作為開發(fā)語言,這對于前端開發(fā)工程師來說無疑是一個好消息!果然JavaScript才是全世界最好的語言…

JavaScript優(yōu)勢:

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

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

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

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

001.jpg

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

runtime-coresrccoreindex.js

runtime-coresrcobserverobserver.js

runtime-coresrcobserversubject.js

runtime-coresrcobserverutils.js

runtime-coresrcprofilerindex.js

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

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

這里將其分為自上而下的三個抽象層來介紹:

JS 框架層,可理解為一個大幅簡化的 Vue 式 JavaScript 框架

JS 引擎與運(yùn)行時(shí)層,可理解為一個大幅簡化的 WebKit 式運(yùn)行時(shí)

圖形渲染層,可理解為一個大幅簡化的 Skia 式圖形繪制庫

002.jpg

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

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

確實(shí)有務(wù)實(shí)(但和當(dāng)年 PPT 介紹完全兩碼事)的代碼。

不是 WebView 套殼,布局和繪制是自己做的。

無需超過大學(xué)本科水平的計(jì)算機(jī)知識,也能順利閱讀理解。

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

003.jpg

JS 框架層

沒有基本的組件間通信(如 props / emit 等)能力

沒有基本的自定義組件能力

沒有除基礎(chǔ)依賴追蹤以外的狀態(tài)管理能力

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

標(biāo)準(zhǔn)支持過低,無法運(yùn)行 Vue 3.0 這類需 Proxy 的下一代前端框架

性能水平弱,難以支持中大型 JS 應(yīng)用

沒有開放 DOM 式的對象模型 API,不利于上層抹平差異

圖形渲染層

沒有實(shí)質(zhì)可用的 GPU 加速

沒有 SVG 和富文本等高級渲染能力

Canvas 完成度低,缺狀態(tài)棧和很多 API

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

想成為國之棟梁嗎?來寫 JavaScript 吧!

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

相關(guān)內(nèi)容

搶先一步 鴻蒙(HarmonyOS)應(yīng)用開發(fā)者高級認(rèn)證 免費(fèi)考! 適合人群計(jì)算機(jī)相關(guān)專業(yè)在校生(技師、中職、高職、本科、研究生)對鴻蒙(HarmonyOS)有興趣的非計(jì)算機(jī)相關(guān)專業(yè)在校生目前正在從事移動應(yīng)用的開發(fā)者目前正在從事計(jì)算機(jī)行業(yè)相關(guān)的人計(jì)算機(jī)專業(yè)高校老師所有對鴻蒙(HarmonyOS)有興趣的人 培訓(xùn)方案掌握鴻蒙的核心概念和端云一體化開發(fā)、... 什么是Java的多態(tài)性(polymorphism)?它有哪些不同的形式? 多態(tài)性是Java面向?qū)ο缶幊痰囊粋€重要概念,它允許不同的對象以一致的方式響應(yīng)同一個方法調(diào)用,具體表現(xiàn)為對象在運(yùn)行時(shí)可以表現(xiàn)出多個不同的形態(tài)。多態(tài)性主要有兩種不同的形式:編譯時(shí)多態(tài)性(靜態(tài)多態(tài)性)和運(yùn)行時(shí)多態(tài)性(動態(tài)多態(tài)性)。1. 編譯時(shí)多態(tài)性(靜態(tài)多態(tài)性):   ... 如何學(xué)習(xí)和搭建Hadoop開發(fā)環(huán)境? Hadoop是大數(shù)據(jù)處理領(lǐng)域的重要平臺,能夠處理和分析大量數(shù)據(jù)。為了有效地利用Hadoop,我們需要學(xué)習(xí)其基礎(chǔ)知識,并正確搭建開發(fā)環(huán)境。下面是詳細(xì)的學(xué)習(xí)和搭建指南。一、學(xué)習(xí)Hadoop基礎(chǔ)掌握基礎(chǔ)概念和原理Hadoop主要由HDFS和MapReduce兩部分組成。HDFS是分布式文件系統(tǒng),Ma... UI 設(shè)計(jì)學(xué)習(xí)如何進(jìn)階成為高手 我總結(jié)了六種方法,幫助你走出舒適區(qū),提高技能,成長為自信且經(jīng)驗(yàn)豐富的UI設(shè)計(jì)高手一位經(jīng)驗(yàn)豐富的 UI 設(shè)計(jì)師,往往十分看中應(yīng)用程序界面的吸引力和視覺刺激,確保滿足用戶期望和需求。但是,如果你已經(jīng)在 UI 設(shè)計(jì)圈摸爬滾打多年,仍然沒有出色的作品,那你極有可能是因?yàn)橄萑肓艘粋€舒適圈,UI技能一直原... 在Java中Executor和Executors的區(qū)別? 在Java中,Executor和Executors都與線程池和并發(fā)執(zhí)行有關(guān),但它們是不同的概念和類。1.ExecutorExecutor是一個接口,位于java.util.concurrent包中,用于表示一個執(zhí)行任務(wù)的執(zhí)行器。它只定義了一個方法:void execute(Runnable c... String類型的常見命令有哪些? String類型,也就是字符串類型,是Redis中最簡單的存儲類型。其value是字符串,不過根據(jù)字符串的格式不同,又可以分為3類:string是普通字符串,int整數(shù)類型,可以做自增、自減操作,float浮點(diǎn)類型,可以做自增、自減操作。String的常見命令有:SET:添加或者修改已經(jīng)存在的...