在现在的app开发市场,前有跨平台框架,后有小程序以及混合开发,原生开发好像越来越站不住脚了,上一篇文章,小编简单介绍了下现在主流的app开发语言以及跨平台的技术,今天我们一起来了解一下,原生开发app与webapp它们各自的优劣势。
移动市场的争夺
1、开发方面
原生App:
因为不同的操作系统,架构不同所以针对不同的操作系统需要各自开发。开发的成本以及维护成本较webapp要高一些,并且开发的速度也没有webapp来的快、上线的流程复杂且缓慢
Web App
因为运行在移动设备的浏览器上,所以只需要一个开发项目。开发成本低、开发速度快。
2、功能方面
原生App:
可调用移动终端的硬件设备(麦克风、摄像头、短信、GPS、蓝牙),可以灵活运用多媒体功能,可玩性更高,趣味性更大,实用性更高。
Web App:
类比 与电脑端的网页,更多的是页面展示类的APP。只能使用有限的移动硬件设备功能,较之于原生的App不论是趣玩性还是实用性都比不上前者。
3. 应用安装和版本控制方面
原生APP:
安装:应用商店|APP Store 下载,可以节约带宽成本、可以访问本地资源、缓存。
版本:用户自由选择是否更新版本。新旧版本均需维护,维护成本高。
Web App:
安装:通过移动设备上的浏览器访问,软件更新只需要更新服务器就好
版本:无需安装,节省移动终端的内存空间,所有用户同一个版本,版本更新速度方便,直接服务器更新数据即可,即时上线。
4. 加载速度方面
原生APP:
由“云服务器数据 应用客户端”构成,APP应有的所有UI元素、数据内容、逻辑框架均安装在移动终端上。访问时,只需要加载数据,应用页面框架无需下载,所以加载速度更快,页面响应更快。可线下使用,性能更好,用户的使用体验也比WebApp要好很多。
Web App:
打开一个页面,都需要重新加载页面的所有元素,访问速度受移动终端性能和网络环境的限制,导致加载速度慢,而且操作频繁容易卡死
混合App
优点: 兼容多平台、顺利访问移动设备功能、应用商店下载(web应用套用原生应用的外壳)
缺点:用户体验不如原生,性能稍慢。
Flutter
- 完善可以让 Flutter 可以运行在 Web 平台的 Hummingbird 项目;
- 继续尝试让 Flutter 运行在桌面级的平台之上(如 macOS 和 Windows)。
假如flutter支持web,windows,macOS,这简直无敌有没有。Flutter可能成为未来的前端解决方案
h5真的是一个非常非常非常之优秀的方案,但是性能始终不够,未来如果性能跟上来,其他解决方案肯定没什么事了。
未来肯定会出现一个方案去解决这个分裂的问题,让开发简化,只需要关心屏幕大小,分辨率。然后开发一套代码,遍地运行。
APP 总结
原生APP偏向于交互,注重用户体验;Web App偏向与浏览器简单的交互,用于信息展示。一些功能需要访问硬件,则使用原生APP,Web App现在最大的问题就是流畅度。
现在流行的方法是将原生APP与Web App进行融合,核心功能使用原生APP,内容展示等辅助简单功能使用Web App。便于更新、保证核心功能的交互体验。
我只是个Android实习生,如果大佬路过,请不吝赐教,关注我,每天学习一点新知识。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。