HTML5的重要性与日俱增,在可预见的未来也还会在许多用户案例中继续成为统治性的平台。企业架构师需要考虑将HTML5能力纳入其应用开发工具链当中,尤其是企业内部运行的基于浏览器的应用以及通过PC浏览器访问的面向消费者的应用。现在HTML5和CSS3已经接班Flash和Silverlight, 成为桌面上基于浏览器提供多媒体功能的事实上的标准。
把利用HTML5开发移动应用放到合适的背景下也很重要。如IDC的计划主管Al Hilwa 所述,HTML5通常指的是通过浏览器交付的应用,而原生指的是使用平台相关语言编写的app,包括结合了HTML5与客户端特有库的混合型app。Hilwa最近发布了一份报告,名字叫做《HTML5的发展情况》
HTML5的诸多权衡
有些企业,如金融时报,已经从利用对HTML5的专注作为避免应用商店相关费用的手段中看到了巨大的好处。与此同时,其他一些企业,如Facebook、LinkedIn等,一直在鼓噪从HTML5开发转移到原生开发,因为只有后者才能提供拥有丰富功能的更为出色的应用。
Hilwa指出,HTML5应用面临着来自于开发者工具数量不足、开发者技能不成熟、安全、弱浏览器实现等挑战。但与此同时,它也提供了许多潜在好处,诸如允许单代码库跨平台部署,供应商支持,以及生态体系的带动作用,包括不同范围的单点工具、框架及解决方案等。
Hilwa预计将会看到HTML5在特定门类如访问企业资源的内部员工应用中取得最大成功。现在HTML5在桌面正在被重度使用,移动HTML5在移动侧在休闲类游戏中也越来越受欢迎。Hilwa预计在结合了可跨平台重用的基本HTML5代码与原生库以求更好性能的混合型中将会看到最大的使用。
充满挑战
HTML5平台本身也面临着许多挑战,从缺乏贯穿所有浏览器实现的完整标准,不成熟的开发者工具,性能影响到在原生设备的特性支持等。此外,通过HTML5交付的现代app所需的丰富功能集依赖于一堆技术的混合,包括HTML5、CSS、JavaScript及WebRTC等,每一个都要面对自己的开发者工具、实现及安全问题。
在移动平台,许多开发者希望把HTML5功能编织到访问原生设备功能的组件中,利用混合app将HTML5和原生代码库融合到一起,如Adobe为Apache Foundation贡献的Apache PhoneGap就是这样一个库。
Gartner预计到2016年,超过50%的移动应用将会是混合型的,该机构建议组织评估开发框架,寻找可让他们利用同一套代码库来开发原生、混合及web应用的框架。企业还应该考虑合并跨平台框架的开发活动,Gartner的研究副总裁Van Baker说。这一趋势反映在开发者招聘公告上,据职位列表服务indeed.com分析发现,HTML5经验是增长最快且被搜索次数占统治地位的在线工作公告搜索关键词。目前是排名第一的关键字,超过了iOS(第3位)和Android(第4位)。
移动化
然而,看看移动端,纯HTML5开发面临着竞争性方案的激烈竞争,包括混合原生开发,这是移动开发工具供应商Appcelerator基于其对移动开发者的最新调查做出的报告。
Appcelerator企业战略总监Michael King告诉SearchSOA说:“我们发现移动对HTML5的兴趣不愠不火,这是普遍现象。如果你正在开发一款更为面向大众市场的应用,或者在内部寻找用户实现业务流程的移动化,可以说对HTML5的反应欠佳。移动HTML5开发者遭遇了三个关键挑战—性能、安全及对设备传感器的访问。在离线访问的情况下,HTML5应用只能处理缓存进浏览器的东西,这在安全方面存在限制,而且大部分情况下应用逻辑是无法缓存的。”
对HTML5没有的原生传感器和API的访问上也有限制。iPhone 5有6种传感器,最近的iOS有1500多个纯HTML5应用很难利用的API。“开发一款无法引导员工的地图应用,或者没有保险计价的性能应用又有什么意义呢,”King说。
当范围比性能重要时
同时,King也看到在一些特定应用门类中大家全心全意地对HTML5敞开怀抱。他发现,在内容消费和客户获取的表格型应用方面HTML5的使用不断增长。但是交互式应用、游戏及地图应用这些有严重设备需求的应用正在避开HTML5。King解释说:“当我们与开发者交谈时,他们都喜欢HTML5的思路和承诺,即可以编写既可在最大的平板电脑和最小的智能手机上运行的响应式Web应用。”
表单型及简单的客户获取应用的一些HTML5的缺点并不明显。表单不需要访问大量传感器,性能也不是大问题。客户获取app不需要经过应用商店审查,很多时候通过电子邮件的一个链接即可访问。
尽管King的确看到了桌面应用与混合移动app利用HTML5编码的一些机会,要记住这些平台的用例的不同,这一点很重要。“我需要既能在桌面又能在智能手机上运行的应用,这种想法并未考虑到有多少人在使用这些东西。我建议针对桌面和移动开发不同的应用,它们各自考虑到了那些平台不同的工作流。”
新规范扩大了HTML5的范围
相比之下,其他一些开发者相信HTML5开始在移动应用开发中扮演带头角色。Web应用开发软件公司的软件开发经理Tyler Wassell看到的情况是对HTML5的兴趣不断增长,超过了对原生的兴趣。他解释说:“带有新的JavaScript API的HTML5给浏览器带来了强劲的通信、web数据存储、文件管理能力,更重要的是给移动浏览器带来了这些能力。因为这一点我认为我们将看到越来越多的移动web应用替代原生移动应用。”
随着JavaScript这个web的编程语言能让开发者利用HTML5能力,Wassell指出对使用该语言的兴趣正在不断增长。现在对全栈JavaScript开发的讨论非常多, 比如NOSQL数据库用像MangoDB,应用服务器用Node.js,还有数量不断增长的用来渲染内容的JavaScript客户端框架,如Angular.js、Ember.js以及Backbone.js。Wassel说:“在web应用开发方面,我看到的是JavaScript/HTML5在不断发展,在Web中占据了统治地位。”
另外,HTML5核心能力和开发者工具的改进也使得HTML5对越来越多的应用越来越有用。比方说,Wassell看到对数据驱动应用就存在需求,这种应用可以在互联网连接不存在时继续工作。为了实现这一点,开发者求助于HTML5应用缓存来存储应用资源。“如果没有HTML5我们无法做到这一点,”他说。
其他强大的HTML5功能,如Web Sockets、Server Sent Events、Web Messaging等也引起了很大的兴趣。Wassell说:“这些功能里面有的尚未完全成熟,但是在改善web浏览器和服务器之间的通信方面前景光明,这可以带来更为原生移动应用式的体验,如推送通告等。”
从长远看,IDC的Hilwa预期将会看到HTML5和原生移动应用并存的局面而不是相互替代。但是原生应用平台仍将是移动应用的主要交付手段。