
就是传统意义上的 HTML5。目前最新的 HTML 规范,互联网的下一代标准,W3C 联盟制定,手机端主要由 webkit 实现规范,对用户来说就是浏览器实现了它。
通过 HTML5 开发移动 App 时,会发现 HTML5 很多能力不具备。为弥补 HTML5 能力的不足,在 W3C 中国的指导下成立了中国HTML5+产业联盟,推出 HTML5+ 规范。
HTML5+ 扩展了 JS 对象 plus,使得 JS 可以调用各种浏览器无法实现或实现不佳的系统能力,设备能力如摄像头、陀螺仪、文件系统等,业务能力如上传下载、二维码、地图、支付、语音输入、消息推送等。同时实现了 Android 和 IOS 的解析引擎,使得开发者的代码编写一次,可跨平台运行。
除了功能外,HTML5+ 很重要的特点是提供了原生的渲染能力,通过 plus.webview、 plus.nativeObj、 plus.nativeUI,让开发者可以使用 JS 来调用原生渲染能力,实现体验的大幅提升。
原生的 API 多达 40 万,HTML5+ 的封装并非把 40 万 API 都封装了一遍,而是分成了 2 个层面:HTML5+ 规范和Native.js
手机 OS 的原生 API 有四十多万,大量的 API 没有被 HTML5+ 封装。所以 Native.js 把四十多万原生 API 映射成了 JS 对象,通过 JS 可以直接调 IOS 和 Android 的原生 API。这部分就不再跨平台,写法分别是 plus.ios 和 plus.android。
上面的 HTML5+ 就是 Native.js 一个实现好的子集。Native.js 不是 JS 框架,是技术!
使用 Native.js 需要对原生语法和 API 十分的了解,你至少要学过 Android 或者 IOS 开发,否则只能复制别人代码。
HTML5+ Runtime 是 Native.js 的运行环境。相当于 .NET 之于 C#,JRE 之于 JAVA,有把 Native.js 映射到 JAVA 和 ObjectC 代码的原生 API 功能,从而实现原生的调用。
对于 HTML5+ Runtime 和 Native.js 的关系可以理解成:Native.js 是一种语言(语法基于 JS),HTML5+ Runtime 是这语言的运行环境!
软件开发工具包,它和 Android SDK,IOS SDK 一样。
HTML5+ SDK 是把 HTML5+ Runtime 封装为原生 SDK ,它有 3 个用途:
HTML5+ SDK 实现本地打包。通过原生代码扩展 HTML5+ Runtime 的功能。在现有原生项目中使用 HTML5+ SDK 替换原有的 webview,以获得更强的 web 增强表现。
uniapp
uniapp 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到 IOS、 Android、 Web、以及各种小程序、快应用等多个平台。从下面 uniapp 功能框架图可看出,uniapp 在跨平台的过程中,不牺牲平台特色,可优雅的调用平台专有能力,真正做到海纳百川、各取所长。
uniapp > HTML5+ > Native.js > 插件市场
uniapp 实现不了的或者没实现的使用 HTML5+。
HTML5+ 实现不了的或者没实现的使用 Native.js。
Native.js 实现不了的或者没实现的去插件市场。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)