發(fā)表日期:2018-12 文章編輯:小燈 瀏覽次數(shù):3110
React Native Github
React Native文檔
文檔完善,上手體驗快
社區(qū)活躍,坑基本都被踩過
需要了解 react-native reactJs redux iOS Android JSX
react-native可以實現(xiàn)從零開始開發(fā)一個跨平臺的app
安裝配置很多依賴的工具,相對比較麻煩
BSD + 專利許可證 (百度要求內(nèi)部全面停止使用 React / React Native 國內(nèi)大廠正在逐步替換, 創(chuàng)業(yè)公司無影響)
Airbnb在宣布放棄后,F(xiàn)acebook 正在重構(gòu) React Native
Weex Github
Weex文檔
簡介:Weex 是一套簡單易用的跨平臺開發(fā)方案,能以 web 的開發(fā)體驗構(gòu)建高性能、可擴(kuò)展的 native 應(yīng)用,為了做到這些,Weex 與 Vue 合作,使用 Vue 作為上層框架,并遵循 W3C 標(biāo)準(zhǔn)實現(xiàn)了統(tǒng)一的 JSEngine 和 DOM API,這樣一來,你甚至可以使用其他框架驅(qū)動 Weex,打造三端一致的 native 應(yīng)用。
2016年6月開源。
在 weex 中,主要包括三大部分:JS Bridge、Render、Dom,分別對應(yīng)WXBridgeManager、WXRenderManager、WXDomManager,三部分通過WXSDKManager統(tǒng)一管理。
JS Bridge 主要用來和 JS 端實現(xiàn)進(jìn)行雙向通信,比如把 JS 端的 dom 結(jié)構(gòu)傳遞給 Dom 線程。Dom 主要是用于負(fù)責(zé) dom 的解析、映射、添加等等的操作,最后通知UI線程更新。而 Render 負(fù)責(zé)在UI線程中對 dom 實現(xiàn)渲染。
weex 所有的標(biāo)簽也不是真實控件,JS 代碼中所生成存的 dom,最后都是由 Native 端解析,再得到對應(yīng)的Native控件渲染。
Vuex就是單頁面管理數(shù)據(jù)的框架。
Vue-Router單頁面下,指定跳到某個頁面的管理工具,路由。
weex-ui官方封裝庫
navigator實現(xiàn)頁面跳轉(zhuǎn),使用router跳轉(zhuǎn)效果很差(像web一樣,跳轉(zhuǎn)動畫需要自己寫)
stream網(wǎng)絡(luò)模塊
weex傳值weex 放到url query里 storage全局變量
自定義module weex傳值native 交互傳遞
weex組件少
打包:weex 是通過 webpack 打包出 bundle 文件的。bundle 文件的打包和 entry.js 文件的配置數(shù)量有關(guān),weex 項目的 webpack.common.conf.js 中打包也是區(qū)分了 webConfig 和 weexConfig 的不同打包方式。weexEntry 就是 weex 打包配置的地方,默認(rèn)有 index 和 entry.js 存在了。如果有需要,可配置上你需要的打包頁面
按照weex官方提供的文檔在Mac下直接搭建開發(fā)環(huán)境很難一次點亮
文檔不友好,很多細(xì)節(jié)沒有介紹,直接下載官方案例可以跑起來
需要了解 weex vue iOS Android
weex構(gòu)建一個新的跨平臺應(yīng)用,大面積使用了vue的語法,開發(fā)起來簡單
weex主要面向的是web前端開發(fā)者
weex可以實現(xiàn)從零開始開發(fā)一個跨平臺的app也可以集成到現(xiàn)有的app
踩坑:
1.路由掛載
不支持router-link 僅支持事件觸發(fā)
創(chuàng)建router.js 在一個router.js文件中配置所有組件模塊
2.屬性支持 支持不完全
3.build
webpack兩個配置weex-loader vue-router
在weexEntry配置所有的文件
Vue
Vue 2.x 在 Weex 和 Web 中的差異
iOS開發(fā)者的Weex偽最佳實踐指北Weex項目實戰(zhàn)及踩坑記錄
超級全的Weex大集合
weex&ReactNative對比
Flutter Github
Flutter文檔
簡介:Flutter是谷歌出品的移動應(yīng)用SDK,2017年5月發(fā)布 第一個版本,它可以制作高質(zhì)量的具有原生體驗的跨Android和iOS平臺的應(yīng)用。也可以基于原有代碼進(jìn)行開發(fā),世界各地廣受歡迎,開源且免費。
Fuchsia:谷歌全新的操作系統(tǒng),F(xiàn)lutter是Fuchsia操作系統(tǒng)構(gòu)建UI的SDK
Skia:C++開發(fā)的2d圖像繪制引擎,F(xiàn)lutter的底層2D圖像引擎,不同于React Native,Weex之類通過建立JSBridge/JSCore來橋接iOS/Android的原生控件,而是做的比較徹底,直接基于全新的2d圖像引擎Skia來繪制圖像!
Dart:Flutter的開發(fā)語言,是一種強(qiáng)類型、跨平臺的客戶端開發(fā)語言, 2011年10啟動,最新發(fā)布的Dart2.1
與Weex對比
1.JSBridge方案
JSBridge建立了JS和原生控件的雙向通信,就是橋接作用。JS寫一套代碼,引擎底層自動根據(jù)平臺(如iOS、Android)來橋接原生控件渲染。具體步驟概括下面兩步:
渲染工作交還給了系統(tǒng),雖然同樣使用類HTML+JS的UI構(gòu)建邏輯,但是最終會生成對應(yīng)的自定義原生控件,以充分利用原生控件相對于WebView的較高的繪制效率。與此同時這種策略也將框架本身和App開發(fā)者綁在了系統(tǒng)的控件系統(tǒng)上,不僅框架本身需要處理大量平臺相關(guān)的邏輯,隨著系統(tǒng)版本變化和API的變化,開發(fā)者可能也需要處理不同平臺的差異,甚至有些特性只能在部分平臺上實現(xiàn),這樣框架的跨平臺特性就會大打折扣。
不支持熱重載 不能直連真機(jī)調(diào)試 (可以下載playground查看效果)
支持熱更新
更適合單頁面/簡單/少底層交互/熱更新需求的頁面的需求快速開發(fā)
摒棄JSBridge,F(xiàn)lutter是直接編譯成本地代碼,用Skia渲染展示,如同原生的渲染邏輯一樣,無需橋接
實現(xiàn)120fps的渲染性能,運行效率極高
Hot Reload 熱重載 直連真機(jī)重載調(diào)試 JSBridge需build打包
不支持熱更新Hot Fix
iOS Android Web ReactNative
Flutter 部分的底層功能在 Android 系統(tǒng)上已經(jīng)有實現(xiàn),因此 Android 上適配要好(Android包要比iOS小很多)
從頭到尾重寫一套跨平臺的UI框架,包括UI控件、渲染邏輯甚至開發(fā)語言。渲染依靠跨平臺的Skia實現(xiàn),依賴系統(tǒng)的只有圖形繪制相關(guān)的接口,可以在最大程度上保證不同平臺、不同設(shè)備的體驗一致性,邏輯處理使用支持AOT的Dart語言,執(zhí)行效率也比JavaScript高得多。
更適合開發(fā)整體App
Dart
優(yōu)勢
基本概念
代碼實例: class CounterState extends State<Counter> { int counter = 0;void increment() { // 告訴Flutter state已經(jīng)改變, Flutter會調(diào)用build(),更新顯示 setState(() { counter++; }); }Widget build(BuildContext context) { // 當(dāng) setState 被調(diào)用時,這個方法都會重新執(zhí)行. // Flutter 對此方法做了優(yōu)化,使重新執(zhí)行變的很快 // 所以你可以重新構(gòu)建任何需要更新的東西,而無需分別去修改各個widget return new Row( children: <Widget>[ new RaisedButton( onPressed: increment, child: new Text('Increment'), ), new Text('Count: $counter'), ], ); } }
日期:2018-10 瀏覽次數(shù):7550
日期:2018-12 瀏覽次數(shù):4636
日期:2018-07 瀏覽次數(shù):5146
日期:2018-12 瀏覽次數(shù):4425
日期:2018-09 瀏覽次數(shù):5788
日期:2018-12 瀏覽次數(shù):10206
日期:2018-11 瀏覽次數(shù):5118
日期:2018-07 瀏覽次數(shù):4866
日期:2018-05 瀏覽次數(shù):5123
日期:2018-12 瀏覽次數(shù):4595
日期:2018-10 瀏覽次數(shù):5402
日期:2018-12 瀏覽次數(shù):6469
日期:2018-11 瀏覽次數(shù):4723
日期:2018-08 瀏覽次數(shù):4876
日期:2018-11 瀏覽次數(shù):12997
日期:2018-09 瀏覽次數(shù):5890
日期:2018-12 瀏覽次數(shù):5105
日期:2018-10 瀏覽次數(shù):4452
日期:2018-11 瀏覽次數(shù):4804
日期:2018-12 瀏覽次數(shù):6329
日期:2018-06 瀏覽次數(shù):4272
日期:2018-08 瀏覽次數(shù):5718
日期:2018-10 瀏覽次數(shù):4709
日期:2018-12 瀏覽次數(shù):4827
日期:2018-07 瀏覽次數(shù):4638
日期:2018-12 瀏覽次數(shù):4812
日期:2018-06 瀏覽次數(shù):4643
日期:2018-11 瀏覽次數(shù):4628
日期:2018-12 瀏覽次數(shù):4562
日期:2018-12 瀏覽次數(shù):5539
Copyright ? 2013-2018 Tadeng NetWork Technology Co., LTD. All Rights Reserved.