原生APP开发-优缺点对比调研

2020-09-02  本文已影响0人  Alazyz

一、 目前主流的开发模式

1、原生开发(Native)

2、混合开发(Hybrid)

3、WebAPP(HTML5)

4、React Native

5、Weex(阿里巴巴开发的,目前淘宝在使用)

6、Flutter等

二、方案描述

1. 原生开发

Native app开发即是我们所称的原生app开发,它的开发特点是开发者通过编写代码将每个页面、功能、效果、逻辑、步骤全部搭建起来,一层层,一段段形成完整的app。此类app的数据都保存在本地,app能及时调取,所以相应速度及流畅性有保障。

2. 混合开发

其实Hybrid app(混合模式移动应用)是指介于web-app、native-app这两者之间的app,兼具“Native app良好用户交互体验的优势”和“Web app跨平台开发的优势”。

*具体分析
*代码重用率
Android和iOS是两套代码,原生代码编写的部分不能复用,H5代码编写的部分可重用。
* 第三方SDK支持情况
* 选择范围广,基本都持续更新。
* 兼容性
* 兼容性非常好,基本和原生差不多,H5代码编写的兼容性有少部分代码需要单独处理。
* 性能
* H5编写的代码加载缓慢,对网络要求高。
* 学习成本
* 开发的学习成本高,需要深入了解不同平台的特性,Android和iOS需要使用不同的编程语言开发。
* 市场人力储备
* 市场人力储备非常充足。
* 社区活跃度
* 对应的社区多,涉及面广,活跃度高。
* 框架市场占比
* 框架对最新操作系统的支持情况(框架最新支持的迭代速度)
* 开发框架基本都是持续更新的,即使某些框架不满足需求,也可以及时的找到替代,不会影响开发工作。

3. WebAPP(HTML5)

HTML5应用开发,是利用Web技术进行的App开发。Web技术本身需要浏览器的支持才能进行展示和用户交互,因此主要用到的技术是HTML5、JavaScript、CSS等。

4. React Native

5. Weex

6. Flutter

Dart语言是新语言,学习成本也较高。

三、 总结

* React Native、Flutter主要的坑就在于需要**非常了解原生的环境**,其实跨平台的框架都是如此,想要通过跨平台的API就拿下双端的开发任务,对认真学习的原生开发者来说也是不公平的。
* 不管Weex、RN还是Flutter,都无法做到完全的一套代码维护两端产品,之后基本上还是iOS,安卓,和对应框架三套代码同时维护。Flutter更符合趋势一些。
* weex目前bug比RN还多,社区也不如RN和Flutter,所以暂时不做讨。
* 相比之下RN和Flutter差不多,RN优势在于市场活跃度高于Flutter,但是致命问题受到Facebook对应协议的约束。
* Flutter在2017年投放市场,虽然到现在才3年,但是有Google公司做后盾,相信发展会越来越好。
上一篇 下一篇

猜你喜欢

热点阅读