移动App的实现有两种形态,一种是通过Web的方式实现,也就是在App内部通过加载Web网页的方式实现产品功能;另一种是Native或者叫原生的方式实现,这种方式是使用移动平台原生的控件开发而成。
例如,iOS系统中的列表使用UITableView开发。这两种实现方式是两种策略选择,使用的技术也各不相同。我们先看Web App,这种实现方式是使用网页开发技术,也就是我们所说的H5应用,这种方式实现的产品有一个很大的好处就是可以跨平台运行,不管是在Android还是iOS手机上,只要有浏览器就可以运行产品。
产品是以网页的方式实现,就像我们访问一个网站一样,而且网页实现通常都是动态布局的,不需要对手机进行特别的适配,相对于Native实现的方式,成本要低很多。而开发Native App,就是指基于各家的技术平台开发原生App。例如,基于谷歌的Android平台开发的是Android App,只能运行在Android设备上,基于苹果的iOS平台开发的是iOS App,只能运行与iPhone或者iPad设备上。同一个产品需要开发一个Android版本和一个iOS版本,使用不同的实现技术,必须安装App后才可使用。使用Native App的好处是能保证比较好的用户体验,通过Native实现的顺畅度和使用感受要好于Web的实现方式。
现在有很多产品是使用Web和Native混合实现的方式,混合实现是指在一个原生APP产品中嵌套一部分Web实现。例如在微信里,聊天和朋友圈的功能模块是通过Native的方式实现的,但微信红包和一些附属功能是通过Web方式实现的,选择通过Web实现还是Native实现得根据产品模块的具体情况。
对于一些用户使用频率高而且对体验要求高的产品模块,使用Native方式实现能保证用户体验,对于一些使用频率不那么高,而且内容变化比较频繁的产品模块,选用Web实现可以保证灵活度,因为修改Web的内容只需要在服务端进行网页修改就行,不需要重新更新发布App,但是如果要修改Native的功能就得重新更新发布App,更新成本较高。还有之前提到的开发成本,开发Web App只需要Web开发人员就能完成,而且对适配的要求不像Native App要求得那么高。另外,可以实现跨平台运用。随着技术的发展,未来Web技术会成为主流,原本的劣势可以通过技术发展得到弥补。