H5+App的认识

读两遍官方对H5+这个技术的概述以及自家Hbuilder如何和H5+进行一个生态结合的,总结下自己的认识和一些疑问吧。

1.H5+是什么?

文档原话:

HTML5 Plus移动App,简称5+App,是一种基于HTML、JS、CSS编写的运行于手机端的App,这种App可以通过扩展的JS API任意调用手机的原生能力,实现与原生App同样强大的功能和性能。

字面上看也很清楚,我们在编写APP的时候用的是,WEB语言,也就是所说H5,但是我们希望和移动设备进行一些交互,调用手机上一些原生的东西,这个时候H5+的“+”就体现了,在原有的基础通过夸张JS API,供我们来调用原生的一些东西。大致的干了这么一件事,用JS语言把原生的功能包裹起来,作为一个JS对象,供外部JS调用。如果说原生语言在操作一个原生功能的时候,比如摄像头,应该是原生言语直接唤醒设备,那么H5+,需要JS语言访问API,API里再去调用设备,比前一种多了一步,这个在后期会不会对性能上是一种损耗,这是我的疑问吧。

文档原话:

HTML5+规范是一个开放规范,允许三方浏览器厂商或其他手机runtime制造商实现。

因为是开放规范,没有什么严格的标准,大体上大家应该都是奔着实现这样功能去的,所以各家封装各家的东西吧。在Hbuilder下对这些原生能力的调用分为了两种,一种是通用的,也就是跨平台的,比如plus.speech安卓和ios上都能这么写,还有一种是因平台而异的功能,根据各个手机系统的特性进行了独立调用,通过plus.ios和plus.android来调用,这几十万种由原生API封装的js对象都保存在了native.js这个文件中,官网也有对应的API手册。

文档原话:

使用HTML5+开发的移动App并非mobile web页面。这是新手最容易混淆的地方。mobile web的文件存放在web服务器上,而移动App的文件存放在手机本地,编写移动App的html、js、css文件被打包到ipa或apk等原生安装包,在手机客户端运行。

这部分内容都是解释一件事,我们的东西和webApp不一样,因为苹果和谷歌都不允许只是单纯的嵌套了webView壳子的WebApp上架,他们觉得那是垃圾App。H5+开发的App也确实不同于套壳APP。首先他们确实有本地内存的文件的,一个App基本该有的,包括一副本地的架子还有控制层的东西都是在本地的。但是它又不同于那些混合动力开发的App,因为混合动力开发的App是原生层和H5层共存,或者有更高端的是可以交互的,兄弟层的通信(···实力有限,只能用大致去描绘这种感觉),而H5+确实也算混合动力,但是原生和H5之间并不是兄弟关系,原生API更像是前后的关系,API作为站在H5背后的支撑体,你需要原生为你做的,API都会为H5进行需求补给,是一种单向的行为,单纯的由API原生层为H5层传递。

概念性的东西大概就这样了,后续都是一些调试,打包,发布的细节,总之H5+可以理解成H5在移动端的开发语言吧。比如有的app可以说是用OC语言开发,你可以说这个是H5+开发的。但是毕竟H5+不是一门独立的编程语言。

另外,前天对Mui的总结,因为只是单纯的看了一些网上人的评价,我感觉写的还是有偏差的,Mui应该算基于nativejs对一些常用原生对象包括UI层进行了整合封装,也说了只是一部分功能。确实如果真的比较起来也是RN和H5+这样一个整体进行比较更合适。

继续学习·····

时间: 2024-08-08 09:44:20

H5+App的认识的相关文章

H5 App如此强悍,要降薪的恐怕已不只是iOS程序员

2015年的最后几天,移动开发圈里最为火爆的话题之一无疑是"iOS程序员月薪降至12K"这则报道. 有人认为这是O2O创业遇冷所致,也有人认为这是iOS生态过于封闭致使智能硬件等新领域对iOS开发者的需求量不足所致.还有人认为是相关培训机构过多导致的结果等等. 其实,以上这些原因分析都只停留在了现象层面,未能触及本质. 当前是一个由技术来驱动社会变革的时代,所有社会和产业变革的根本驱动力一定都来自于某种技术变革.同样,所谓iOS开发者降薪这个业界现象,背后的根本原因依然是技术变革:移动

App开发中甲乙方冲突会闹出啥后果?H5 APP 开发可以改变现状吗

