现在Qt不要光看跨平台了,Qt也有能力和原生应用进行较量的。
可以直接去Qt官网查看他和那些厂商合作。关于和Java的比较,框架和Java进行比较似乎不且实际。
如果是C++和Java比较,网上有很多文章,可自行翻阅,不要在知乎上看C++和Java比较,黑了C++,捧了Python和PHP。Java呢?晾一边了。
在安卓上的话,现在问题可能很多,但是随着Qt的更新,大体解决得七七八八了。Qt on Android 对于原有Qt开发人员和爱好者是一个不错的选择,虽然在Qt可以完成大部分安卓的对应功能,可以做到不敲Java代码,但是Qt官方的意图是让程序猿少敲Java代码,所以提供了Android Extra模块。(对于安卓3.0以下可能不完善,但是例如各种传感器,摄像头,本地化等等支持很完善了,WebView的问题貌似在Qt5.5解决了,如果不行就Java和C++混编,混编难度大?一个人确实是难了点,但是对团队来说,这种事情很好解决的)。
然后,Qt说到底,还是跨平台的界面库,所以对于主流系统的支持会日渐完善的。
另外由于C++本身特性,适合和脚本语言结合,完成静态语言和动态语言的长短相补。所以我安利一下QML~
作者:qyvlik
链接:http://www.zhihu.com/question/32282261/answer/57381061
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
除了尺寸有点大,不如原生SDK血统纯正,
没别的大缺点
网易战网客户端就是Qt quick写的
--------------------------------------------------------------------------------------------------
具体大坑:
http://www.zhihu.com/question/37331229
--------------------------------------------------------------------------------------------------
不看好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开发团队多少人?但目前他们要支持多少平台。 Linux/Windows/Mac/Vxworks/QNX/Android。 如果没有一个比较大的商业级别软件在用QfA,官方能做的就是让这个软件在Android平台能编译,运行,解决一些明显的bug。
7. Qt做mobile最好的机会就是被大款看上。她也曾经被看上过(Nokia 和 Intel)。 但是被Elop害死了。 我恨他!!!!!!!!!!!!!!!!!!!!! !
Qt是一款优秀的开发套件,我爱她。
作者:朱加平
链接:http://www.zhihu.com/question/19689965/answer/22507712
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
-------------------------------------------
Android图形系统确实已经很好了,但是某些就此而下结论说Qt for Android的没有前途或者未有必要未免太过武断。
Qt for Android还是有他的优势:
1. Qt主打的优势是跨平台,Qt5.2已经可以较完整的支持Android和IOS,目前从跨平台这方面来讲Qt是最好的没有之一。
2. 经过近20年的锤炼,Qt已经积累丰富实用的,网络,2D图形,3D图形及UI库等,这些如果能在Android上得以重用自然是好事
3. Java在很多复杂运算上面的效率是不如C++的,虽然有NDK,但是使用起来还是略显麻烦,Qt for Android在这方面就容易的多了
4. 对于一些C++的死忠,而又需要开发Android的应用,但是又不想学习Java Android开发的人Qt提供了一个快速上手的好选择
5. QML+JS可以方便快速的开发出高端大气上档次的UI,同时效率又比HTML5高出将近5倍(网上有测评)
因此,有没有前途跟用什么技术没有太大关系,重要的是你用它来做什么应用。
作者:Leo Lei
链接:http://www.zhihu.com/question/19689965/answer/22313952
来源:知乎
著作权归作者所有,转载请联系作者获得授权。