说明
依据Gartner的研究,Android是全球最受欢迎的移动操作系统,是它支持着大多数智能手机;而依据Canalys的调研,现在在平板电脑领域享有多数市场份额(53%)。让Android有如此热度的一部分因素是其多样性。几乎每个用户都有一个的Android设备的尺寸和形状,想要一个13英寸带可拆卸键盘的平板电脑?Android同样满足你。
当如此多样的设备让用户欢喜时,它也为开发人员带来了不少头疼的麻烦。屏幕尺寸、分辨率、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操作系统版本。
庞大的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每次都需要用户通过点击一些东西来下载用户界面,这是不可能满足他们“即时响应”的期望的。为获得接近于原生的速度,你所有的HTML5、JavaScript和CSS都必须安装在本地设备上,从而使它能够在用户点击后就运行。
大多数移动app从互联网服务器上加载和保存数据。为了保持你的app以最快的速度响应,你将要在本地存储一个缓存数据并异步刷新你的数据。这将允许你的app在异步更新时,立即渲染其UI。
HTML的复杂性使得关于渲染你的用户界面需要多少CPU cycles有了很大不同,最好是保持你的HTML尽可能地结构简单化,带有尽可能少的嵌套级别标签。举个例子说,深度嵌套的HTML表格,是出了名地衰!
结论
HTML5允许你写一次应用程序并快速部署它到几乎现有的每个操作系统。它即时响应的能力很适合现在数不胜数的安卓设备屏幕尺寸。凭借大量可用的工具,诸如 Intel XDKnew IDE,你可以在Android使用HTML开放式架构、CSS和JavaScript上提供一种美妙的体验。