移动端开发选型

最近在做一个练手小项目,使用的框架是react native,以下就来谈谈我们小组在选型之初的一些调研。
首先,没有选择原生开发是因为时间成本有限,开发成本高,很可能在短期内不会又很深的技术沉淀,只能"照猫画虎"做个表壳出来。所以我们考虑选择跨平台开发框架。

我整理了一下目前市面上相对来说比较主流的的移动端开发方案:
在这里插入图片描述
可以看到主要有五种形式:

  1. web app (html5 + js)
  2. hybrid App (原生开发+web)
  3. 语言编辑转换
  4. 原生渲染(RN, Weex, 快应用)
  5. 自绘UI(Flutter)。

具体这五种形式有什么区别可以参考这篇文章看看详细的解说

考虑到开发成本以及对以上五种移动端开发模式的利弊分析,我们在初期考虑在RN与Flutter之间选择。

以下是我在项目初期对RN和flutter各自特性进行的优劣对比:
在这里插入图片描述
当时出于对热更新以及生态,框架成熟度的考虑,选用了react native。其中还有一个缘由是因为这篇文章:Why you should keep faith with React Native?,感兴趣的同学可以看看。

在费时1个月以后,我们用react native实现的简易小项目也初步成型,当然在这过程中也不可避免的遇到了上述提到的坑,比如:

  1. 组件渲染在ios端和android不一致
  2. 手机权限(例如:相册,相机等)问题在ios在android写法不一致,要写很多hard code,对于开发者来说特别不友好。
  3. 编译速度慢(没有对比flutter,不知道使用flutter,不知道使用flutter是否会有很大的提升)
  4. ……

所以使用rn的时候真的是要特别注意跨平台兼容的问题。

猜你喜欢

转载自blog.csdn.net/xieamy/article/details/108006287