使用Qt开发iOS应用有何优劣?

59 篇文章 1 订阅

作者:JasonWong
链接:https://www.zhihu.com/question/25078050/answer/104635143
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
 

目前我已经有13个由Qt开发的App上架了iOS App Store,我感觉我还是比较有资格来评价这件事的。

首先我注意到这已经是一个2年前的问题了,我差不多也是2年前开始用Qt开发iOS,那时候应该也是Qt刚支持iOS开发。像一个回答里说的,那时候的确不稳定。不稳定到什么程度呢,Widgets程序,里面用了样式表,就崩溃。跑着跑着,点两下,也会崩溃。然后我人也崩溃了。但是没想到我竟然一路填坑过来了。

如今2016年6月。我用着Qt5.6的版本。崩溃的问题基本已经没有了,不管是Widgets还是Quick。

如果要我用一句话总结Qt开发iOS,那会是下面那句话:

“如果没有跨平台需求,并且对Quick也不熟练,那么请不要用Qt开发iOS程序”

这主要体现在一下3点:

1.关于跨平台:

Qt的一大优势就是跨平台,一份代码若准守Qt标准开发,那么理论上可以跨所有Qt支持的平台并且不需要修改。但是这个是有代价的。比如说对于iOS平台,若用OC或者swift,可能用1份的开发时间就可以完成开发,但是用Qt可能是1.5份。这主要体现在Qt在移动平台没有提供现成的、成熟的(Qt目前有一个lab,是一个控件包,针对移动平台有做优化,但是还在测试阶段)控件供应开发者使用。比如说Qt没有侧滑窗口、没有滑动返回、没有顶部状态栏,很多东西都需要自己造轮子,非常浪费时间,而且效果不一定好。我记得5.5的时候,连访问系统相册这个功能都没有,要自己写OC代码去访问,不过5.6加上了。这个开发的工作量,对于一个没有跨平台需求的App,明显是不合适的。但是如果有跨平台需求,那么可能是1.5份的开发量,就可以获得iOS+Android两份平台的App,相比2份的开发量性价比就上来了。而且如果有需求还可以部署到WP、UbuntuPhone等移动平台。

2.关于Quick

Qt从5开始,就主推界面用Quick开发(Quick是框架,QML是配合Quick的一个语言),然后用C++开发复杂的逻辑。这个愿景是好的,但是推行真的很慢。这是因为新的框架也就是Quick,带来了新的学习成本,这个直接就吓跑了很多人。我知道很多用Qt的人,即使开发了N年Widgets,对Qucik也可能都是完全没有接触的状态。当然Quick本身是好的,相比Widgets开发效率高、漂亮、运行速度快。另外,如果是Widgets开发移动端App,我建议你直接打消这个念头,还是算了。这主要是因为用Widgets开发的程序,各方面实在是太差了。比如说Widgets很多界面都是CPU绘制的,然后移动平台CPU本来就弱,这就导致了界面很卡。还有开发效率也低。

3.关于成熟度

从目前Qt5.6的角度看,已经加入了很多以前没有的模块了,我觉得用于Qt开发一些基础的App,已经完全可以胜任了。但是对于功能复杂的App,我建议还是权衡一下比较好。还有就是现在很多SDK包,都只对原生框架做了适配,用Qt开发意味着还是要回到原生框架去处理一些通讯、交互什么的,这个也要注意。

以上3点,是使用Qt开发iOS的App时,需要权衡的地方。此推断,我觉得同时适用于Qt For Android。

但是!不适用于Qt开发桌面程序,拿Qt开发Windows、OSX、Linux程序,我觉得还是非常不错的,即使没有跨平台需求,也可以考虑下。

另外,从Qt角度看,开发iOS程序可以直接获得到的好处,我觉得也有以下2点:

1.不需要过多的学习,就可以直接上手开发App。

比如说我,不会OC,不会Swift,但是我任然可以开发iOS的程序,这是Qt给我带来的一个非常明显的好处。

2.Qt本身:

Qt本身是一个C++的全方面扩展库(这里指C++那些库),而且质量也好,提供了非常多的实用接口。使用Qt库,相比C++裸写,可以提升开发效率,这个也是很可观的。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Qt是一个跨平台的应用程序开发框架,它支持iOS平台的应用程序开发。以下是一些关于在Qt开发iOS手机应用的基本步骤: 1. 安装Qt开发环境:首先,您需要下载并安装Qt开发环境。您可以从Qt官方网站(https://www.qt.io/)上下载适用于iOSQt版本,并按照指示进行安装。 2. 配置Qt Creator:在安装完Qt之后,打开Qt Creator,点击“工具”菜单下的“选项”,然后选择“设备”选项卡。在这里,您需要添加并配置iOS设备。 3. 创建新的Qt iOS项目:在Qt Creator中,点击“文件”菜单下的“新建文件或项目”,选择“其他项目”下的“Qt应用”模板。然后,选择iOS平台,并按照向导进行项目配置。 4. 编写应用程序代码:在Qt Creator中打开新创建的项目,您可以编写应用程序的代码。Qt提供了丰富的API和工具,使得在iOS开发应用程序变得更加容易。 5. 构建和调试应用程序:使用Qt Creator的构建工具栏可以构建和调试您的iOS应用程序。您可以选择使用模拟器进行调试,或者将应用程序部署到实际的iOS设备上进行测试。 6. 发布应用程序:一旦您完成了应用程序的开发和测试,您可以使用Qt Creator的发布工具将应用程序打包为iOS应用程序文件(.ipa),然后将其提交到App Store进行发布。 请注意,QtiOS平台上的应用程序开发可能会受到一些限制和要求,例如苹果公司的开发者计划和App Store审核规则。因此,在开发过程中,请确保遵循相关的规定和要求。 希望以上信息对您有所帮助!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值