其实我倒是觉得Qt后面尚需要一次巨大的变革,这个变革并不在技术层面,
而是在设计层面(设计又包括两个方面,技术上API的设计,以及面向最终
用户的体验设计),这条路还很长,也并不好走。对于Qt团队而言,技术上
是不存在困难的,但如何设计一个稳定易用的API,以及在不同平台上以什么
样的方式来支持平台差异化的体验,恐怕并不容易了。
Qt这次迁移到ios和android其实质是从“桌面”环境迁移到了“移动终端”环境,
这是Qt从未有过的变革。虽然其很早就在嵌入式领域畅行无阻,但那种嵌入
式环境其实只需要阉割桌面环境下的部分功能即可完成,所以Qt的体系是不
需要变动的。但这次的升级,可能需要扯动更多API层面的东西。
举几个能想到的例子来说说Qt现在在移动终端环境中的不足:
1. ScrollView系控件(所有ScrollView的子类控件)在移动终端几乎是不具
可用性的。在官方更新之前,恐怕开发者还需自己重新实现更多控制体验。
2. 多点触摸和手势操作的API匮乏。目前对Qt手势操作的经验还停留在重新
实现那几个touchevent方面,Meego曾做过一些工作,但是不得不说,便利
性方面和IOS的API还有很大距离。
3. android和ios版本上的文本输入框的平台特定操作均实效(即弹出一个选择,
剪切,删除的横条),这对于终端用户来说简直是不可接受的,还有半个月
时间发布,希望这个问题到时可以解决。
4. 有些和GUI绑定的系统服务,不知道QT是如何实现的?比如IOS上从发送邮件
的那个操作,貌似是必须弹出系统指定的ViewController,这个好像得做些特殊
处理,不过支持起来应该很简单。
5. QWidget系对象的资源消耗能否得到控制?移动终端需要大量的动画效果,比如
拖动一个List。根据以往的经验,QWidget是个很占资源的东西,直接对其做动画
在大多数设备上都并非一种经济的方式。我后来基于GraphicsView重新实现了一套
自己的button,那个动起来不费劲,数量多也不是问题。
暂时能想到这么多。
以上
Kermit