扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这主要体现在一下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开发意味着还是要回到原生框架去处理一些通讯、交互什么的,这个也要注意。
创新互联是一家专业提供莒南企业网站建设,专注与成都网站设计、成都网站建设、HTML5、小程序制作等业务。10年已为莒南众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。
不好,坑挺多的,只能说勉强能用
如果是主打桌面端,顺手做个安卓端,可以。
想专门去开发安卓的话,建议还是用Java吧
Androd本身就支持用C/C++开发程序。何来绕过不绕过之说?
你可以百度一下NDK。
Qt for android提供了Qt的类库来支持android开发。但是实际上程序包会因为附带Qt的类库而变得很大。而且Qt for android目前开发文档对国人并不友好,许多东西查不到,或者只有英文(这一点毛病NDK其实也有)。庞大的软件体积带来的缺点使之开发的C++程序在效能上其实并不比java开发的android程序要好。所有建议你了解一下。先学好ADT开发android程序在说吧。额且java的语法规则与C++极其相似。学习成本很低。C++学的好了。java就能快速上手。
您好,很高兴为您解答:
不看好Qt for Android。以下简称QfA.
1. 跨平台只在PC上有优势,在移动设备上毫无优势。移动设备整体的应用风格需要保持一致,你外部加进来一个UI,倒是和平台保持一致了。你如何保持和原生UI的这种使用一致性。
2.在开发易用度上,Android(java) API 已经做得很好,包括事件,广播,服务等Qt里有的基本上Android API里已经做得很好,从Qt开发者转为java开发者也很容易。 而如果要写QfA应用,开发者不仅要懂Qt,同样也避免不了要写java代码。
3. 如果要写和其它app通信的时候,QfA的灾难性就来了。如果是上层的几乎等完整的搞一遍Android API吧。 另外对于和设备相关的一些调用(GPS/Telephony)等,QfA的工作量一下子就上来了,这时候你还指望QML么?
4.性能呢? QfA对于图形渲染区的请求还得在java的接口请求,是不是又要绕了个大弯。
5. 软件体积。 终端用户要用Qt app,势必要先装一个Qt lib, 或者在你的app 中一起静态发布。
在有很多优秀的QfA app出现之前,大家不带乐意只为一个好的app 去装一个大的软件,而会愿意选择一个原生软件替代。
6.官方支持。目前Qt开发团队多少人?但目前他们要支持多少平台。 如果没有一个比较大的商业级别软件在用QfA,官方能做的就是让这个软件在Android平台能编译,运行,解决一些明显的bug。
7. Qt做mobile最好的机会就是被大款看上。她也曾经被看上过(Nokia 和 Intel)。 但是被Elop害死了。
如果我的回答没能帮助您,请继续追问。
我也有动力写这篇文章了。 下面我简单介绍一下用Qt Creator写Android应用的步骤。 PS: 在这之前你应该搭建好一个Qt-Android环境,参考我另一篇文章: 设置qt-android开发环境 第一步:创建一个Android项目 我以Empty Qt Project为例。点击Choose后出现一个对话框要求填写Project的名字和选择路径,输入完成后点击Next,到下面一个比较重要的操作:选择Qt Version 注意,默认是选择Destkop的,正确应该按上图设置。设置后按Next确认一下,没有错就按Finish完成Qt-Android项目的建立。只要正确建立了Qt项目,就完成了一大半了。下图是完成后的一个截图: 第二步:编写程序 在这步大家按照平常Qt Creator的步骤写程序就好。但是注意的是,有些模块暂时还没有移植,例如Qt网络模块,所以不能有网络相关的应用(不过我想这迟早会移植的)。 作为例子,我就用hello world吧:#includeQApplication#includeQLabelintmain(intargc, char**argv){QApplicationapp(argc, argv);QLabel*label=newQLabel("palign=centerHello, World!/p");label-show();returnapp. exec();}第三步:设置编译选项 Projects标签 - Run 展开Package configurations,选择Android target SDK,(android7为例) 展开紧跟下面的Deploy configurations,选择Deploy local qt libs 然后按左边倒数第三个绿色三角按钮运行: 第四步:手机上运行 你写的应用会打包成apk放在你项目文件夹里的/android/bin里面。把它拷到手机上安装。但是这样手机还不能运行这个程序,毕竟Android系统没有Qt的库。这个时候你就需要Ministro,一个为Android系统Qt程序运行下载所需要的库。可以到电子市场搜索Ministro,或者到Ministro项目里下载:Ministro 。安装好Ministro后再运行Qt程序,根据提示下载需要的库。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流