Webapp:这类框架主要原理就是将APP的一部分需要动态变动的内容通过H5来实现,通过原生的网页加载控件WebView (Android)或WKWebView(iOS)来加载(以后若无特殊说明,我们用WebView来统一指代android和iOS中的网页加载控件)。这样以来,H5部分是可以随时改变而不用发版,动态化需求能满足;同时,由于h5代码只需要一次开发,就能同时在Android和iOS两个平台运行,这也可以减小开发成本,也就是说,H5部分功能越多,开发成本就越小。如果一个应用的大多数功能都是H5实现的话,我们称其为**Web APP **。
目前混合开发框架的典型代表有:Cordova、Ionic 和微信小程序,值得一提的是微信小程序目前是在webview中渲染的,并非原生渲染,但将来有可能会采用原生渲染。
Webapp相对于其他移动端开发的优势:简单,省力,成本低,开发速度快,web技术栈、社区及资源丰富等。
但是缺点还是很明显的,例如性能不好,对于复杂用户界面或动画不能大规模调动,用户体验性差,消息推送不及时,调用本地文件系统难,不能调用手机硬件等。
其他的移动端开发还有以下几种:React Native(Facebook开源的一个JavaScript库)、HyBrid App(介于webapp和NativeApp之间的混合开发)、原生开发.....
不同app的区别当然,个人建议的话,如果不需要过多的画面渲染,或者App仅为显示数据,有自己的后台API直接联调,可以考虑Webapp。而对于需要大规模画面渲染,追求APP性能和界面等,不建议使用Webapp,可以选择其他的开发技术。
例如Google的Flutter UI框架,提供了便利的界面设计和良好的性能体验。
网友评论