内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

AWTKWEB版移植怎么實(shí)現(xiàn)

本篇內(nèi)容主要講解“AWTK WEB版移植怎么實(shí)現(xiàn)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“AWTK WEB版移植怎么實(shí)現(xiàn)”吧!

專注于為中小企業(yè)提供網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)五通橋免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了1000+企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過(guò)網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

一、WEB版本對(duì)AWTK意義

AWTK-WEB版本對(duì)AWTK是很重要的,主要原因有:

  • 讓用C語(yǔ)言開發(fā)的AWTK應(yīng)用程序,在不需要修改源碼的情況下,能在瀏覽器中運(yùn)行。這樣做的好主要在于,可以很方便的向客戶展示項(xiàng)目。你只需分享一個(gè)鏈接,客戶就可以在瀏覽器中打開,并看到實(shí)際的運(yùn)行效果,這是一種非常棒的體驗(yàn)。

  • 把AWTK編譯成一個(gè)JS庫(kù),你可以用JS開發(fā)AWTK應(yīng)用程序,并在瀏覽器中運(yùn)行。AWTK-JS讓AWTK支持用JS來(lái)開發(fā)AWTK應(yīng)用程序,并在嵌入式系統(tǒng)中運(yùn)行,但不能在瀏覽器中運(yùn)行。而AWTK-WEB則是讓AWTK支持用JS來(lái)開發(fā)AWTK應(yīng)用程序,并且能夠在瀏覽器中運(yùn)行,這打通了嵌入式和WEB之間的壁壘。

  • 開發(fā)各種小程序也是AWTK的目標(biāo)之一。而小程序無(wú)一例外都是用javascript開發(fā)的,WEB版本移植好了,支持小程序開發(fā)也就非常容易了,所以我們需要先邁過(guò)這個(gè)坎。

二、如何實(shí)現(xiàn)WEB版本的移植

要將用C語(yǔ)言開發(fā)的AWTK移植到WEB上,就得將C語(yǔ)言編譯成Javascript或者WebAssembly,emscripten為這個(gè)編譯提供切實(shí)可行的途徑,emscripten是一個(gè)偉大的工具,經(jīng)過(guò)不少大型項(xiàng)目的驗(yàn)證,已經(jīng)非常成熟了,可行性是沒有問題的。

但是可行和實(shí)際能否搞定是有差距的,寫個(gè)RTOS內(nèi)核是可行的,但是實(shí)際成功的并不多。能用和好用也是有差距的,甚至是成功與失敗的差別,GUI引擎很多,但是90%以上的都只能算是demo。AWTK的WEB不但要能用,而且要好用才行,所以整個(gè)移植過(guò)程就變得有趣了。

我把在移植過(guò)程遇到的問題,面臨的各種選擇做個(gè)筆記,以供有需要的朋友參考。

三、WEB版本的目標(biāo)及策略

簡(jiǎn)單粗暴的將AWTK編譯成WEB版本,中間遇到的問題和要做的工作可能少很多(當(dāng)然也許有些問題更難解決)。但那只能讓AWTK的WEB版本可用,離好用還有不小差距。為了讓AWTK WEB好用,在移植之初就定了以下目標(biāo):

1.體積要小。

WEB版本要從網(wǎng)上加載資源,體積大小關(guān)系A(chǔ)PP的加載時(shí)間,對(duì)用戶體驗(yàn)造成直接影響。為了減小JS的體積,我們做了如下選擇:

  • 不使用SDL作為移植層。使用SDL作為移植層,就得加入SDL、navavg、stbimage和stbfont等一大堆東西,這會(huì)讓代碼量加倍,而且字體只能使用APP自己的字體,資源體積就更沒法容忍了。

  • 缺省字體使用瀏覽器自帶的字體。字體文件很大,動(dòng)輒就是幾M甚至十幾M。缺省字體使用瀏覽器自帶的字體,可以大大降低資源的體積。而特殊字體通常很小,仍然采用APP自己的字體。

  • 圖片采用獨(dú)立資源。這樣可以減小顯示第一個(gè)界面前所加載的資源的大小,等到第一個(gè)界面出來(lái)之后,可以顯示加載資源的進(jìn)度,這樣大大增強(qiáng)用戶體驗(yàn)。

2.速度要快。

  • UI和Style數(shù)據(jù)采用二進(jìn)制常量,編譯到代碼中,以減少訪問網(wǎng)絡(luò)的次數(shù),這些數(shù)據(jù)不大,對(duì)代碼加載時(shí)間產(chǎn)生的影響可以忽略。

  • 圖片解碼使用瀏覽器本身的功能。這樣解碼速度會(huì)更快,也避免使用 stbimage解碼庫(kù),減小代碼體積。

  • 字體解碼使用瀏覽器本身的功能。這樣解碼速度會(huì)更快,也避免使用stbfont解碼庫(kù),減小代碼體積。

  • 窗口動(dòng)畫采用WebGL貼圖,可以提高窗口動(dòng)畫的效果。

  • 啟用臟矩形算法。不變不畫,有變只畫變的部分。

3.功耗與性能兼顧。

  • 窗口動(dòng)畫采用WebGL貼圖,正常繪制采用Canvas 2D接口。

4.最大化兼容性。

  • 少用或不用第三方庫(kù)。比如SDL有WEB版本的移植,但是移植到各種小程序可能就有問題,修改第三方的庫(kù)是非常麻煩的事情,后期維護(hù)和升級(jí)也是一個(gè)難題。

  • 隔離瀏覽器特定的功能。事件和輸入法,各個(gè)小程序處理方式不同,Canvas接口有小的差異,必須把它們隔離開來(lái)。

  • 保守的使用瀏覽器提供的功能,避免移植到其它平臺(tái)時(shí)遇到麻煩。

  • 自動(dòng)適配支持WebAssembly和不支持WebAssembly的平臺(tái)。WebAssembly很快很小,但是部分瀏覽器和小程序并不支持,必須自動(dòng)檢查,并加載不同的程序。

到此,相信大家對(duì)“AWTK WEB版移植怎么實(shí)現(xiàn)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)頁(yè)題目:AWTKWEB版移植怎么實(shí)現(xiàn)
當(dāng)前網(wǎng)址:http://www.rwnh.cn/article18/gjhpgp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、用戶體驗(yàn)商城網(wǎng)站、小程序開發(fā)、全網(wǎng)營(yíng)銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

小程序開發(fā)
汉中市| 长垣县| 甘孜县| 永新县| 堆龙德庆县| 平江县| 安仁县| 崇州市| 余庆县| 广汉市| 辛集市| 东丰县| 微博| 海盐县| 神农架林区| 依安县| 南昌市| 崇左市| 墨玉县| 芮城县| 吉木乃县| 芜湖市| 芦溪县| 云梦县| 甘孜县| 大埔县| 怀远县| 榕江县| 五原县| 陆良县| 丰台区| 防城港市| 新乐市| 青阳县| 中山市| 江阴市| 福鼎市| 吴堡县| 仁布县| 福清市| 温州市|