为什么说本地移动应用比HTML5应用好互联网

2013-02-26    来源:TechTarget中国    编辑:蒋红冰
关于移动应用是应该由HTML5实现,还是本地代码的争论,最近是愈演愈烈。到处奔走的移动用户没有耐心等待缓慢的软件。在可见的未来,企业移动应用应该由本地代码传送。

  关于移动应用是应该由HTML5实现,还是由本地代码的争论,最近愈演愈烈。随着Mark Zuckerberg承认,“Facebook应用和iOS的最初HTML5实现是我们制定的最错的个战略”后,该争论就提到的台面上。简单地说,基于浏览器的HTML5版应用程序有性能方面的问题。

  到处奔走的移动用户—由于一些原因—没有耐心等待缓慢的软件。在可见的未来,执行速度和用户体验问题意味着,企业移动应用应该由本地代码传送。让我来深入说一下这些理由,为什么说本地应用往往是比HTML5应用好的解决方案。

  性能

  HTML5的一个主要优势是他们的灵活性。他们由脚本和内容组成,这些脚本和内容在移动设备的浏览器内下载并执行。代码更新可以分布迅速:只要在网站上修订代码,你就完成了工作。然而,这种灵活性要付出的性能损失的代价。另外,UI元素必须要在脚本执行前渲染。这个多步骤的流程增加了大量的应用执行开销,特别是如果SOA的任务是复杂。

  相比之下,本地应用程序可以利用移动设备的性能调优的丰富功能框架来实现所有的功能。这些构架提供应用程序需要的所有,如现成的UI元素、网络堆栈、XML解析器和数据库服务。所有的定制UI元素作为资源存储在应用本身内,这消除了下载他们的开销。

  第三方工具,如Appcelerator的Titanium Studio,允许你建立混合应用,它由打包在本地库中的HTML5组成。虽然这种应用承诺代码灵活性并提供一些改进的性能,但移动浏览器损害了整个HTML5应用实现的性能是心照不宣的。这并不与混合应用相冲突:对于重用HTML代码和跨平台分布,他们是有价值的。

  市场上出现的双核和四核移动设备确实能够提升浏览器的执行速度。然而,本地应用也还是有好处的,而且在未来的性能中更有竞争力。

  带宽和连接性

  正如前面提到的,该移动浏览器不得不在它执行前下载HTML5应用的代码。这种转换可能需要需要几十到几百万字节的代码,在处理数据有效负载之前——即,事务中实际使用的数据。相比之下,一个认真撰写的本地应用只需要事务数据,因为它的UI和应用程序逻辑存储在移动设备上。

  另外要记住的一件事—虽然公告了LTE覆盖率—是在一个低带宽覆盖的领域,大量代码下载是需要时间的。这使得HTML5应用显得非常的缓慢。而消耗很少数据的本地应用,可以更快速地下载并处理事务,即使是在连接的边界线上。在这个数据限制的时代,根据设备上的下载,少即是多。最后,如果用户徘徊在一个缺乏无线覆盖的“死亡之地”,HTML5应用程序甚至不会加载。

  安全

  就安全而言,IT经理痛苦地发现浏览器提供了大量的攻击范围。它必须下载脚本并执行,其中某些脚本可能包含黑客插入的恶意代码。本地应用虽然也使用HTTP作为通信管道,它能够实现一个私有的协议,从通过服务器进行他们的事务。任何不与会话协议相一致的数据都会被丢弃或产生警报。因为它有可能窥探这种会话,所以本地应用程序使用一个安全的身份验证机制,在建立一个HTTP连接时,然后加密它的会话数据。

  本地应用的缺点是,你必须亲自实现这些身份验证和加密措施。浏览器在盒子以外提供了这种服务,但这个优势却因在大范围的攻击面而抵消了。Android和iOS框架提供了API,可以建议安全会话,但你必须编写本地代码并测试它的稳健性。当然,一个编程和测试应用安全团队的价格将会远远比因违背安全而丢失数据、引发隐私问题和把你公司的荣誉置于风险之中的损失小得多。

  总之,实现了SOA事务的本地应用的优势,在性能、在带宽受限或不存在地区的稳健性、和安全性方法,远远超出了HTML5应用。然而,“本地化”也迫使你要规范企业到一个移动平台上。有一些可用的跨平台分布工具,有名的Titanium 和Adobe的PhoneGap,他们为iOS、Android和BlackBerry生产了应用。然而,这些使用了HTML5、CSS和JavaScript作为资源,这意味着他们产生了混合应用。如果把目标从基于Web的前面移到移动设备的服务器上,那么使用这些框架转到混合应用路径上,很可能是一个更好的选择。

1
3