1.原生(Native)与混合(hybrid)开发介绍
1.1 原生开发
定义: 原生开发是指使用移动设备平台(如iOS和Android)提供的官方开发工具和编程语言(如Swift或Objective-C用于iOS,Java或Kotlin用于Android)来构建应用程序。
1.2 混合开发
定义: 混合开发使用一种跨平台的框架和技术(如React Native、Flutter、Ionic等),通过编写一次代码,同时生成多个平台的应用。
1.3 对比:
优点 | 缺点 | |
---|---|---|
原生 |
|
|
混合 |
|
|
1.4 发展历程:
在移动互联网发展初期,业务场景并不复杂,原生开发还可以应对产品需求迭代。 但近几年,随着物联网时代到来、移动互联网高歌猛进,日新月异,在很多业务场景中,传统的纯原生开发已经不能满足日益增长的业务需求。主要表现在:
- 动态化内容需求增大;当需求发生变化时,纯原生应用需要通过版本升级来更新内容,但应用上架、审核是需要周期的,这对高速变化的互联网时代来说是很难接受的,所以,对应用动态化(不发版也可以更新应用内容)的需求就变的迫在眉睫。
- 业务需求变化快,开发成本变大;由于原生开发一般都要维护Android、iOS两个开发团队,版本迭代时,无论人力成本,还是测试成本都会变大。
总结一下,纯原生开发主要面临动态化和开发成本两个问题,而针对这两个问题,诞生了一些跨平台的动态化框架。