跨平台应用——Qt VS HTML5(下)

Qt对比HTML5——正反两面

支持的平台
  • HTML5的支持无处不在web

  • Qt支持全部主流平台(并且非主流平台碰巧用它作UI)浏览器

虽然理论上你能够用HTML5适配更多平台,但这不是大多数开发人员在现实世界里使用它的缘由。HTML5开发者愈来愈多地放弃浏览器以及构建混合App。大部分移动开发者针对Android、iOS、Windows Phone和BlackBerry 10当中的几个平台进行开发。Qt不只支持这些平台,而且还支持更多的。事实上,在实践中咱们的数据代表,平均来看Qt开发人员实际上覆盖的平台比HTML5开发人员还略多一点。结果是,对于那些想在智能手机、智能电视等任何平台运行软件的开发者来说,Qt相比HTML5的一个显著优点是让二者不分胜负。框架

移动开发:跨平台应用——Qt VS HTML5(下)

学习曲线

这点取决于你是否已是一个web开发者。若是你是,学习构建移动web应用可能比学习Qt容易些。然而若是你是新手,那Qt有明显的优点——你只有一个框架要学;而HTML5呢,你在还没开始的时候就要从十来个框架中选一个学习。Qt还有很是强大的文档,而web框架则不必定有。在一个公平的比赛里,这是Qt的一大胜利。工具

开放性
  • HTML5是开放标准,有多个开源实现。性能

  • Qt是开源的,可是有双重许可,由一个单一的供应商有效控制。学习

显然HTML5比Qt更加开放,这不老是一个优点。建立标准并让多个供应商去实现的过程是漫长的,Qt能够更灵活。若是你真的须要让开源项目修复一些Bug或添加一个新特性,你能够本身作或者花钱请人去作。若是你须要支持IE而且修复IE中存在的问题,那么你必须本身解决或等微软来解决。同时没有供应商能锁定HTML5,让web哪儿也去不了。别人能够买Qt并把它带向与你目标不符的方向,或者他们能够把价格提升到超出你的预算。HTML5在这点上有优点但不是一个明确的胜利。动画

成本
  • 构建HTML5是免费的,也有一些非必须的付费工具能够提供帮助。ui

  • 对于移动端的大多数商业应用,Qt 须要商业许可证书。spa

Qt的开源许可协议与大多数应用商店不兼容。尽管Qt的iOS版本是在开源状态下开发的,但你须要一个商业许可才能在应用商店上架。.net

跨平台兼容性
  • HTML5的一个标准对应有多个独立实现。

  • Qt是一个供应商在多个平台上实现相同的运行时环境。

多个实现,与几个开源伙伴和一个大型社区一块儿汇报和围绕兼容性问题工做造就了一个很是健壮的平台。有一个供应商确保全部平台表现一致,对你的应用兼容性来说几乎老是更好的。Qt获胜!

性能
  • HTML5的DOM不是为如今的移动应用构建的。

  • Qt Quick(QML)的scene graph是直接在OpenGL ES上构建的。

两个环境都使用JavaScript。然而使用Qt时,若是你真的须要原平生台的功能或性能,会更容易降低为原生代码。使用Qt,JavaScript和本地代码之间切换的性能损失要低得多。然而,最大的区别是图形性能。追求性能的人在使用HTML5时经常借助于复杂的方案来规避DOM ,能不碰就不碰。在WebGL上构建整个UI看起来是有前途的方式,但得看将来的执行状况。如今,WebGL已经有更普遍的支持(Apple在iOS8加入了对WebGL的支持)。Qt在这点上有很大优点,相比web开发者的CSS3,Qt还有更多的动画选项

原生用户体验
  • 使用HTML5,要么依赖相似Ionic之类的第三方框架,要么构建本身的原生界面元素的替代品。

  • 使用Qt时你可使用那些克隆了原生界面元素的组件,或者直接调用原生UI。

在Qt里能够调用原生API,但这损失了跨平台兼容性。实际上,当你须要真正的原生用户体验时,哪一个选择都不能很好地知足需求。两个方案均可以模仿某些应用的一个子集。通常来说,当你须要一个彻底自定义UI或原生外观时,能够采用跨平台的方式。

结论

经过对这些指标的比较,Qt比HTML5略有优点。然而你也可使用其余指标来比较,得出结论。在实践中,须要选择适合项目的技术。两个选择都有优势,若是你是一个HTML5开发人员,不熟悉Qt的产品,它们值得一看。还有一点我没说起,Qt可使用webview来显示HTML5内容,这意味着并不须要非此即彼,能够合二为一。

Qt Enterprise最新版下载>>

文章转载自foruok
相关文章
相关标签/搜索