三款主流移动应用开发神器大对|Flutter、React Native、Uni-app

来客电商

Flutter

Flutter 是 Google 开源的 UI 工具包,帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台。Flutter 开源、免费,拥有宽松的开源协议,适合商业项目

React Native

React Native(简称RN)是Facebook于2015年4月开源的跨平台移动应用开发框架,是Facebook早先开源的JS框架 React 在原生移动应用平台的衍生产物,支持iOS和安卓两大平台。RN使用Javascript语言,类似于HTML的JSX,以及CSS来开发移动应用,因此熟悉Web前端开发的技术人员只需很少的学习就可以进入移动应用开发领域。

uni-app

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。

技术学习成本和难度

  • RN, 要求开发者学习React,要求精通Flex布局,要求原生开发协作。
  • Flutter,要求开发者学习Dart,了解Dart和Flutter的API、要求精通Flex布局,要求原生开发协作。
  • Weex,已经内嵌到uni-app中,就不单独提了。
  • uni-app,要求开发者学习Vue,了解小程序。

很明显uni-app的学习成本太低了,它没有附加专有技术,全部使用公共技术。

学习成本和难度,直接意味着:开发成本、招聘成本、上线速度、上线风险

另外,Dart究竟值不值得学,是一个大问题。

Google的天才工程师也发明了Go语言,它确实有很多理论优势,但实际上市场的主流,仍然是C和C++。

Flutter VS Uni-app

Flutter的相对优势:性能好一丢丢。比RN有优势,但比拥有Bindingx的Weex/uni-app,在实际开发中没有很明显的差距。

Flutter的相对劣势:

  • 需要原生协作,维护3套代码,无法有效降低开发成本,提升开发效率
  • 嵌套地狱,代码难看难维护
  • 不支持热更新
  • 目前质量和成熟度很低,Github上的issue有5k+,很容易掉坑里
  • 原生可视控件融合不好,比如webview、video、map
  • UI库不适合国情
  • 学习成本高
  • Dart未来扑朔迷离

RN VS Uni-app

RN的相对优势

  • RN的坑虽然比Weex的少,但uni-app已经填了Weex的很多坑。这方面差别不大。
  • RN的生态虽然比Weex丰富。但uni-app是反过来的,uni-app的国内应用生态丰富度超过了RN。
  • RN的app冷启动比uni-app快。这个问题uni-app已经内部改进完毕,下个版本发布就能解决。
  • RN是纯单页的,嵌入原生App比较灵活。而uni-app是应用整体的概念,如果要内嵌入其他原生应用的话,要求原生应用内嵌uni-app应用整体进来。

RN的相对劣势:

  • 需要原生协作,维护3套代码,无法有效降低开发成本,提升开发效率。
  • 不支持小程序,发布到H5也无法直接发。
  • UI库不适合国情,learn once,write anywhere。
  • 学习成本高,用人成本高,不利于开发商降低开发成本。
  • RN是纯单页应用,如果一个应用的页面很多,用RN写会很崩溃,变量污染和干扰严重。而Weex/uni-
  • app支持多页面,页面之间上下文隔离,写页面较多的大型应用更合适。
  • 另外React在中国的市场占有率远不如Vue。这也是中国与国外不同的特色情况。

<来客推(www.laiketui.com)是国内知名商城系统及商城网站建设提供商,为企业级商家提供零售商城、B2B2C多用户商城系统、社区团购商城系统、微信分销系统、小程序商城、多用户商城源码等多端商城网站建设解决方案>

申明:本网站部分文章和图片来源网络编辑,如有侵权及时沟通删除,来客电商原创文章,转载请注明来源。

相关新闻

QR code