android中weex如何使用,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
站在用戶的角度思考問題,與客戶深入溝通,找到偃師網(wǎng)站設(shè)計(jì)與偃師網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站建設(shè)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、網(wǎng)站空間、企業(yè)郵箱。業(yè)務(wù)覆蓋偃師地區(qū)。
Weex 是什么
Weex is a extendable cross-platform solution for dynamic programming and publishing projects.
Weex是針對動(dòng)態(tài)編程和發(fā)布項(xiàng)目的一個(gè)可擴(kuò)展、跨平臺(tái)的解決方案。
這是來自Weex Document的介紹。這句話個(gè)人感覺還是非常有誘惑力的。為什么?擊中移動(dòng)端開發(fā)兩個(gè)痛點(diǎn)。
動(dòng)態(tài)編程+發(fā)布。Weex能做到隨時(shí)編程發(fā)布到服務(wù)端,應(yīng)用端即時(shí)更新。想想以前,應(yīng)用開發(fā)-測試-發(fā)布,多么繁瑣和耗時(shí)的一個(gè)流程,萬一線上出了bug,那真是痛不欲生,尤其時(shí)用戶量上百萬千萬的應(yīng)用,老板連殺你的心都有。但是有了Weex就不一樣了。修復(fù)bug,用戶都是無感知的(老板也是無感知的,哈哈哈)。
跨平臺(tái)。這是移動(dòng)端無數(shù)人向往的和為之努力的事。一處編寫,到處運(yùn)行。Weex支持Android,iOS,Web三大平臺(tái),一份代碼,三個(gè)平臺(tái)通用。等到有一天,Weex真的發(fā)展強(qiáng)大起來,公司成本估計(jì)可以節(jié)省不少。會(huì)不會(huì)一個(gè)Weex開發(fā)人員拿三份工資呢?(估計(jì)是我想太多????)
github地址:[https://github.com/alibaba/weex(https://github.com/alibaba/weex)
Meet weex
Install Weex Playground App to see examples we already written.
If you want to write a demo, install weex-toolkit in Node.js 4.0+ and
Run weex init to generate & start a simple project in an empty folder.
Follow the instructions in the project README.
Enjoy it.
安裝Playground.apk到手機(jī)端,如果你想寫一個(gè)demo,安裝weex-toolkit在Node.js 4.0+環(huán)境的基礎(chǔ)上,用weex生成并啟動(dòng)一個(gè)簡單的工程在一個(gè)文件夾中。詳情請查看README
For android
Prerequisites
Install Node.js 4.0+
Under project root
-- npm install, install project
-- ./startInstall Android Environment
Run playground, In Android Studio
Open android/playground
In app/java/com.alibaba.weex/IndexActivity, modify CURRENT_IP to your local IP
Click (Run button)Add an example
綜上所述,首先需要安裝node.js4.0+環(huán)境。然后安裝weex-toolkit工具生成.we文件,使用Playground.apk進(jìn)行掃一掃安裝到手機(jī)端進(jìn)行調(diào)試。
也可以使用weex-devtools(android)使用chrome瀏覽器進(jìn)行調(diào)試
官方中文版本環(huán)境搭建及demo運(yùn)行Weex快速上手教程(Weex Tutorial)
weex啟動(dòng)及界面渲染流程圖
初始化過程
初始化過程png
啟動(dòng)調(diào)用過程
啟動(dòng)調(diào)用過程.png
效果果然達(dá)到了write once,run everywhere!而且運(yùn)行效果可以與原聲媲美,并且virtual dom的加入更加優(yōu)化了性能問題,切對native擴(kuò)展等提供了很好的預(yù)留,目前可以采用組件形式與全頁形式進(jìn)行集成。
1. BaseApplication 初始化SDK 引擎WXSDKEngine.init(this, null, null, new ImageAdapter(), null);
WXSDKEngine初始化了三件事:
1、初始化so庫文件,渲染邏輯、腳本業(yè)務(wù)框架等都封裝在了這里;
2、初始化initScriptsFramework : 初始化腳本框架;
3、register 操作,初始化weex組件與module;private void renderWX() {
Rect outRect = new Rect();
getWindow().getDecorView().getWindowVisibleDisplayFrame(outRect);
if (instance != null) {
instance.destroy();
instance = null;
}
instance = new WXSDKInstance(this);
instance.registerRenderListener(this);
Map<String, Object> options = new HashMap<>();
options.put("bundleUrl", WEEX_INDEX_URL);
instance.renderByUrl(TAG, WEEX_INDEX_URL, options, null, ScreenUtil.getDisplayWidth(this),
ScreenUtil.getDisplayHeight(this), WXRenderStrategy.APPEND_ASYNC);
}
首先看這個(gè)方法,可以在activity oncreate中被調(diào)用,可以清楚的看到,注冊了渲染監(jiān)聽器,以及傳入了當(dāng)前屏幕的寬高及url,可以猜測weex的適配方案采用的是百分比方案。
2. WXSDKInstance
renderByUrl 方法內(nèi)調(diào)用了httpadapter進(jìn)行加載url,并且拼裝了user-agent header參數(shù);
3. DefaultWXHttpAdapter
網(wǎng)絡(luò)處理 其實(shí)就是一個(gè)封裝的簡單的網(wǎng)絡(luò)請求工具類,把請求下來的json數(shù)據(jù)回調(diào)給WXSDKInstance
4. WXSDKInstancerender 方法進(jìn)行view的創(chuàng)建初始化
5. WXSDKManagercreateInstance
1、將json數(shù)據(jù)與instanceId添加到renderManager中;
2、使用bridge橋接管理器進(jìn)行UI繪制;
6. WXBridge 作用: execJS 調(diào)用 so庫方法執(zhí)行JS腳本,進(jìn)行UI渲染;
最后提供與React Native的比較:
挺好的問題:
DSL 語法差異很大,可能 weex 更輕量一些,上手快一些;
Native 性能 weex 還是有一些優(yōu)勢的,包也更小。
看完上述內(nèi)容,你們掌握android中weex如何使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
文章名稱:android中weex如何使用
新聞來源:http://www.rwnh.cn/article14/jipige.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站營銷、移動(dòng)網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、自適應(yīng)網(wǎng)站、Google
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)