日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

鴻蒙系統(tǒng)中的 JS 開(kāi)發(fā)框架

瀏覽:183日期:2024-04-19 14:03:25

今天鴻蒙終于發(fā)布了,開(kāi)發(fā)者們也終于“沸騰”了。

源碼托管在國(guó)內(nèi)知名開(kāi)源平臺(tái)碼云上,https://gitee.com/openharmony

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

當(dāng)然我最感興趣的就是鴻蒙的 JS 框架 ace_lite_jsfwk,從名字中可以看出來(lái)這是一個(gè)非常輕量級(jí)的框架,官方介紹說(shuō)是“輕量級(jí) JS 核心開(kāi)發(fā)框架”。

當(dāng)我看完源碼后發(fā)現(xiàn)它確實(shí)輕。其核心代碼只有 5 個(gè) js 文件,大概也就 300-400 行代碼吧。(沒(méi)有單元測(cè)試)

runtime-coresrccoreindex.jsruntime-coresrcobserverobserver.jsruntime-coresrcobserversubject.jsruntime-coresrcobserverutils.jsruntime-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)。這個(gè)應(yīng)該是目前培訓(xùn)班的“三大自己實(shí)現(xiàn)”之一了吧。(自己實(shí)現(xiàn) Promise,自己實(shí)現(xiàn) vue,自己實(shí)現(xiàn) react)

鴻蒙系統(tǒng)中的 JS 開(kāi)發(fā)框架

utils 里面定義了一個(gè) Observer 棧,存放了觀察者。subject 定義了被觀察者。當(dāng)我們觀察某個(gè)對(duì)象時(shí),也就是劫持這個(gè)對(duì)象屬性的操作,還包括一些數(shù)組函數(shù),比如 push、pop 等。這個(gè)文件應(yīng)該是代碼最多的,160 行。observer 的代碼就更簡(jiǎn)單了,五六十行。

而當(dāng)我們開(kāi)發(fā)的時(shí)候,通過(guò) Toolkit 將開(kāi)發(fā)者編寫的 HML、CSS 和 JS 文件編譯打包成 JS Bundle,然后再將 JS Bundle 解析運(yùn)行成C++ native UI 的 View 組件進(jìn)行渲染。

“通過(guò)支持三方開(kāi)發(fā)者使用聲明式的 API 進(jìn)行應(yīng)用開(kāi)發(fā),以數(shù)據(jù)驅(qū)動(dòng)視圖變化,避免了大量的視圖操作,大大降低了應(yīng)用開(kāi)發(fā)難度,提升開(kāi)發(fā)者開(kāi)發(fā)體驗(yàn)”。基本上就是一個(gè)小程序式的開(kāi)發(fā)體驗(yàn)。

鴻蒙系統(tǒng)中的 JS 開(kāi)發(fā)框架

在 srccorebaseframework_min_js.h 文件中,這段編譯好的 js 被編譯到了 runtime 里面。編譯完的 js 文件不到 3K,確實(shí)夠輕量。

js runtime 沒(méi)有使用 V8,也沒(méi)有使用 jscore。而是選擇了 JerryScript。JerryScript 是用于物聯(lián)網(wǎng)的超輕量 JavaScript 引擎。它能夠在內(nèi)存少于 64 KB 的設(shè)備上執(zhí)行 ECMAScript 5.1 源代碼。這也是為什么在文檔中說(shuō)鴻蒙 JS 框架支持 ECMAScript 5.1 的原因。

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

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

