移动App开发模式
APP开发
浏览:757 次

1.本地App/本地App,可以理解为面向本地的,是一个本地化的App,包括UI,基于手机的本地操作系统(现在主流的Android和iOS),使用官方语言、环境、机制和工具编写和操作。[Android是kotlin,Java,iOS是Object-C,Swift]
主要优势还在于它的特性,即“一切来自官方”,这使它能够顺利访问底层资源以及软硬件兼容性。从应用商店下载、安装并本地化,然后单击“运行”。您可以获得的是流畅的用户交互体验和最佳的App性能。
缺点是开发困难,对专业人员的要求很高,而且耗时且昂贵。几个主流操作系统需要重复开发、迭代和维护几个具有相同逻辑和功能的原生App;只要函数或页面发生变化,您就需要在应用商店中重新发布App。
2.WebApp,可以理解为面向Web或面向H5,是一种基于Web技术开发的App,用于实现特定功能。它在Web+标准浏览器上运行,必须由移动浏览器支持。用户无需下载和安装即可访问它。当一个纯webApp包和一个本地shell在App商店中发布时,很可能会丢失。

优点:跨平台,一套代码可以同时在Android和IOS上运行,开发成本低,周期短,维护和更新简单,用户无需手动更新;它适用于交互式功能少、存在感弱的内容和信息的页面显示和浏览。纯网络App的广度有限。
不充分、对网络的依赖性强、性能和用户体验受到很大限制、无法集成设备的底层核心功能、浏览器兼容性和处理能力限制,关键是用户粘性差。
3.混合应用,介于上述两种模式之间的半原生和半web混合应用,结合了“原生应用的良好用户交互体验”和“web应用的跨平台开发”的优势。现在很多app都是以这种模式开发的,比如微信、淘宝、美团等知名手机应用。
基本操作机制是通过系统web视图加载/呈现H5页面作为容器,并通过JSBridge实现本机和JavaScript之间的双向通信[JSBridge是JavaScript和本机之间的桥梁,提供了相互调用的能力]。

总的来说,混合App的功能更接近原生App。在实施过程中有两种常见的解决方案:
(1) 在服务器上部署Web资源
将所有Web资源放在服务器上。该方案访问成本低,可以实现该部分的热更新。它非常适合一些功能较弱的页面。缺点是由于完全依赖网络,无法脱机打开页面。
(2) 本地化web资源的存储

将Web资源封装到App并直接解压缩到本地存储。优点是速度得到了一定程度的提升,用户体验得到了提升,可以进行离线操作。缺点是安装包变得更大,无法热更新,并且开发过程和更新机制更复杂。
无论解决方案如何,都要注意平衡丰富交互的资源消耗和用户体验、跨平台开发过程中系统和版本的兼容性以及同一平台上混合App和原生平台的一致性。