国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

node.js|vue.js|jquery|angularjs|React|json|js教程|

香港云服务器
服務器之家 - 編程語言 - JavaScript - 鴻蒙系統中的 JS 開發框架

鴻蒙系統中的 JS 開發框架

2021-09-30 14:59justjavac JavaScript

最近華為鴻蒙OS 2.0正式開源!關于鴻蒙的教程其實網上也已經有一些嘗鮮的小伙伴分享了相關文章,這篇文章主要為大家詳細介紹了鴻蒙系統中的 JS 開發框架,具有一定的參考價值,感興趣的小伙伴們可以參考一下

今天鴻蒙終于發布了,開發者們也終于“沸騰”了。

源碼托管在國內知名開源平臺碼云上,https://gitee.com/openharmony

我也第一時間下載了源碼,研究了一個晚上,順帶寫了一個 hello world 程序,還順手給鴻蒙文檔提了 2 個 PR。

當然我最感興趣的就是鴻蒙的 JS 框架 ace_lite_jsfwk,從名字中可以看出來這是一個非常輕量級的框架,官方介紹說是“輕量級 JS 核心開發框架”。

當我看完源碼后發現它確實輕。其核心代碼只有 5 個 js 文件,大概也就 300-400 行代碼吧。(沒有單元測試)

runtime-core\src\core\index.js
runtime-core\src\observer\observer.js
runtime-core\src\observer\subject.js
runtime-core\src\observer\utils.js
runtime-core\src\profiler\index.js

從名字可以看出來,這些代碼實現了一個觀察者模式。也就是說,它實現了一個非常輕量級的 MVVM 模式。通過使用和 vue2 相似的屬性劫持技術實現了響應式系統。這個應該是目前培訓班的“三大自己實現”之一了吧。(自己實現 Promise,自己實現 vue,自己實現 react)

鴻蒙系統中的 JS 開發框架

utils 里面定義了一個 Observer 棧,存放了觀察者。subject 定義了被觀察者。當我們觀察某個對象時,也就是劫持這個對象屬性的操作,還包括一些數組函數,比如 push、pop 等。這個文件應該是代碼最多的,160 行。observer 的代碼就更簡單了,五六十行。

而當我們開發的時候,通過 Toolkit 將開發者編寫的 HML、CSS 和 JS 文件編譯打包成 JS Bundle,然后再將 JS Bundle 解析運行成C++ native UI 的 View 組件進行渲染。

“通過支持三方開發者使用聲明式的 API 進行應用開發,以數據驅動視圖變化,避免了大量的視圖操作,大大降低了應用開發難度,提升開發者開發體驗”。基本上就是一個小程序式的開發體驗。

鴻蒙系統中的 JS 開發框架

在 src\core\base\framework_min_js.h 文件中,這段編譯好的 js 被編譯到了 runtime 里面。編譯完的 js 文件不到 3K,確實夠輕量。

js runtime 沒有使用 V8,也沒有使用 jscore。而是選擇了 JerryScript。JerryScript 是用于物聯網的超輕量 JavaScript 引擎。它能夠在內存少于 64 KB 的設備上執行 ECMAScript 5.1 源代碼。這也是為什么在文檔中說鴻蒙 JS 框架支持 ECMAScript 5.1 的原因。

從整體看這個 js 框架大概使用了 96% 的 C/C++ 代碼,1.8% 的 JS 代碼。在 htm 文件中寫的組件會被編譯為原生組件。而 app_style_manager.cpp 和同級的七八個文件則用來解析 css,最終生成原生布局。

雖然在 SDK 中有幾個 weex 包,也發現了 react 的影子。但是在 C/C++ 代碼中并沒有看到 yoga 相關的內容(全局搜索沒發現)。而 SDK 中的那些包僅僅是做 loader 用的,大概是為了在 webpack 打包時解析 htm 組件用的。將 htm 的 template 編譯為 js 代碼。

整體而言,比我預想的要好一些。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

原文鏈接:https://mp.weixin.qq.com/s/IhACmlQ6Df0A2R-Y9Kkxig

延伸 · 閱讀

精彩推薦
781
主站蜘蛛池模板: 久久综合一区二区三区 | 国产色在线 | 一区二区精品在线视频 | 中文字幕在线免费看 | 啊啊啊网站| 一区免费看 | 精品香蕉一区二区三区 | 欧美综合在线观看 | 久久久久国产精品免费免费搜索 | 91国视频| 中文字幕 国产 | 欧美天堂一区 | 亚洲天堂久久 | 免费高清av | 韩国精品一区 | 精品视频网站 | 亚洲国产精品尤物yw在线观看 | 91精品国产91久久久久久 | 国产人免费人成免费视频 | 欧美精品在线视频 | 午夜国产精品视频 | 亚洲免费观看 | 日韩电影中文字幕 | 大乳videos巨大吃奶 | 黄色片网站在线免费观看 | 性高湖久久久久久久久aaaaa | 国产精品久久久久国产精品 | 国产综合亚洲精品一区二 | 在线观看 亚洲 | 可以免费看黄色的网站 | 日韩在线成人av | 国产一区二区三区在线视频观看 | 国产欧美综合一区二区三区 | 91高清在线观看 | 亚洲精品久久久久久下一站 | 一区二区精品在线视频 | 亚洲综合视频 | 日本视频中文字幕 | 国产一区二区av | 久久久久久国产免费 | 午夜成人在线视频 |