不看好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是一款优秀的开发套件,我爱她。
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
来源:知乎
著作权归作者所有,转载请联系作者获得授权。