Canonical的Mark Shuttleworth声明:Ubuntu 11.10发行版本将预装Qt运行库。原本ubuntu系统上面的桌面,软件等都是基于GTK图像库开发的,这种情况就阻止了Qt应用程序开发者为 ubuntu这种基于GTK的linux操作系统开发应用程序,GTK图形库使用的是dconf作为更基础的系统配置库。Canonical现在已经开始投入人力使Qt和dconf能有机的整合在一起,这样做的好处是Qt应用程序可以很好的在GNOME桌面运行,而且保持和GNOME桌面风格一致的软件外观(译者注:不同图像框架下的应用程序会有不同的表现形式,比如你在现在的ubuntu下面运行XWindow的应用程序xpdf)。
Shuttleworth在他的邮件中说到(原文):
"System settings and prefs, however, have long been a cause of friction between Qt and Gtk. Integration with system settings and preferences is critical to the sense of an application “belonging” on the system. It affects the ability to manage that application using the same tools one uses to manage all the other applications, and the sorts of settings-and-preference experience that users can have with the app. This has traditionally been a problem with Qt / KDE applications on Ubuntu, because Gtk apps all use a centrally-manageable preferences store, and KDE apps do things differently.
To address this, Canonical is driving the development of dconf bindings for Qt, so that it is possible to write a Qt app that uses the same settings framework as everything else in Ubuntu. We’ve contracted with Ryan Lortie, who obviously knows dconf very well, and he’ll work with some folks at Canonical who have been using Qt for custom development work for customers. We’re confident the result will be natural for Qt developers, and a complete expression of dconf’s semantics and style."
翻译(by Aries)
“系统功能设置和系统外观设置等,是长久以来引起Qt和GTK摩擦的根源,让系统设置和系统外观设置等功能和Qt有机的整合在一起是非常重要的,这样可以让大家感觉Qt应用程序也是属于ubuntu系统的一部分。而且也可以让操作系统对应用程序的设置进行统一的管理,比如用户可以通过统一的系统设置来软件的外观,不管是不是Qt应用程序。不过这项整合工作对于Ubuntu系统上面的Qt/KDE应用程序来说是个问题,因为GTK应用程序使用的是统一的软件配置管理功能,而KDE则不一样。”
“为了解决这个问题,Canonical开始了dconf和Qt整合工作的开发,这将有可能写出看上去和ubnutu操作系统主题保持一直的Qt应用程序。我们已经联系到了Ryan Lortie,他对dconf非常了解,并且他将和其他几位Canonical的对Qt相当了解的工程师们一起来实施dconf和Qt的整合工作。我们对此结果充满信心,并且此整合工作将使Qt应用程序开发者们开发出和系统主题保持一直的程序,也会对dconf的语义和语法有一个更完整的表达。”
这里是Ubuntu的社区管理员Jono Bacon在Ubuntu新闻网站的一段评论:(原文)
"Why is Ubuntu shipping Qt on the CD in 11.10? – there are two drivers behind this decision. Firstly, the Ubuntu project is working to ensure that Qt application developers can write apps which fit into the Ubuntu desktop smoothly. It is important that Ubuntu, as a platform, address the needs of developers, giving them as much flexibility as possible while retaining a coherent standard experience for users. Secondly, giving developers the extra toolkit option should mean we end up with better apps all round as the range of apps for assessment and inclusion will be wider. The key criteria for evaluation of any app for inclusion are independent of the actual toolkit. We won’t ship an app by default that we don’t think offers a great experience, not just on a standalone basis but as part of the whole system."
"Does this mean Qt apps could be included on the CD? – we’ll be open to Qt apps being included in Ubuntu if they are appropriately integrated. If an application integrates well into the Ubuntu experience, we would be open to its inclusion in a release to offer the best experience for Ubuntu users. By “integrates well” we mean things like: uses the dconf configuration system with live adoption of settings changes, follows Ubuntu font and theme settings automatically, uses our menu and indicator and notification system appropriately etc."
翻译(by Aries):
“为什么Qt运行库要随ubuntu 11.10版本发布? - 这是由2个方面的因素决定的。首先,ubuntu项目组一直致力于让Qt应用程序开发者为ubuntu开发的应用程序能平滑的融入到系统中。这对 ubuntu来说非常重要,作为一个平台,满足开发者的需求,在能很好的满足系统主题风格一致以及良好的用户体验的情况下,尽可能的给于开发者更大的自由。其次,给开发者额外的开发工具意味着我们将会有更好的应用程序,因为我们是从多的应用程序里面选择(译者注:ubuntu 11.10以前只发布基于GTk的GUI应用程序,而11.10以后就会发布基于Qt和GTK的应用程序,这样选择就更广了),到时候我们选择应用程序的标准就不再是安装开发工具的不同而划分了,我们不会发布我们认为用户体验不是很好的应用程序,而不再站在衡量此应用程序是不是属于操作系统的一部分来考虑问题了。”
“这是不是意味着Qt应用程序会随着ubuntu的CD一起发布? - 我们对Qt应用程序的态度是开放的,只要Qt应用程序能和系统有机的整合在一起。如果一个应用程序很好的和系统整合在一起了,并且具有良好的用户体验,我们就会把此应用程序随着ubuntu系统一起发布,因为这样给用户的体验才是最好的。对于“很好的整合”一词,我们的解释是:应用程序应该使用dconf 配置系统进行统一的设置,自动随ubuntu系统字体和主题的改变而应用程序的外观,正确的使用我们提供的目录,指示器,系统提示等等。”
从MeeGo系统的观点来看,以上消息对于MeeGo系统有2个好处。第一,此消息表明了诺基亚的移动开发平台越来越收到大家的关注。第二,因为ubuntu将成为MeeGo在上网本市场的一大竞争对手(ubuntu使用unity桌面),2个操作系统都会由于采用同样的开发框架而受益,这样开发人员就可以一次开发,同时在MeeGo和ubuntu系统上面发布应用程序。随着大家对MeeGo预期的,以及诺基亚鼓励开发人员使用为 symbian开发Qt应用程序,ubuntu可能会是此次行动的更大的受益者。这就是说,此次行动将会迎来更多的人为MeeGo和塞班开发Qt应用程序,而不会投身到ubuntu的dconf和Qt整合工作当中(译者注:大家都会等ubuntu整合好dconf和Qt之后把此前为MeeGo和塞班开发的程序直接发不到ubuntu系统上去)。当然,所有这些都算是好消息。
另外一个有趣的观点是,ubuntu用户可以通过使用Clementime音乐播放器来看看Qt应用程序在GNOME桌面运行的效果。更有意思的是,GNOME项目组已经开始为MeeGo平台支持GTK应用程序做准备了。 |