【原创】帮我们的BOSS拿个关于开发跨平台移动APP的科学方案

blogdaren 2018-05-21 2评论 674人次

研究背景

随着业务线拓展,产品线的多样化,对于初次涉足移动应用的大中小企业来说,都会面临着一个APP开发的选型问题,关于这个问题网上讨论是沸沸扬扬,不过我觉得很多的评论有所偏颇,关键是缺乏理性的思考,一棒子打死某个技术解决方案。结合这个背景,以及作者在系统的了解和熟悉了相关移动开发技术通史以后,有了写此文的想法,不过想法也难免有所偏颇,欢迎一起讨论指导。
比如知乎贴:https://zhihu.com/.../39278015

研究目的

作者以时下具有代表性的两款移动开发框架MUI 和 React Native为例进行讨论。不过本文不过多的去讨论技术本身的事儿,重点讨论我们在开发APP时如何理性进行技术选型,通过列出两大框架各自的优缺点,旨在帮我们自己或我们的BOSS拿个科学的方案。

时刻牢记

任何不限定需求或场景的技术对比都是毫无意义的乱喷

MUI是啥?

MUI是国产公司DCloud基于H5+技术开源的的跨平台移动应用开发框架。
官网:http://www.dcloud.io/mui.html

React Native是啥?

React Native是国外公司Facebook基于React技术开源的跨平台移动应用开发框架,简称RN。
官网:https://facebook.github.io/react-native/

两款框架的特点

1. 支持平台:MUI基于H5,超广泛支持;RN目前仅支持主流Android和IOS,即将支持Windows平台。
2. 开发工具:MUI有官方的HBuilder IDE,RN可以使用Eclipse或者 Android Studio。
3. 调用能力:都具备使用js调用原生系统API的能力。
4. UI渲染层:各自宣传都是最接近原生体验。
5. 开发效率:MUI绝对胜出,除了专业IDE外,MUI将iOS、Android、Web等多个工程师组队才能完成的App,变为1个web工程师就搞定。
6. 性能表现:大型项目中,RN要胜出

7. 核心差异:MUI拥抱H5, 而H5依赖DOM,不过DCloud为其配备了5+强力渲染引擎;而RN则彻底抛弃了H5,引入了Virtual Dom。可以说RN和MUI在实现原理上是几乎完全不同的,尤其是UI渲染层

8. 调试打包:MUI胜出,尤其是真机调试,坑较少;RN则要一路填坑。

9. 开发API:RN胜出,官方社区活跃,文档完善,质量好;MUI文档更新比较缓慢,不够人性化。

10. 许可证:RN的开源许可证除了通用的BSD许可证之外,还有个Patent许可证,说实话这也不符合真正的开源精神,这引发了BAT封杀RN事件,说白了就是个法律上是否侵权的问题,个人认为大公司还是别考虑了RN了,中小公司无须顾虑。不过长远的看,似乎还是MUI胜出。

好消息是 --> 作者写本文时Facebook官方已经全面将授权许可修改为 MIT License

33.png

做到心中有数

1. 扯个闲的,IT巨头Facebook无疑很NB,但是也不要盲目的跟风,要知道扎克伯克当初力推H5,后来推进失败并彻底放弃了H5,另起炉灶搞出了RN,不过RN没有什么错,RN的技术理念是高于MUI的,简单的说性能更优越,更接近原生体验,然而RN的诞生某种意义上看也相当于是给开发者筑起了另一面高墙,我倒是希望这些组织能联合起来共推H5,毕竟开发者要的是开发低门槛、简单、高效以及未来的跨众多平台,而非较高门槛、较低开发效率、仅支持跨主流平台应用;同样的,国产新秀DCloud虽然远没Facebook那么出名,但是其在力推H5方面的精神是非常值得尊重的,带头发起了H5产业联盟,力推H5发展,而且其开源产品也算是很不错了,但是其作品也同样存在很多问题需要改进,比如官方API文档就遭吐槽许多。无谓的乱喷任何一款框架的不作为只会浪费时间和生命,而且有那功夫别人都已经上线产品服务用户或者赚钱了。
所以我们其实需要的更多是理性的思考,我们应该感谢他们帮我们带来了众多优秀开源产品以及技术服务,解决了问题,当然有能力贡献代码最好,github好去处。
2. 两款框架可以说都非常的优秀,各有优缺点,各有千秋,场景一旦限定,就不要过多纠结于使用哪款框架,因为两款框架都能相对高效的满足你限定场景的需求。
3. 调研下目前公司所能提供的最大技术成本支持。
4. 当然你应该是已经很了解自己所在的技术团队的技术岗工种分布权重。
5. 弄清楚我们要做什么样的APP? 网站打包成APP? 原生APP? 混合APP?
6. 弄清楚产品的需求、场景已经定位等等事宜。

最后帮BOSS拿个方案,仅供参考

如果团队前端有核心的主力JS工程师,优选RN。
如果团队追求高效、快速的迭代产品,优选MUI。
如果团队产品是游戏类产品,优选原生。
如果是网站打包APP,MUI自然是首选,其实DCloud官网还有系列作品比如wap2app肯尼更合适;
如果是原生APP,自然是分请Android工程师 和 IOS工程师 以及其他平台的工程师。
如果是混合APP,优选MUI。
如果是注重性能,优选RN。
如果成本以及资源受限,优选MUI。
........

结束语

MUI更专注于低成本的高效开发,RN则更专注于性能,其他的差不了多少,了解了MUI和RN的特长,更相信你已经有答案了。

版权声明:除非注明,本文由( blogdaren )原创,转载请保留文章出处。

本文链接:【原创】帮我们的BOSS拿个关于开发跨平台移动APP的科学方案

用户评论:

2018-05-24 12:19
金牛座 就是牛
ASDFJHALJSF
2018-05-30 13:16
@大神盘古哥:HHH是的

发表评论:

您的昵称:
电子邮件:
个人主页: