日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

移动端框架选型

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 移动端框架选型 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

新項目要求重新選擇一個移動端框架,查了些資料做分析。

開發模式

當前app主流開發模式有

  • Native? App(原生)

  • Web App? (網頁)

  • Hybrid App(混合)

  • 這個圖說的還是很清楚的

    ?

    總結一下:

    混合開發靈活性好,兼容性強,功能更完備,所以當前項目考慮使用 混合開發模式。

    ?

    Hybrid App混合開發

    關于混合開發,下面幾篇文章說的還是比較清楚的。

    混合應用開發定義和常見問題:

    https://blog.csdn.net/bihansheng2010/article/details/100886979

    APP混合模式開發方案:

    https://www.jianshu.com/p/aeac270cb7d1

    目前主流的幾種開發App方式介紹?:

    https://www.jianshu.com/p/a7a77eb16a2a

    ?

    當前主流框架:(分析來源:APP混合模式開發方案(2018年))

  • ?PhoneGap(cordova)?(當前比較主流的H5框架)

  • AppCan(簡單,付費,相對較少)

  • APICloud?(官方號稱7天做出一個App,能實現功能,但是實際上組件比較少)

  • React Native(之前非常火,但是學習成本高,ios和android代碼并非通用)

  • AppMobi(聽說很厲害,但是國外項目,文檔少)

  • Flutter?(跨平臺ui框架,新語言dart,不支持熱更新)

  • ?

    對比分析

    經過討論,我們選擇其中的 Cordova、React Native、Flutter 作為備選

    對比分析:https://www.jianshu.com/p/900bf9cbd005

    Flutter和RN對比:https://www.jianshu.com/p/51c4f7f6e446

    ?總結

    框架名稱

    核心邏輯

    優勢

    劣勢

    Cordova

    Cordova通過對HTML、CSS、JS封裝為原生APP
    (h5技術)

    1、iOS和Android基本上可以共用代碼,一次編碼,到處運行
    2、純web思維,開發速度快, 簡單方便,所有UI組件都是有html模擬,可以統一 使用。
    3、可實現在線更新,允許動態加載web js
    4、文檔多,開發者多,遇到問題容易解決,技術成熟

    ?

    1、占用內存高一些,性能體驗上,和原生存在差距
    2、web技術無法解決一切問題,對于比較耗能的地方無法利用native的思維實現優勢互補,如高體驗的交互,動畫等。
    3、html解析依賴瀏覽器,存在兼容性問題

    React Native

    JavaScript運行業務代碼,JS Bridge調用平臺組件,原生控件進行渲染
    ?

    1、雖然不能做到一次編碼到處運行,但是基本上即使是兩套代碼, 也是相同的jsx語法, 使用js進行開發。
    2、更貼近于原生開發,用戶體驗高于html, 開發效率較高
    3、Flexbox布局據說比native的自適應布局更加簡單高效
    4、可實現在線更新(???)

    1、對開發人員要求較高,當官方封裝的 控件、API無法滿足需求時就必然需要懂一些native的東西去擴展,擴展性仍然遠遠不如web,也遠遠不如直接寫Native Code。
    2、多平臺需要些多套代碼。

    Flutter

    ?

    自己實現了一套UI框架, 直接在系統底層渲染系統上層UI

    1、高生產效率。一套代碼可以開發出Android和iOS應用;
    2、Dart語言使得同樣的功能只需要很少的代碼;
    3、迭代更加方便, hot reload功能;
    4、創建優雅的、高度可定制的用戶界面。Flutter內置了對Material Design和Cupertino(iOS-favor)的UI組件庫;提供了可定制 的UI組件,不再受制于OEM控件的限制;
    5、借助可移植的GPU加速的渲染引擎以及高性能本地ARM代碼運行 時以達到跨平臺的高質量用戶體驗。
    ?

    Flutter采用Dart語言開發,屬于小眾語言,需要一切都要重新 學習。

    Flutter現在還處在Beta階段,第三方庫很少。

    ?

    選擇誰?

    選框架需要先明確需求。比如:

    1、支持業務好,可靠穩定

    2、靈活,可擴展,快速響應,方便更新

    3、用戶體驗好。

    側重點不同,對框架的取舍也應該不同。

    老板說:我都要!

    ?

    我們項目最終選擇了Cordova。

    原因:

    1、cordova 支持熱更新,更靈活,便于及時響應需求,快速修復bug。(這是主要原因)

    2、項目成員都有H5開發經驗,并且有人用過Cordova的,沒有但是沒有人用過React Native 和 Flutter。(cordova 上手快,學習成本低)

    3、該項目是內部項目,對體驗要求相對低。(當前手機性能和網絡性能都比較好了,性能差距也沒那么明顯)

    ?

    ps:

    網上有這樣一種說法:

    公司主營項目最好用native實現核心功能,配合H5做擴展。保證穩定和用戶體驗。

    內部項目用新技術,之前的RN,現在Flutter。快速響應需求,積累新技術。

    我覺得還是一定有道理的。雖然最終沒有選這flutter,但是查資料過程中發現flutter的優勢還是比較多的。如果能實現在線熱更新,就完美了(不做熱更新是為了防止蘋果封殺?)

    總結

    以上是生活随笔為你收集整理的移动端框架选型的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。