html5在手机端的应用,浅析HTML5在移动应用开发中的使用

前言

HTML5的出现让移动平台的竞争由系统平台转向了浏览器之间:移动端的IE、Chrome、FireFox、Safari,亦或是新出现的浏览器,谁能达到在移动端对HTML5更好的支持,谁就能在以后的移动应用领域占据更多的市场。

b714c007bdbfb4ff23cb7909a2421069.png

现在我们怎么装APP

3cdf243b1b23f50489cc4834ea06edfd.png

有了HTML5以后怎么装APP

更灵活、更方便的app使用及安装方式将成为HTML5在移动平台上大放异彩的保障之一。

下面列举HTML5适合移动应用开发的几大特性:

1.离线缓存为HTML5开发移动应用提供了基础

HTML5 Web Storage API可以看做是加强版的cookie,不受数据大小限制,有更好的弹性以及架构,可以将数据写入到本机的ROM中,还可以在关闭浏览器后再次打开时恢复数据,以减少网络流量。

同时,这个功能算得上是另一个方向的后台“操作记录”,而不占用任何后台资源,减轻设备硬件压力,增加运行流畅性。

在线app支持边使用边下载离线缓存,或者不下载离线缓存;而离线app必须是下载完离线缓存才能使用。

形象点说,cookie就是存了电话和菜单,想吃什么要叫外卖,等多长时间才能吃到就得看交通情况了;离线缓存就是直接在冰箱里存了食物,想吃就能马上吃到(当然,想吃最新的食物同样可以打电话预定)。

设计师要知道,什么时候让用户下载离线缓存(注意在线和离线app的区别)。

2.音频视频自由嵌入,多媒体形式更为灵活

原生开发方式对于文字和音视频混排的多媒体内容处理相对麻烦,需要拆分开文字、图片、音频、视频,解析对应的URL并分别用不同的方式处理。

HTML5在这个方面完全不受限制,可以完全放在一起进行处理。

设计师要知道,如果新闻类、微博类、社交类应用的信息呈现中实现文字与多媒体混排,而不用专门嵌入webview,将是一件多美好的事情,至少现在原生方式实现起来还有困难。

3.地理定位,随时随地分享位置

充分发挥移动设备对定位上的优势,推动LBS应用发展。

可以综合使用GPS、wifi、手机等方式让定位更为精准、灵活。

地理位置定位,让定位和导航不再专属导航软件,地图也不用下载非常大的地图包,可以通过缓存来解决,到哪儿下哪儿,更灵活。

设计师要知道,现在嵌入LBS功能的应用越来越多,这也是移动设备与台式PC相比最大的优势之一,HTML5能把这个优势再度扩大化,好好想想怎么在你设计的应用里用上吧!

4.Canvas绘图,提升移动平台的绘图能力

使用Canvas API可以简单绘制热点图收集用户体验资料

支持图片的移动、旋转、缩放等常规编辑

Canvas – 2D的绘图功能支持

Canvas 3D – 3D的绘图功能支持

SVG – 向量图支援

设计师要知道,图片的移动、旋转、缩放?那都太基础了,自己画都是小case,至于怎么用,好好想想吧!

5.专为移动平台定制的表单元素

浏览器中出现的html5表单元素与对应的键盘:

类型

用途

键盘

Text

正常输入内容

标准键盘

Tel

电话号码

数字键盘

Email

电子邮件地址文本框

带有@和.的键盘

url

网页的URL

带有.com和.的键盘

Search

用于搜索引擎,比如在站点顶部显示的搜索框

标准键盘

range

特定值范围内的数值选择器,典型的显示方式是滑动条

滑动条或转盘

只需要简单的声明 即可完成对不同样式键盘的调用,简捷方便。

设计师要知道,用的时候记得告诉研发同事一声!

8ae277f70b5a80b161d636b2b614c771.png

6.丰富的交互方式支持

提升互动能力:拖拽、撤销历史操作、文本选择等

Transition – 组件的移动效果

Transform – 组件的变形效果

Animation – 将移动和变形加入动画支持

设计师要知道,HTML5提供的交互方式是非常丰富的,至于用不用得上,那是你自己的事儿喽!

7.HTML5使用上的优势

更低的开发及维护成本;

使页面变得更小,减少了用户不必要的支出;而且,性能更好使耗电量更低;

方便升级,打开即可使用最新版本,免去重新下载升级包的麻烦,使用过程中就直接更新了离线缓存。

设计师要知道,用户想要什么,HTML5能提供给用户什么。

8.CSS3视觉设计师的辅助利器

CSS3支持了字体的嵌入、版面的排版,以及最令人印象深刻的动画功能。

Selector – 更有弹性的选择器

Webfonts – 嵌入式字体

Layout – 多样化的排版选择

Stlying radius gradient shadow – 圆角、渐变、阴影

Border background – 边框的背景支持

使用CSS3来完成部分视觉工作,载入速度快,节省代码及图片,也为用户节约了带宽。

设计师要知道,一个界面里几十张素材图的方式已经太out啦,赶快让CSS3帮你偷懒。

54810cf83c1ee01c9e4b0f8728989e3c.png

9.实时通讯

以往网站由于HTTP协议以及浏览器的设计,实时的互动性相当的受限,只能使用一些技巧来「仿真」实时的通讯效果,但HTML5提供了完善的实时通讯支持。

设计师要知道,应用中嵌入实时通信、信息内容进行实时提醒,HTML5可以帮你实现。

10.档案以及硬件支持

不知道大家有没有发现,在Gmail等新的网页程序当中,已经可以透过拖拉的方式将档案作为邮件附件?这就是HTML5档案的功能中的Drag’n Drop和File API。

设计师要知道,移动应用中对于数据传输的需求越来越大,传统的路径选择方式太过于繁琐,快来试试HTML5的拖拽上传功能吧!

11.语意化

语意化的网络是可以让计算机能够更加理解网页的内容,对于像是搜索引擎的优化(SEO)或是推荐系统可以有很大的帮助。

设计师要知道,HTML5能让搜索更快速、更准确。

12.双平台融合的app开发方式,提高工作效率

绍了USB Type-C接口的定义,重点解析了CC逻辑芯片和E-Mark芯片的作用,包括CC引脚的功能、设备是否需要CC逻辑芯片,以及与雷电接口的关系。同时,讨论了如何准确识别Type-C接口的标识,帮助读者理解Type-C接口的特性和应用场景。摘要由优快云通过智能技术生成TYPEC浅析从USB接口出现以来,相信很多人都遇到这一个问题——不论怎么熟悉你的电脑、USB接口位置,一般都没有一次就能找对方向插上,很大概率都要换各边重复插一次!对于个人来讲,特别是有点强迫症的工程师来说,真的难以接受这个事实!所以硬件工程师的位置上宁愿有很多的线缆或者USB-HUB,不为别的,就为了电脑一开机只要连一个HUB线,其它的USB数据线、U盘、USB设备等等,都统一接上,不需要再逐个去连接,不然一个个连(而且又不能一下插上的话),真的很浪费时间(而且很不爽)!……额,说着说着就说多了。我们切回正题吧。因最近做了个项目,虽说都是用的USB2.0(原来用的都是Micro USB/ Mini USB……接口),为了跟上时代的步伐,都上了TYPEC物理接口。原来的USB接口都只有最多5个信号VUBS/D-/D+/ID/GND,但是TYPEC竟然有N多的pin角,带着工程师应有的好奇心,要把这个整明白。早期有一篇DIY解刨TYPEC的线的文字<<TYPEC OTG与MICRO OTG线的区别>>有做了简单的介绍,当时也说了后需要发一篇关于TYPEC的解读文章,这里也是兑现下承诺吧。整理这篇文章真的是找了不少论坛资料,也看了不少大牛的文章才理解出来的,一些很牛X的技术,我也不多说了。(太深入和牛X的我也没研究过哈,担心说着说着大家都信了……).       这里我就总结下个人的几个问题点,然后按照问题答疑的方式给讲解下(基本定义姓百的大哥上面很多,这里我也汇总下,毕竟以后自己也可以看看,我希望这篇文章可以解决大部分新手的疑问!):1.TYPEC接口定义TYPEC插头PLUG引脚定义(Front View):TYPEC母头RECEPTOR引脚定义(Front View):       前文提过二则最大区别在于PIN数是不一样的,从下表可以看出差异。因为TYPEC协议将最大支持到20W甚至更大的功率,所以其Vbus引脚和GND引脚也特别多。另外,因为TYPEC还要支持高速、DP等协议,所以也多了其它功能的引脚。特别是其中的CC引脚。USB Type-C接口包含的2个通道配置(Channel Configuration)信号引脚(CC1 & CC2),用于功能协商。上述信号确定接口插入方向,并用于协商接口上的供电功能、替代模式和外设模式。【后面详细说明下CC的疑问】****************************************插入知识点******************************************通常用到的USB2.0的TYPEC线插头和Micro USB线插头的PIN对应关系****************************************插入知识点*****************************************CC引脚在DPF和UFP内部分别需要有上拉/下拉电阻,用来识别各自的功能。根据不同的上下拉电阻检测,可以确认负载信息。在DFP内部CC通过不同Rp上拉到电源。在UFP内部CC通过5.1K电阻下拉到GND。下行DFP设备必须可以区分是下拉电阻Rd还是负载Ra接入来确认是否有上行UFP设备接入并判断是否需要给Vconn供电。DFP设备只有检测到Ra时,才给Vconn供电。全功能TYPEC线缆内部是有CC芯片的,需要通过CC2(Vconn)对其供电。设备在给Vconn供电前,电源线缆在Vconn引脚需要有个Ra电阻(Ra表示Vconn对地负载,应该是线缆内部本身接Ra,设备根据读取线缆上面的信息来判断线缆的属性)。在某些线缆上,这有可能是个纯粹的电阻,也有可能是简单的负载。****************************************插入知识点********************************************DFP直的是下行端口,可以认为是HOST设备、电源适配器这类。UFP可以认为是从设备DEVICE,U盘、受电设备等。*******************************************插入知识点*********************************************************************************插入知识点*****************************************所以在文章<<TYPEC OTG与MICRO OTG线的区别>>中有解释说如果是单纯的将TYPEC-OTG线用在MICRO-OTG上是不行的,因为MICRO-OTG的ID引脚定义不同。所以要强制修改的话,需要将TYPEC-OTG内部的CC的下拉5.1K电阻,改为0R短路到GND,而且把这个信号对应到原先Micro的ID引脚信号上。下面是Micro-B Receptor转USB C plug的数转接线线信号图,可以参考一二。****************************************插入知识点*****************************************2.CC解读(Current Configuration)刚刚开始接触TYPEC时,经常看到CC这个引脚功能。开始觉得CC是个单纯的信号、有时候又理解为CC应该是类似单总线功能有数据通讯、又或者有是串口功能……这些理解都有问题。经过一些了解后,初步汇总如下,希望对大家也有帮助。若有高手过目,也请指点一二。CC实际有CC1和CC2。在插座上两个信号都有接。但是在插头上面一般只有CC1或者CC1&Vconn.设备通过CC1&CC2上的Rd/Ra来判断不同的功能,是否有负载接入、需要提供多达的电流、是否需要供电等信息。在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。连接后CC pin相连,DFP的CC pin会检测到UFP的下拉电阻Rd,说明连接上了,DFP就打开Vbus电源开关,输出电源给UFP。而哪个CC pin(CC1,CC2)检测到下拉电阻就确定接口插入的方向,顺便切换RX/TX。比如在全功能TYPEC接口情况下:CC1&CC2都接下拉电阻Rd时,表示Debug accessory 模式;CC1&CC2都接Ra时表示Audio Adapter Accessory Mode (虽然还不懂是啥。。。但是手册是这么解的….);CC1接Rd、CC2为NC时(或者反之),表示有负载接入;CC1接Ra,CC2为NC时(或者反之),表示供电线缆接入,且没接负载(表示给Vconn供电,无需给VBUS供电);CC1接Rd、CC2接Ra时,表示有供电线缆接入,而且接着负载(给VBUS供电,同时CC2作为Vconn给线缆内部芯片供电5V,CC1传信号给UFP);或者是UFP(上行端口,即从设备)接入(表示需要给VBUS供电)考虑另外,对于需要广播电流输出能力的DFP而言,需要通过不同值的CC上拉电阻Rp来实现;对于UFP而言,需要检测CC管脚上的电压值来获取对方DFP的电流输出能力。****************************************插入知识点********************************************在DFP的CC pin有上拉电阻Rp,在UFP有下拉电阻Rd。未连接时,DFP的VBUS是无输出的。(所以通常淘宝上面买到的TYPEC转Micro的头,其只有VCC/D+/D-/GND信号连接,CC是没连的。故将Micro转接头接在带有PD的TYPEC电源线上后,VBUS就无输出,Micro端VBUS没有供电)。****************************************插入知识点**********************************************根据标准下拉电阻为Rd=5.1k,上拉电阻Rp为不确定的值。USB Type-C靠Rp的不同,从而在 CC pin检测到的电压就不一样,来控制DFP供电模式。在TYPEC中两个CC,实际上在不含芯片的线缆里只有一根cc线。含芯片的线缆也不是两根cc线,而是一根cc,一根Vconn,用来给线缆里的芯片供电(5V),这时就cc端没有下拉电阻Rd,而是下拉电阻Ra:800-1200Ω。****************************************插入知识点*****************************************CC1和CC2是两个关键引脚,作用很多:探测连接,区分正反面,区分DFP和UFP;实际上在不含芯片的线缆里只有一根cc线。含芯片的线缆也不是两根cc线,而是一根cc,一根Vconn,用来给线缆里的芯片供电(5V)。这时就cc端没有下拉电阻Rd,而是下拉电阻Ra.(即当线缆里有芯片的时一个cc传输信号,一个cc变成Vconn供电);支持PD的设备必须采用CC Logic芯片。USB Type-C目前支持最高20V/5A,此时必须要支持USB PD,即需要额外的PD芯片,所以不要以为是USB Type-C接口就可以支持到20V/5A。****************************************插入知识点*****************************************3.设备是否需要CC逻辑芯片所有全功能的Type-C电缆都应该封装有E-Marker:封装有E-Marker芯片的USB Type-C有源电缆,DFP和UFP利用PD协议可以读取该电缆的属性:电源传输能力,数据传输能力,ID等信息;但USB2.0 Type-C电缆可以不封装E-Marker。所有的DFP设备需要CC逻辑检测与控制芯片:DFP需要检测到CC管脚上有某个电压时,判断UFP设备已插入或拔出,来提供和管理VBUS。当没有UFP设备插入时,必须关闭VBUS。USB3.0/USB3.1应用中,除UFP设备以外的所有设备都需要CC逻辑检测与控制芯片:在USB2.0应用中,无需考虑方向检测问题,但USB3.0或者USB3.1应用中,必须考虑方向检测问题(有一种情况例外,比如U盘,移动硬盘等可以不考虑方向,不用CC芯片。)。持PD的设备必须采用CC Logic芯片:对于UFP而言,需要检测CC管脚上的电压值来获取对方DFP的电流输出能力。USB PD看似只是电源传输与管理的协议,实际上它可改变端口角色,可与有源电缆通讯,允许DFP成为受电设备等诸多高级功能。所有全功能的Type-C电缆都应该封装有E-Marker,但USB2.0 Type-C电缆可以不封装E-Marker综上,只有因为功耗较低而不需要检测电流能力的UFP(U盘,耳机,鼠标等)不需要CC逻辑检测端口控制芯片外,其余所有的DFP、DRP(如电脑,手机,平板,移动电源)、需要检测DFP电流输出能力的UFP、支持PD的设备,都需要CC逻辑检测与端口控制芯片。4.CC逻辑芯片和E-Mark芯片前文中有说道“持PD的设备必须采用CC Logic芯片”、“Electronically Marked Cable: 封装有E-Marker芯片的USB Type-C有源电缆”、“全功能的Type-C电缆封装有E-Marke”等信息,实际比较细心阅读的就可以看出所谓的CC逻辑芯片和E-MARK芯片是不同的:CC逻辑芯片针对的还是设备端;E-MARK针对的是线缆,而且规范中也经常提到“Electronically Marked Cable”其实就是我们所谓的e-mark芯片。E-MARK芯片技术自动识别电子产品所需的电压和电流。****************************************插入知识点**************************************如果TYPE-C接口提供超过5V的电压,或者是超过3A的电流,那么一定需要TYPE-C接口芯片去实现USB PD协议。      如果您的设备使用5V电压,并且不超过3A的电流。而且设备本身只往外供电,或者只接受对方供电,并且供电角色与数据传输角色为默认搭配(即供电方为HOST,用电方为Slave或者device)。那么不需要TYPE-C芯片。      C-C传输线上是否需要用到E-MARK 芯片。这个判断标准是,使用过程中,电流是否会超过3A?如果不超过,则可以不需要。若需要实现Battery Charging协议,这需要E-MARK芯片,这样既能够实现充电,又能够传输数据。****************************************插入知识点**************************************5.雷电接口和Type C二者关系Type C属于接口规格,雷电3则是指接口所支持的虚拟层面的协议,与Type C并不冲突。雷电带宽可达到40Gbps,相较USB 3.1的10Gbps差距高达4倍。雷电1和雷电2使用的接口形态是Mini DisplayPort口(Mini DP口),前两代雷电接口都有应用在苹果Mac系列电脑中.在USB Type C推出之后,Intel就将雷电3的物理接口由以往的mini DP改为USB Type C,性能上也做了更大的提升。传输速度提升到了 40 Gbps. Intel将接口规格基于Type C物理层,并完全能够实现USB Type C的绝大多数功能。所以雷电3同时支持USB3.1;但支持USB 3.1的Type C接口设备不一定支持雷电规范接口。也就是说USB Type-C不一定是雷电3,但是雷电3一定是USB Type-C接口,所有支持雷电3的接口旁都有一个雷电的“闪电”标志,方便区分。6.准确识别Type-C的标示Type-C类别不同的传输速率,支持不同的协议,标识也是不同的。只带有USB标识:表示支持USB2.0,普通的速率480Mb/s;带有USB标识,外加SS字样:表示支持USB3.1,速率5Gb/s;带有USB标识,外加SS字样,右上角多了数字10:表示支持USB3.1,速率10Gb/s;带有USB标识,外加SS字样,右上角多了数字10,右边增加D字样:表示支持USB3.1,速率10Gb/s,支持视频显示;带有USB标识,且有一个黑色的背景:全部支持PD协议,其中5Gb/s的字体为白色,其余均与上文一致!详情参看以下图示。7.参考文献:“http://news.eeworld.com.cn/xfdz/2015/0323/article_40868.html”;《Type-C Specification》;“https://blog.youkuaiyun.com/chenzhen1080/article/details/70183163”;《USB Type-C Specification Release 1.3.pdf》“http://www.eepw.com.cn/article/284329.htm” ;“”http://www.tronixin.com/showNews.asp?id=33;“”http://www.chongdiantou.com/wp/archives/37294.html;  ========================================
最新发布
03-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值