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

尽管对于面向大众消费市场的应用来说,为每一个平台构建一个独立的原生App已经被证实是当下最成功的方法,但跨平台仍然颇有意义。在本文中,咱们来看看最受欢迎的选择,使用HTML5的混合Web应用和积极进取的挑战者Qtweb

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

为何选择Qt?

那些熟悉Qt历史的人看到它被描述为“积极进取”可能会感到惊讶。Qt一开始被设计来构建跨平台的桌面应用,它的创始人在1994年开始为它工做!然而,当诺基亚收购Trolltech后,Qt开始对移动开发感兴趣,公司开始大力发展Qt,大量投资,想让它成为构建移动应用的理想工具。不幸的是,诺基亚刚刚做出这一战略决定没多久,iPhone面世了。iPhone改变了游戏规则,移动应用构建很快从面向带数字键盘和Qwerty键盘的设备转向以触摸操做为主的设备。前Trolltech工程师意识到他们须要一个很是特别的方式来建立应用支持诺基亚参与竞争。浏览器

当史蒂夫·乔布斯在iPhone面世时说iPhone比竞争对手领先五年时,基本上是正确的。可能由于Google的高官们意识到了iPhone的领先优点,Android已经缩短了一些差距。不幸的是,诺基亚最终放弃了它本身的基于Qt的设备,转而支持Windows Phone,然而他们在软件上花费了太长的时间,最后他们在生态系统的竞争中远远落在后面。他们把Qt出售给了一个主要的服务供应商——Digia,Digia最近为Qt这个产品创建了一个独资的实体——the Qt Company。只有从诺基亚彻底解脱出来后,Qt才又回归到它做为跨平台框架的本源,开始支持主流的移动平台。然而,与此同时,其余人已经看到了诺基亚投资移动应用创建起来的伟大基础,所以,BlackBerry 10(黑莓10),Jolla Sailfish(旗鱼),Ubuntu Mobile和Tizen平台都选择Qt做为核心框架。app

从我的角度来讲,在2011年早些时候,一些开发人员用Qt为Symbian(塞班)重写了一个流行的iOS游戏。当时UI设计和通用调试工具还有点不成熟,但在工做过的全部平台中,它拥有最简单的学习曲线和最愉快的开发经验——尽管Qt的核心使用了对开发者不太友好但高性能的C++,但Qt甚至在某些配置至关低的硬件上也达到了60fps的性能。学习Qt新的UI技术——Qt Quick至关简单,您能够在短短几天内为游戏构建出菜单界面。框架

为何选择 HTML5,或者不选择?

HTML5是开发者在构建跨平台移动应用时最流行的选择,然而它彷佛慢慢有点儿失宠。Web browsers和Web views在每个平台上均可用,web开发者能够把建立网站的技术平移到构建App上。像Cordova(PhoneGap之类的开源框架让使用HTML5的开发者能够访问移动设备的附加功能,而且将应用打包成每一个平台的原生格式也很简单。额外的好处是,您一般能够用最小的付出,同时拥有一个基于Web的应用和一个放在应用商店里的应用。在构建以UI为中心的应用时,HTML5一般比原生应用更有效率。当涉及到使用库和框架来构建移动web应用时,HTML5也有一些尴尬。混合web应用程序有一个特别的优点(至少在iOS上),可以直接更新他们的代码,避开应用程序商店的审查过程(除了重大变化)。工具

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

鉴于其广泛性和庞大的开发者基础,为何HTML5不是默认的跨平台方法?尽管有许多优势,混合web应用开发者一直在和性能问题作斗争(必定程度上是因为不完整或过期的webview实现形成的,在最新版本的iOS和Android上,这个问题已经被修复了,尽管这将须要一段时间来渗透整个安装基数)。还有一个问题是各类各样的移动浏览器对标准的支持乱七八糟(这点正在改善但还远远没有完全解决)。Web技术尚未真的被设计来知足移动用户如今期待的充满动画效果的UI。性能

一些很是高调的消费类初创公司已经公开从web混合应用切换到了原生移动应用。关于这些切换,最多见的说法是缺少足够的相关工具。能够确定的是,让web apps在内存受限的前提下在移动设备上表现良好是可能的,但鉴于当前的调试和性能分析工具的现状,与生产原生应用相比,那仍然不是一件容易的事情。这么说吧,并非全部的应用程序须要完美的UI动画,我也不是拿HTML5和原生应用相比。因此,在下文中我将介绍它和Qt的比较,敬请期待!学习

Qt Enterprise最新版下载>>动画

相关文章
相关标签/搜索