整體而言,比我預(yù)想的要好一些。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: JavaScript
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区精品| 久久九九精品| 免费观看在线综合色| 亚洲网站视频| 亚洲天堂成人| 亚洲欧美一区在线| 婷婷六月综合| 免费观看在线综合色| 黄色av一区| 免费精品视频| 热久久久久久久| 日本亚洲三级在线| 日本精品国产| 久久av偷拍| 四虎8848精品成人免费网站| 久久电影tv| 1024精品一区二区三区| 午夜宅男久久久| 日本成人在线一区| 欧美激情综合| 久久久久国产精品一区三寸| av亚洲在线观看| 蜜桃视频一区二区三区在线观看| 蜜臀久久99精品久久久久久9| 亚洲精品日本| 欧美激情在线精品一区二区三区| 国产传媒在线| 一本一道久久a久久精品蜜桃| 在线看片一区| 麻豆久久一区| 久久亚洲在线| 亚洲精品乱码久久久久久蜜桃麻豆 | 日韩网站在线| 最新国产精品视频| 日韩av中文字幕一区二区三区| 牛牛精品成人免费视频| 九九精品调教| 水野朝阳av一区二区三区| 青青国产91久久久久久| 国产91在线精品| 91成人精品视频| 午夜在线一区| 久久精品二区亚洲w码| 久久伦理在线| 日韩和欧美的一区| 91一区二区| 玖玖玖国产精品| 久久中文字幕一区二区| 一本色道久久精品| 日本午夜精品一区二区三区电影| 国产一区二区三区日韩精品| 婷婷综合网站| 欧美韩一区二区| 好吊视频一区二区三区四区| 7777精品| 狠狠操综合网| 国产精品主播在线观看| 伊人久久大香线蕉av不卡| 日本不卡一区二区三区| 91看片一区| 日韩精品欧美大片| 久久久久免费av| 国产欧美日韩视频在线| 九一国产精品| 国产精品久久久久久久久久白浆 | 免费一二一二在线视频 | 午夜欧美理论片| 国产精品一区二区三区美女 | 日本va欧美va精品发布| 日韩精品午夜| 国产精品一区二区中文字幕| 欧美精品一线| 国产成人精品一区二区三区免费| 免费久久99精品国产| 日韩伦理一区| 欧美激情aⅴ一区二区三区| 手机精品视频在线观看| av在线最新| 欧美一区免费| 亚洲香蕉网站| 国产精品亚洲综合色区韩国| 久久亚洲二区| 在线日韩欧美| 成人精品动漫一区二区三区| 日韩精品成人| 视频一区中文字幕| 成人久久久久| 国产伊人久久| 久久狠狠亚洲综合| 黄色免费成人| 欧美精品资源| 国产在线日韩精品| 久久国内精品视频| 视频一区二区三区中文字幕| 精品视频在线一区二区在线| 日韩在线视频一区二区三区| 在线亚洲国产精品网站| 日韩不卡免费高清视频| 精品久久久久久久| 国产情侣一区| 亚洲精品乱码久久久久久蜜桃麻豆| 婷婷综合网站| 久久美女性网| 在线天堂资源www在线污| 国产日韩在线观看视频| 亚洲性视频在线| 亚洲一区二区毛片| 免费视频亚洲| 蜜臀久久99精品久久一区二区| 超级白嫩亚洲国产第一| 久久av综合| 国产美女久久| 奇米狠狠一区二区三区| 午夜精品福利影院| 免费看日韩精品| 亚洲免费婷婷| 日韩视频免费| 亚洲激情中文| 樱桃成人精品视频在线播放| 日韩av免费| 成人午夜国产| 亚洲韩日在线| 日韩视频一区| 日韩在线卡一卡二| 午夜一级在线看亚洲| 久久香蕉精品| 亚州精品视频| 欧美一区二区三区久久| 国产欧美三级| 老司机免费视频一区二区| 捆绑调教美女网站视频一区| 亚洲精选久久| 日韩激情网站| 国产精品久久久久久久久免费高清| 国产欧美高清| 久久精品欧洲| 欧美三级精品| 免费欧美一区| 水蜜桃久久夜色精品一区的特点| 久久99伊人| 男人的天堂久久精品| 亚洲精品婷婷| 欧美一区不卡| 欧美91在线|欧美| 精品一区二区三区中文字幕视频| 麻豆国产91在线播放| 日韩黄色大片网站| 激情久久婷婷| 免费在线欧美视频| 日韩1区2区3区| 国产成人在线中文字幕| 99久久亚洲精品| 亚洲欧美网站| 欧美一区二区三区久久| 国产不卡人人| 亚洲91视频| 麻豆国产91在线播放| 日韩精品电影| 久久亚洲风情| 美女在线视频一区| 99视频精品全国免费| 亚洲一区二区三区久久久| 欧美日韩调教| 特黄毛片在线观看| 欧美一区=区| 久久成人福利| 激情久久婷婷| 日本免费新一区视频| 精品国产精品久久一区免费式| 久久中文字幕二区| 日韩一区欧美二区| 精品视频99| 一区免费视频| 国产伦精品一区二区三区在线播放| 日韩理论片av| 亚洲专区视频| а√在线中文在线新版| 久久xxxx精品视频| 欧美激情视频一区二区三区免费| 在线日韩电影| 国产欧美啪啪| 蜜桃国内精品久久久久软件9| 日韩激情啪啪| 成人久久一区| 国产欧美亚洲一区| 久久久精品午夜少妇| 青草综合视频| 久久一级电影| 欧美激情五月| 石原莉奈在线亚洲二区| 精品入口麻豆88视频| 亚洲一级在线| 国产91在线播放精品| 亚洲精品综合| 久久久久久久久99精品大| 奇米777国产一区国产二区| 日本在线精品| 捆绑调教美女网站视频一区| 免费看精品久久片| 天堂资源在线亚洲|