理解HTML5移动端应用开发

开发者们可以通过HTML5简化移动应用开发的过程。HTML5移动端应用也伴随着很多问题,其中就包括性能无法与原生应用所匹敌。

许多组织开始转向HTML5的移动应用开发,以至于使应用的开发过程流水化,并且能够降低花销和复杂度。

在正确的环境下,HTML5应用能够提供给企业一个简单的替换,从而不需要进行原生应用的开发,特别是当越来越多的HTML5开发框架出现的时候。任何组织在跨平台实现移动端应用的时候,都至少应该考虑HTML5。

然而,HTML5应用并不是毫无挑战的。他们带来了性能和安全上的关注,并且在数据获取以及原生应用程序的接口上引发了问题。

什么是HTML5应用?

HTML5应用提供了”写一次代码,就能在任何地方运行”的移动端应用发展。有一系列移动设备优化的web页面,他们为视频、音频数据的推流,对图形和动画的处理、以及离线的支持提供了高级功能。他们也添加了语义化的元素,表单的控制和多媒体控件,而且伴随了大量的新API,它们提供了定位服务、拖动操作、本地应用缓存等等。

HTML5很少单独工作。更多的HTML5应用集成了CSS和JavaScript,分别定义了HTML组件如何在浏览器中渲染和对文本、对象、数组进行操作的API。许多主流的浏览器都支持这些技术,这使得实现基于web跨设备的应用的实现成为可能。

HTML5移动端应用程序开发是如何工作的

HTML5移动端应用程序的开发框架工具包包括CSS库和JavaScript文件,开发者们可以将它们包含在HTML中。框架解决了由构建HTML5应用而引发的诸多问题。

例如,一个好的框架能够巧妙处理并重复应用文档对象模型(DOM)去提升性能。框架也使实现依赖于JavaScript的行为实现更加容易,例如屏幕转换和列表滑动。总的来说,这使得新手去创建一个HTML5应用变得更加容易了,因为许多开发的细节已经被处理过。

所有的框架都不相同,IT管理者必须在决定使用哪一个之前做足功课。每个框架都有自己的局限性和问题,他们经常会在应用变得更加复杂的时候被暴露出来。

在移动设备和浏览器之间的微小差别也影响了程序在不同环境中的表现。结果,开发者有时候会基于他们共有的特性进行构建,以此来确保跨平台编程,这些程序有可能会有损用户体验。尽管存在潜在的问题,有适当训练和经验的开发者在开发安全、基于web的高性能应用时应该没有问题。

在构建HTML5应用的时候应该时刻注意的问题

内存和性能限制是在HTML5移动应用开发时要关注的重点。开发者不仅要小心控制页面的流量,也要注意DOM的实现。对象模型越复杂,导航所需的时间越长。

综上,开发者应该时刻关注用户体验。为了确保用户体验的质量,HTML5移动端应用应该是轻量级的,以至于执行不会出现延迟。另外,管理者需要在多种平台上测试对应用进行测试,解决不同种类的设备、屏幕大小、浏览器和操作系统的问题。大多数应用需要支持离线操作以解决连接中断的问题。

HTML5应用 VS 原生应用

不像HTML5应用,原生的应用是基于应用运行平台上的原生语言。然而在原生应用中存在着挑战,每个平台都需要自己的应用,有一些平台需要一个应用的不同版本去支持不同平台上的不同设备。

HTML5是平台无关的。只要用户通过支持各种语言能力的浏览器获取到应用,应用在不同平台上也应该有相同的表现。另外,管理员只有一个代码库去维护和只要一个使用HTML5部署的包。他们能够分配bug修复并且在必要的时候可以随时更新,甚至与他们的用户进行性能在线测试,而不存在原生应用中的分配难题。

尽管HTML5已经走了很长一段路了,但是它仍然不能够完全实现所有的原生功能,例如多点触控手势;以及与设备内置组件的无缝结合,比如GPS。原生应用通常也会在性能上略胜一筹,因为他们是一部分机器指令。如果设计不当,HTML5应用可能会有一段很长的加载时间。

另外,HTML5应用受制于所有Web应用的风险。开发者必须对抗网络攻击,不正确的API使用以及通过Wi-Fi、蓝牙或者文本信息获取到设备的恶意代码的攻击。

将HTML5和原生应用相结合

一个混合的移动端应用是一个HTML5应用运行在原生程序的容器中。应用使用设备的浏览器去渲染本地的HTML页面,当连接到设备的时候,功能就像一个原生应用。混合应用能够获取到像日历和联系人这样的功能,同时也有单个代码库能够嵌入到多个平台的优势。事实上,混合应用基本上能够做到原生应用能够做到的任何事情,包括支持离线操作和多点触控手势。一个混合应用甚至能够在外观和感觉上都模仿原生应用。然而,混合应用仍然不能表现得像原生应用一样,因为存在额外的抽象层。

已经出现了像PhoneGap这样的平台去实现混合移动应用。这个框架使得在开发移动端应用的时候使用HTML、CSS、JavaScript成为可能,同时也处理好了跨平台发布混合应用的细节。

原文地址

坚持原创技术分享,您的支持将鼓励我继续创作!