app能用h5开发吗

在移动应用开发中,我们会用到两种基本的技术开发模型——原生开发和Hybrid开发。其中,原生开发是指使用对应的编程语言进行开发(如iOS使用Objective-C或Swift,Android使用Java),并使用相应的SDK、API进行调用。 Hybrid开发是原生开发和web技术(html、css、js)的结合,开发出更为灵活的应用,实现app多平台、多浏览器的发布,它是一种折衷的方式,将Web技术嵌入到原生App中。

事实上,H5页面并不是真正意义上的App,H5页面可以通过浏览器进行浏览。而在本地打包后的Hybrid App,是在原生应用内基于webviews实现的H5页面呈现。

如何实现H5页面在App内显示?

1.Webview

首先,我们需要使用Native技术提供的webview,用于加载H5页面。Webview是Android、iOS的原生组件,将UIWebView、WKWebView和WebView组织在一起还可以实现iOS和Android跨平台的H5组件。

2.宿主环境

Hybrid App还需要提供宿主环境,包含本地文件存储、JS插件、网络通信、数据存储等,并为H5页面提供调用。因此Hybrid App中,宿主环境是实现App、Native和H5代码之间的交互的重要环节。

3.桥接技术

Hybrid App需要解决的问题之一就是跨平台(iOS、Android)的H5 JS调用Native Native的解决方法是提供多个Native接口供JS调用。而JS使用Native接口的解决方法是通过JS监听操作,将事件以JSON格式传递给Native层(利用postMessage)、JSON序列化(利用JSON.stringify)发送数据,【通过iframe的方式】调用Native接口。

4.Native API

Hybrid App的核心是Native API,是整个Hybrid App的基础和底层,Native API需要提供给H5页面。同时,Native API也可以调用H5页面中的JS方法,进一步增强了Hybrid App的功能。

总结

H5页面在App内呈现需要经过Webview、宿主环境、桥接技术、Native API等关键环节才能实现。整个Hybrid App的开发,其实就是这些基本原理的不断演化和优化。随着移动互联网标准的不断完善,Hybrid App的应用领域也在不断扩大,无论是App的效果和交互、拓展性和灵活性方面都越来越成熟。