随着各种应用的全面App化,因App而起的合作纠纷也日益增多,其中不乏最终对簿公堂的情形.WeX5(html5开发工具)为您汇总了三个典型的真实案例,方便您体会甲乙方冲突情景. 在围观别人争吵之余,您是否有了足够的警觉?是否想到了方法去规避这些争议? 围观之一:手机APP到底能干嘛?两万款是“打水漂”了吗? 据广州市高小姐讲诉,自己2014年初与一家信息科技公司签了合约,委托他们开发手机APP,并当场支付2.7万元.后来怀疑是骗局,想要追回预付款,却遭拒绝. 2014年1月20日,高小姐参加了一

H5 App设计者需要注意的问题

我们通常在做H5 APP设计的过程中,遇到很多看似很小,且很容易被忽略的问题,正是这些小问题,一次次的撩拨用户的耐心,让用户对你的APP心生怨念.现在WeX5君呕血为大家整理出H5 APP设计的21条禁忌,希望与H5 APP设计者的您共勉. 1. 不要在没有流程图之就前开始设计或者画线框图 即便一个简单的H5 APP也要有一个思虑周全的流程图,以确保在H5 APP有合乎逻辑的.合理的导航结构.跳过流程图直接进进入开发会让开发变得复杂.不可控,很容易让用户迷茫,最后选择关掉或者卸载你的 App.

H5+app -- 关于ajax提交问题

1.前阵子在做系统的h5+ app为满足手机端也能进行业务操作,例如:提货,扫描入库之类的.所以就要将做接口,从手机端调用后台系统的方法. 2.例如这样的请求格式,但是呢,每次请求它都直接跳到error,刚开始还以为是网络问题,就连上wifi试了试,发现还是直接跳error.然后就开始怀疑请求格式了... 如下: function openScan(data) { mui.ajax(OPENSCAN, { data: data, dataType: 'json', type: 'post', t

在H5 App中实现自定义Token的注意事项

我们在写Hybird App时,一般都是利用Token来代替Cookie实现用户会话. 如果是发布成app的话,由于app自带了webview环境,运行时与后端服务器的关系相当于Server 2 Server,因此一般不涉及跨域的问题. 但如果发布成H5 App的话,因为是直接在终端的浏览器里运行,就会涉及到CORS(跨域资源共享)的处理问题. 关于CORS的解决办法,主要就是三个方面: 1.简单请求:不涉及Header的附加信息,直接添加以下头部响应即可: response.setHeader

H5+ app自动更新思路

第一种是一次自动更新 1.在服务器需要一个json或html文件,json最好 1 { 2 "state":"yes",//是否自动更新 3 "mark":"1.0.6",//版本号 4 "url":"http:\/\/xx\/appproject\/mm.apk"//更新的应用下载地址 5 } 2.自动更新函数 t是你当前正在运行的app的版本号 //检查自动更新 function s

H5+ app 记录一个坑 希望有缘人可以解决这个问题

最新少主在开发一款公益的web APP  用的是h5 +  然后打包的 少主两部手机 拿来测试 发现有一部手机出了问题 应用没有缓存 一离开应用就注销了 之后才知道 原来是自己设置了一个东西 在开发者模式 应用 [不保留活动 ] 这个不要开~~~ 开了 应用就没有缓存了 然后再进入就重新开发了 然后假如有授权登陆的话 直接授权不了~~~ (OK 已经解决 部分手机设置了 不保留活动 在开发者选项 应用 用户离开后即撤销每个活动 这个不能开~~!!) 原文地址:https://www.cnblog

ionic + cordova+angularJs 搭建的H5 App完整版总结

为期半个月的项目实践开发,已完整告一段落,团队小组获得第一名,辛苦总算没有白费,想起有一天晚上,整个小组的人,联调到12点才从公司回去,真是心酸.这里总结一下,项目过程中遇到的问题 和感悟.哈哈,放张集体照.嘿嘿,项目所有的不同的team的小伙伴,一群优秀的小伙伴(大多都来自高校211,985)么么哒.下面介绍下我们组的产品和问题. 项目已放在github上:https://github.com/foreverjiangting/myApp/tree/master/myApp/myApp 一:项

Android通过Chrome Inspect调试WebView的H5 App出现空白页面的解决方法(不需要FQ)

调试基于WebView的Hybrid App最舒服的工具当然是Chrome自带的开发者工具,其中有我们熟悉的Dom树调试,JS调试,Network监视等等功能. Google提供的调试Android上WebView的步骤: 开启手机上的USB调试功能 打开Chrome浏览器,地址栏输入:Chrome://inspect,回车 Chrome会自动检测手机上打开的App,并列出可调试的WebView页面,如图: 点击Inspect,弹出开发者工具进行调试 问题就出现在这里,对于国内的程序猿来说,由于