新闻资讯

新闻资讯 产品更新

Qt 对比 HTML5 ——正反两面

编辑:admin     时间:2015-05-13

支持的平台
HTML5的支持无处不在
Qt支持所有主流平台(而且非主流平台碰巧用它做UI)
     理论上你可以用HTML5适配更多平台,但这不是大多数开发人员在现实世界里使用它的原因。HTML5开发者越来越多地放弃浏览器以及构建混合app。大部分移动开发者针对Android、iOS、Windows Phone和BlackBerry 10当中的几个平台开发。Qt 不仅支持这些平台,而且还支持更多。事实上,在实践中我们的数据表明,平均来看,Qt 开发人员实际上覆盖的平台比HTML5开发人员还略多一点。结果是,对于那些想在智能手机、智能电视等任何平台运行软件的开发者来讲,Qt相比HTML5的一个显著优势让两者不分胜负。
学习曲线
    这点取决于你是否已经是一个web开发者。如果你是,学习构建移动web应用可能比学习Qt容易些。然而,如果你是新手,那Qt有明显的优势——你只有一个框架要学,而HTML5呢,你在还没开始的时候就要从十来个框架中选一个。Qt 还有非常强大的文档,而web框架则不一定有。在一个公平的比赛里,这是 Qt 的一大胜利。
开放性
HTML5是开放标准,有多个开源实现。
Qt是开源的,但是有双重许可,由一个单一的供应商有效控制。
      显然 HTML5 比 Qt 更加开放。这不总是一个优势。创建标准并让多个供应商去实现的过程是漫长的,Qt 可以更灵活。如果你真的需要让开源项目修复一些Bug或添加一个新特性,你可以自己做或者花钱请人去做。如果你需要支持 IE 并且 IE 有个问题,你必须自己解决或等微软来解决。还有,没有供应商能锁定HTML5,让web哪儿也去不了。别人可以买 Qt 并把它带向与你目标不符的方向,或者他们可以把价格提高到超出你的预算。HTML5 在这点上有优势但不是一个明确的胜利。
成本
构建HTML5是免费的。也有一些非必须的付费工具可以提供帮助。
对于移动端的大多数商业应用,Qt 需要商业许可证书。
       Qt 的开源许可协议与大多数应用商店不兼容。尽管 Qt 的 iOS 版本是在开源状态下开发的,但你需要一个商业许可才能在应用商店上架。使用 Qt 为 iOS 和 Android 商店开发移动应用,最低的成本是一个月25美金。HTML5 胜出。
跨平台兼容性
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 内容,这意味着并不需要非此即彼,可以合二为一。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

回复列表

相关推荐