HTML5 plus初步了解

问题

开发HTML5页面要解决的主要问题之一,就是调用系统的能力,好比拍照/选图/保存图片到相册/录音/录制视频/定位等,而是否可以调用这些能力,在于其运行环境是否开放了这些权限,是否可以便捷地使用,取决于所提供的API。如果微信网页开发,微信提供了js-sdk, 以及weui样式库;那么如果原生APP提供的webview容器呢,或者直接在手机浏览器内运行呢,抑或直接打包成APP呢,是否也可以调用系统能力,而且用得优雅便捷?html

HTML5 plus是什么

HTML5+是中国HTML5产业联盟的扩展规范,基于HTML5扩展了大量调用设备的能力,使得web语言能够想原生语言同样强大。

HTML5中国产业联盟:前端

HTML5中国产业联盟,是工信部下属单位,是为了更好的推动HTML5的商用、更好的为HTML5开发者服务而由产业链厂商共同组成的一个联盟。

附:html5

HTML5+运行环境

Runtime版 – for App(运行环境与项目代码打包为原生APP)

使用HTML5开发,而后使用HBuilder提供的云打包或本地打包将能够把5+ Runtime和开发者编写的HTML5页面 打包为原生App的安装包,包括Android的apk和iOS的ipa。发行到原生应用市场。

SDK版 – for Hybrid(原生APP中构建H5+运行环境)

在你的原生应用中内嵌5+ SDK,替代手机默认的webview,不管 使用Hybrid开发模式,仍是 在原生App中构建web应用生态,都将能体验到更强大的内核动力。

附:HTML5+运行环境 5+Runtime官网介绍web

配套工具

HBuilder

HTML5+项目的开发工具,既是代码编辑器,也是基于H5+的APP打包工具。浏览器

HBuilder是完整支持HTML5+及JSDoc+规范的优秀开发工具,在HBuilder中能够有效提示HTML5+语法、JSDoc+提示,能够开发、调试、发布基于HTML5+的App。

HBuilder项目调试:微信

  • 下载HBuilder;
  • 使用邮箱注册HBuilder帐号;
  • 新建项目:分移动App,web项目和Wap2App;
  • 已测试运行HelloH5和HelloMui项目,手机功能需真机调试,真机调试需USB链接手机,开启调试模式,可边在手机操做边查看电脑控制台输出;
  • 只有移动App类型的项目才能启用真机调试,web类型的项目不能
  • 移动App类型的项目在真机运行,除了经过USB链接的方式,也能够经过同一局域网访问,但页面内原生的tab没法显示;
  • web类型项目一样能够经过同一局域网在真机/电脑浏览器访问,进行开发调试;但需调用手机系统能力的功能无效;

HBuilder 优势:app

  • 性能体验挺不错的;
  • 支持多种系统能力调用;
  • 配套的Mui框架挺好看的,组件挺齐全;

缺点:框架

  • 官方文档写得阅读体验比较差;

附:HBuilder介绍及下载编辑器

MUI框架

一个与HTML5+配套的样式框架工具

mui框架是一个基于HTML5+规范的开源前端UI框架,它利用了HTML5+扩展的原生能力,解决经常使用UI控件的性能及跨平台问题。

使用mui框架,能够简单方便的开发出高性能的App,同时mui也能够自动适应没有HTML5+环境的普通浏览器,下降为普通web app,这使得开发者使用mui开发一次,能够同时发布为HTML5+的iOS、Android App,也可同时发布到手机浏览器里。

附:mui官方网站

安卓/IOS中集成HTML5+SDK

安卓集成:

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集成方式:将5+SDK导入现有原生工程 -> 将WebApp导入现有原生工程 -> 5+SDK集成代码编写
  • 安卓-webview集成方式:将5+SDK导入现有原生工程 -> 5+SDK集成代码编写

由此可知,widget集成方式须要将webApp代码导入到原生工程里,适合同一团队,不适合不一样公司间合做;
而webview方式,看起来公司间合做可以使用此方式

相关文档:

他人经验分享:
安卓/IOS中集成HTML5+SDK:runtime方式和widget方式:
http://ask.dcloud.net.cn/ques...
http://ask.dcloud.net.cn/arti...

HTML5+与DCloud等的关系

  • HTML5中国产业联盟,是工信部下属单位,建于2013年
  • 工信部信通院标准所是联盟的管理单位,W3C中国是联盟指导单位, DCloud是联盟秘书单位。
  • DCloud 是W3C会员、中国HTML5产业联盟发起单位,致力于推动HTML5发展,构建HTML5生态。
  • HBuilder / 5+Runtime / MUI / wap2app / 流应用是DCloud开发的产品
  • HTML5+规范是HTML5中国产业联盟的拓展规范,需5+Runtime支持运行

文档指引

小结

经过以上初步了解,下载HBuilder并建立HelloH5+ / HelloMUI模板项目、移动APP项目、web项目进行调试,对于开头提出的问题,初步回答以下:

  • 使用web开发方式开发APP,可经过HBuilder创建【移动App项目】开发后,将H5+环境和项目代码一块儿打包为原生APP,打包方式分【离线打包】和【云打包】;
  • 如果【web项目】,也能够打包为APP,但开发时其不能真机调试,其使用体验也比不上【移动App项目】打包的;
  • 原生APP内嵌web应用:分别构建安卓和IOS的【H5+加强webview环境】,即【5+SDK集成后的环境】,在该环境中运行web应用或单个web页面,但使用widget集成方式,须要将web应用的代码放在原生APP的项目内,对于两者分属不一样团队来讲,这种方式不适应;如果直接经过连接在原生APP中访问web应用,看起来webview集成方式适用,其需求场景为:

    • 原生APP中经过url访问一个Html5+应用;
    • 原生APP代码和H5+项目代码不放在一块儿,分别由不一样公司的团队维护;
    • Html5应用中需使用camera/gallery/audio/device等HTML5+ API
  • 手机浏览器访问:暂时没有看到可行方案
相关文章
相关标签/搜索