恒泰博远,专家级研发软件定制开发公司,为企业定制营销、办公、管理软件 在线咨询 :
咨询电话:010-82969001

比较HTML5的移动Web框架

来源:http://www.hengtaiboyuan.com 作者:恒泰博远 时间:2014-07-05

[摘要]它是一个令人振奋的一年的移动网络。采用HTML5和CSS3的,在移动浏览器改进的性能和移动应用程序框架的爆炸意味着它比以往任何时候都更加可行创建丰富的交互式Web体验的移动设备。使用像PhoneGap的包装,你可以通过本地应用程序商店为iPhone,iPad和一个单一的代码库的Android靶向多平台分发。


它是一个令人振奋的一年的移动网络。采用HTML5和CSS3的,在移动浏览器改进的性能和移动应用程序框架的爆炸意味着它比以往任何时候都更加可行创建丰富的交互式Web体验的移动设备。使用像PhoneGap的包装,你可以通过本地应用程序商店为iPhone,iPad和一个单一的代码库的Android靶向多平台分发。

移动Web开发人员有大量的框架做繁重的他们:过场动画,工具栏,按钮,列表视图,甚至是离线存储。其中大部分是新的景观正在迅速转变。我经历了许多的移动Web框架不见了,比较和分析它们。这里是一些我发现了什么:

的jQTouch
的jQTouch是易于使用和相对良好的记录。它的特色的优秀建筑iPhone应用程序使用HTML,CSS和JavaScript。的jQTouch需要一个渐进增强的方式,建立在你正确构造的HTML之上的iPhone般的体验。这很简单,提供了一套基本的小工具和动画的,只是足够的编程控制,以允许更多的动态行为。

但即使是在我的简单测试程序有性能问题。页面过渡可以是跳跃或失踪,并有应对挖掘事件的周期性延迟。虽然该项目在技术上是积极的,原作者已经改变和发展似乎已经放缓。

的jQTouch可根据麻省理工学院的许可授权,我最喜欢的开源许可之一。

jQuery移动
jQuery Mobile的是块新的孩子。宣布在2010年8月,它很快发展到一个非常实用的阿尔法2,现在在2月28日它带有一个JQM1.1.0。它采用了类似的 - 但更符合标准 - 方法的jQTouch,感觉非常像那个框架的继任者,与UI控件和样式更广泛的阵列。

jQuery Mobile的表现是可变的(尽管比的jQTouch更好),特别是在应对挖掘事件渲染动画。它也缺乏一个小数字键编程钩子,将允许轻松创建更加动态的应用程序中。举例来说,有触发当一个网页是关于加载(即滑入视图)的事件,但没有办法告诉相关的处理程序代码是什么UI元素导致页面切换,或通过其他信息的处理程序。我能创造的解决方法,但希望未来的版本将采取线索来自的jQTouch,打造出这个功能多一点。

在2011年底和2012年的开始的JQM钓到很多网络爱好者的眼球。它是最改善框架的移动Web行业。

jQuery Mobile的可以下任麻省理工学院或GPL2许可。

煎茶触摸
煎茶触摸是移动对口Ext JS框架。其做法来自的jQTouch和jQuery Mobile的显著区别:不是增强已存在的HTML,它生成基于JavaScript中创建的对象,它自己的DOM。因此,与煎茶工作感觉有点不太“威比”,多一些像其他技术,如Java或Flex构建的应用程序。 (它也更有点像YUI不是像jQuery的。)我个人比较喜欢渐进增强的方法,但它确实是一个优先事项。

煎茶远远比竞争对手更广泛,与UI组件,明确iPad支持,存储和数据使用JSON和HTML5离线存储设备的结合,更加繁多。 (这是非常冷静地处理应用程序数据的煎茶的数据结构之一,并观看相应的列表更新是实时的。),这也是唯一的Web框架,我已经看到了内置支持该留在原地(如工具栏)的对象而其他滚动(如列表)。

对于这一切明显的额外的重量,煎茶表现明显更好,比任何的jQTouch或jQuery Mobile的在我的测试中更可靠,除初始加载时间。

当一个库或框架的工作,它通常是适得其反“打框架”,做的事情你自己的方式。鉴于广泛的煎茶触摸是怎么了,这意味着你的应用程序最终可能会做的只是一切的煎茶方式。我最初使用WebKit的内置的离线存储的SQLite数据库,但最终通过移动功能整合到煎茶的数据存储既消除了复杂性和错误。

该文档,而广泛的,有洞奇。与那些和框架的庞大规模,我花了很多时间战斗的bug,而且难以追踪和理解。回应我在开发者论坛的问题更频繁,比其他框架的帮助,但最终还是不足。煎茶提供付费支持开始$300/year;我强烈考虑购买它,但奇怪的是,他们的回应我的销售支持查询是令人难以置信的深刻印象给我在送他们钱的兴趣。

煎茶触摸可根据GPL3;下一个有点混乱集例外GPL的,似乎类似LGPL的;或下一个免费的商业许可。

钛移动
就像煎茶触摸,Appcelerator的钛移动允许你使用一个JavaScript API来编写应用程序。但是,与煎茶,它编译你的大部分代码放到一个原生的iPhone或Android应用程序。这意味着它是不是一个真正的Web框架,而是一个兼容层或编译器。 (需要注意的是其表弟钛桌面是基于Web的,可以让你编写桌面上的本地包装内运行的HTML/ JS的应用程序。)

因此,钛允许Web开发人员使用JavaScript和一些XML,即不学习Objective-C或可可触摸到生产高性能,轻松换肤的本机应用程序。我简单的测试应用吹散了在性能方面的真正的Web框架,并且不是更难放在一起。

但这种优势也是其最大的缺点:只能针对平台的钛支架和你绑到自己的开发工具。仿佛是为了证明这一点,我的测试应用程序很快就进入状态,它不会在iPhone上推出。钛不包括太多的调试器;钛项目不能运行和调试在XCode中;并且在模拟器中运行得很好,让我有没有真正的方法来攻击问题。

分析
重建三四个框架我的应用程序是单调乏味的,但教育。我喜欢的jQTouch但很难相信它会发展很多来自这里。我暗暗为jQuery移动为它的简单性和其本身的以Web为中心的发展方式...但它缺乏一些关键功能,并且不执行,以及煎茶触摸。

这是不公平的一个Alpha2的产品与1.0相互比较,除了在一个方面:我需要的东西了。这让我想起煎茶触摸。我最初与印象深刻的性能和广度,但其发展的风格放一放。正如我挖,其文档中的孔一直令人沮丧,但广度不断打动了我,我已经得到了更习惯的编码风格。对于付费支持选项是诱人的,而我可能会买它,如果他们愿意回答我的电子邮件。但现在,品脱是煎茶为基础的应用程序。

结论
我还没有回答的大问题:可以在基于Web的应用程序真正保持它自己并肩本地应用程序?如果是这样,是得到它的价值有一个单一的代码库的利益的挑战是什么?

答案是肯定的!因为基于Web的应用程序需要HTML5和CSS3的核心知识。