许多企业开始使用HTML5移动应用开发来简化应用的实现,降低成本和复杂性。
在合适的情况下,HTML5应用为企业提供了一个简单的替代原生应用开发的选择,特别是随着越来越多的HTML5开发框架的出现。任何需要跨多个平台实现移动应用的企业都至少应该考虑HTML5。
当然,HTML5应用也并非没有挑战。它们带来性能和安全问题,还有访问数据和本地应用程序编程接口(APIs)的问题。
HTML5应用相较原生应用,用户体验相对糟糕。
什么是HTML5应用?
HTML5应用只需要编写一次,就可以在任何地方运行的移动应用开发。它们是网页的集成,为移动设备而优化,为视频流和音频数据带来先进的功能,处理图形和动画,并提供离线支持。它们还添加语义元素,表单控件和多媒体组件,以及一些新的API,可以支持定位服务,拖放操作,本地应用缓存和更多功能。
HTML5很少单独工作。大多数HTML5应用与层叠样式表(CSS)相集成,它定义HTML组件在浏览器和JavaScript中如何渲染,包括处理文本,对象和数组的API。所有主要浏览器都支持这些技术,从而能够在很多设备内实现基于web的应用。
HTML5移动应用开发流程
HTML5移动应用开发框架工具包含开发人员可以在HTML中嵌入的CSS库和JavaScript文件。框架可以处理在构建HTML5应用中,出现的许多问题。
例如,一个良好的框架可以处理和回收文档对象模型(DOM)元素来帮助提高性能。框架也更容易实现依赖于JavaScript的行为,如屏幕转换或滚动列表。作为新手,很容易创建HTML5应用,因为开发的很多细微之处已经包含在内。
所有框架都是不一样的,IT管理员必须在做出决定前,先进行研究。每个框架都有其限制和问题,经常会让应用变得更加复杂。
设备和浏览器的微小区别的确会影响应用在不同环境中的运行。因此,开发人员有时会根据最基本标准构建应用,以确保他们在所有环境中都能运行,但是这可能会影响用户体验(UX)。尽管存在潜在问题,通过适当的培训和拥有相关经验的开发人员,应该能够开发安全的,高性能的,基于web的应用。
构建HTML5应用要点
内存和性能限制是HTML5移动应用开发的关键因素。开发人员不但要小心控制页面流量,并且控制如何实现DOM。对象模型越复杂,打开网页所需的时间越长。
最重要的是,开发人员必须考虑用户体验。为确保用户体验质量,HTML5移动应用应该是轻薄的,这样性能并不落后。此外,管理员应该在各种平台上测试应用,在不同的设备类型,屏幕尺寸,浏览器和操作系统上的表现。大多数应用需要支持离线操作,以应对连接中断。
HTML5应用 VS. 原生应用
与HTML5应用不同,原生应用是基于应用运行平台的原生语言。原生应用的挑战在于——每个平台都需要自己的应用,而一些平台需要不同版本的应用来支持该平台上不同的设备。
HTML5与平台无关。只要用户通过支持各语言功能的浏览器访问应用,应用在任何平台都一样运行。此外,管理员只有一个代码库用于维护,一个语言包用于部署HTML5。他们可以在必要时提供漏洞修复和更新,甚至不需要像原生应用那样分发,就可以与用户进行实时测试。
尽管HTML5已经取得了很大的进步,但它不能实现所有原生功能,比如多点触控手势,和与内置设备组件无缝集成,比如GPS。原生应用性能表现更出色,因为它们是机器代码的一部分。HTML5应用如果没有精心设计,加载时间将很漫长。
此外,HTML5应用和任何Web应用面临同样的风险。开发人员必须防范网络攻击,不当的API使用,通过Wi-Fi,蓝牙或文本消息访问设备的恶意代码。
HTML5和原生应用混合
混合移动应用是一个在原生容器内运行的HTML5应用。应用使用设备的浏览器渲染本地托管HTML页面,同时连接到设备拥有和原生应用一样的功能。混合应用可以访问日历和联系人,以及跨平台使用同一个代码库。
事实上,混合应用可以实现原生应用的所有功能,包括支持离线操作和多点触控手势。混合应用甚至可以模拟原生应用的外观和感觉。然而,混合应用仍不能像原生应用一样运行,因为额外的抽象层。
PhoneGap平台的出现,可以实现混合移动应用。使用HTML,CSS和JavaScript开发移动应用,同时跨平台实现混合应用的各类细节。
本文转自d1net(转载)