开发HTML5页面要解决的主要问题之一,就是调用系统的能力,好比拍照/选图/保存图片到相册/录音/录制视频/定位等,而是否可以调用这些能力,在于其运行环境是否开放了这些权限,是否可以便捷地使用,取决于所提供的API。如果微信网页开发,微信提供了js-sdk, 以及weui样式库;那么如果原生APP提供的webview容器呢,或者直接在手机浏览器内运行呢,抑或直接打包成APP呢,是否也可以调用系统能力,而且用得优雅便捷?html
HTML5+是中国HTML5产业联盟的扩展规范,基于HTML5扩展了大量调用设备的能力,使得web语言能够想原生语言同样强大。
HTML5中国产业联盟:前端
HTML5中国产业联盟,是工信部下属单位,是为了更好的推动HTML5的商用、更好的为HTML5开发者服务而由产业链厂商共同组成的一个联盟。
附:html5
使用HTML5开发,而后使用HBuilder提供的云打包或本地打包将能够把5+ Runtime和开发者编写的HTML5页面 打包为原生App的安装包,包括Android的apk和iOS的ipa。发行到原生应用市场。
在你的原生应用中内嵌5+ SDK,替代手机默认的webview,不管 使用Hybrid开发模式,仍是 在原生App中构建web应用生态,都将能体验到更强大的内核动力。
HTML5+项目的开发工具,既是代码编辑器,也是基于H5+的APP打包工具。浏览器
HBuilder是完整支持HTML5+及JSDoc+规范的优秀开发工具,在HBuilder中能够有效提示HTML5+语法、JSDoc+提示,能够开发、调试、发布基于HTML5+的App。
HBuilder项目调试:微信
HBuilder 优势:app
缺点:框架
附:HBuilder介绍及下载编辑器
一个与HTML5+配套的样式框架工具
mui框架是一个基于HTML5+规范的开源前端UI框架,它利用了HTML5+扩展的原生能力,解决经常使用UI控件的性能及跨平台问题。使用mui框架,能够简单方便的开发出高性能的App,同时mui也能够自动适应没有HTML5+环境的普通浏览器,下降为普通web app,这使得开发者使用mui开发一次,能够同时发布为HTML5+的iOS、Android App,也可同时发布到手机浏览器里。
附:mui官方网站
安卓集成:
HTML5+ SDK集成:
- 独立应用集成方式:即Widget集成方式,开发者在集成后可在须要时启动HTML5+ SDK,显示指定目录下的5+ WebAPP
- 单页面集成方式:即Webview集成方式,用户可在须要时显示一个支持5+扩展API的Webview页面。使用单页面方式集成5+ SDK,在页面内不能调用plus.webview的API建立新的页面,其余5+API的使用不受影响。
IOS集成:
- 独立应用集成方式: 使用独立应用方式,开发者须要将HTML5+SDK生成的首页面设置为当前View的subView。HTML5+ SDK将对应用进行管理。
- Widget集成方式: 运行方式和独立运行方式相似,开发者在集成时可在须要的位置启动HTML5+ SDK,显示指定的HTML5+应用。
- Webview集成方式: 用户可在任何页面将HTML5+ SDK的页面以Webview的形式独立显示,显示的Webview页面。
widget集成方式与webview集成方式的步骤区别:
由此可知,widget集成方式须要将webApp代码导入到原生工程里,适合同一团队,不适合不一样公司间合做;
而webview方式,看起来公司间合做可以使用此方式
相关文档:
他人经验分享:
安卓/IOS中集成HTML5+SDK:runtime方式和widget方式:
http://ask.dcloud.net.cn/ques...
http://ask.dcloud.net.cn/arti...
HBuilder/5+Runtime/mui/wap2app/流应用
的介绍经过以上初步了解,下载HBuilder并建立HelloH5+ / HelloMUI
模板项目、移动APP项目、web项目进行调试,对于开头提出的问题,初步回答以下:
原生APP内嵌web应用:分别构建安卓和IOS的【H5+加强webview环境】,即【5+SDK集成后的环境】,在该环境中运行web应用或单个web页面,但使用widget集成方式,须要将web应用的代码放在原生APP的项目内,对于两者分属不一样团队来讲,这种方式不适应;如果直接经过连接在原生APP中访问web应用,看起来webview集成方式适用,其需求场景为: