说明javascript
依据Gartner的研究,Android是全球最受欢迎的移动操做系统,是它支持着大多数智能手机;而依据Canalys的调研,如今在平板电脑领域享有多数市场份额(53%)。让Android有如此热度的一部分因素是其多样性。几乎每一个用户都有一个的Android设备的尺寸和形状,想要一个13英寸带可拆卸键盘的平板电脑?Android一样知足你。java
当如此多样的设备让用户欢喜时,它也为开发人员带来了很多头疼的麻烦。屏幕尺寸、分辨率、CPU架构和操做系统版本等,都会为开发人员建立原生Android app带来挑战。幸运的是,HTML5使得处理这庞大而多样的Android设备队伍变得快速而简单。浏览器
“服务员,个人冻酸奶里面有果冻豆”缓存
Android初次普遍登台是在2009年。制造商发布设备,通常只对操做系统更新一两次,就放弃它开始关注新硬件了。所以,根据OpenSignal对超过五十万台Android设备中,名为Gingerbread(姜饼2.3 x)的版本依然占据着最大市场份额(34.1%)。服务器
Android SDK是操做系统特定的,这为Android开发人员营造了挑战。也就是说,若是你用4.0 SDK(冰淇淋三明治)开发app,你的app将不能在2.3(姜饼)上运行。这无疑让开发人员置身于一个尴尬境地。一方面,你要用最新最好的SDK,另外一方面,你要app获得尽量多的下载。架构
有了HTML5,你不用再纠结于选择。你能够用强大的它来构建你的app,无视Android操做系统版本。app
庞大的Android设备队伍异步
在Android设备运行的不一样不只仅是表面上的,任何Android设备的心脏部分都是CPU由Qualcomm、PowerVR、NVidia、MediaTek、Intel等制造。取决于你的app须要用到哪一个操做系统的特性,原生Android SDK可能不会兼容什么特别设备。工具
HTML5提供APIs来作不少一般被认为是原生操做系统功能的事情。HTML5包含对于键/值存储、文件系统IO甚至经过地理定位访问GPS的强大APIs。布局
要访问原生操做系统功能,没有标准的HTL5界面。 Apache Cordova framework提供一个界面让你的app在任何设备上访问原生操做系统资源,诸如摄像机和加速计。
各类形状和大小
Android设备有着各类尺寸,小至三星的新齿轮智能手表,大至13英寸或更大的平板电脑。更添其复杂性的是分辨率范围从240×320跨到2560×1600。
要解决这个问题,你可能得用线形布局或网格视图。这类布局能良好运行,若是你想要依据用户需求滚动到视图中查看app。
好在HTML5提供一个更好的途径来处理尺寸大小的问题——用响应设计。响应设计是由CSS Media Queries所加强的简单结构的HTML在更大的屏幕利用更多的空间,在更小的屏幕上缩小或消除那些并不重要的元素。
当响应设计正确完成时,用户就对跨平台的app有了流畅的体验,即使是从新调整屏幕,这是在任何操做系统上解决屏幕尺寸/分辨率问题的最好办法。
移植到其它平台
Java的愿景是“write once, run any where(只写一次,哪儿都能跑)”。不幸,出于种种缘由,不能实现这个梦。一些交互编译器能够容许建立针对Android和iOS的app,但只有HTML5能在移动操做系统和互联网浏览器上运行。
在诸如Android、iOS、Windows Phone等移动操做系统上,HTML5应用一般托管于Apache Cordova (aka PhoneGap)内,Apache Cordova充当将你的HTML5联系到原生操做系统的角色,这包括定义你的app图标、加载屏幕和提供JavaScript来访问原生操做系统硬件。
HTML5支持跨平台,固然,还支持网页。你第一次用HTML5取代.ASPX或PHP来开启一个新项目将须要十足的信仰以外,还要你的app在没有服务器端生成HTML的状况下工做。
开启你的浏览器
HTML5应用的性能能够无限接近于原生性能,若是它们是被精心无误地制做处理的。
HTML5应用绝对须要被安装到设备上。经过将Apache Cordova或嵌入的WebView指向一个托管于互联网的网页来构建的app只能提供可怜的用户体验。若是你的app每次都须要用户经过点击一些东西来下载用户界面,这是不可能知足他们“即时响应”的指望的。为得到接近于原生的速度,你全部的HTML五、JavaScript和CSS都必须安装在本地设备上,从而使它可以在用户点击后就运行。
大多数移动app从互联网服务器上加载和保存数据。为了保持你的app以最快的速度响应,你将要在本地存储一个缓存数据并异步刷新你的数据。这将容许你的app在异步更新时,当即渲染其UI。
HTML的复杂性使得关于渲染你的用户界面须要多少CPU cycles有了很大不一样,最好是保持你的HTML尽量地结构简单化,带有尽量少的嵌套级别标签。举个例子说,深度嵌套的HTML表格,是出了名地衰!
结论
HTML5容许你写一次应用程序并快速部署它到几乎现有的每一个操做系统。它即时响应的能力很适合如今数不胜数的安卓设备屏幕尺寸。凭借大量可用的工具,诸如 Intel XDKnew IDE,你能够在Android使用HTML开放式架构、CSS和JavaScript上提供一种美妙的体验。