Back to Blog home

Qt Quick 1.0 及其它 (或者叫一个有很多链接的文章)

Published on 星期三 三月 09, 2011 by 殷允桥 in Qt Quick qt-labs-chinese | Comments

原文链接:[Henrik Hartz](http://labs.qt.nokia.com/author/hhartz/)-[Qt Quick 1.0 and beyond (or, the post of many links)](http://labs.qt.nokia.com/2011/03/01/qt-quick-1-0-and-beyond-or-the-post-of-many-links/)

UI开发者们让我们欢呼一下吧,今天我们发布QtQuick 1.0了!对那些本就是我们正在成长中的社区([1](irc://irc.freenode.net/qt-qml)[2](http://lists.trolltech.com/mailman/listinfo/qt-qml)[3](http://bugreports.qt.nokia.com/browse/QTBUG/component/19204))的活跃用户来说,除了澄清了一点接下来的应该被引导的方向外,这或许不是什么及时的新闻。不过对于仅仅最近才知道Qt Quick有多棒的朋友们,请让我来为大家稍微总结一下:

[Qt Quick](http://doc.qt.nokia.com/4.7/qtquick.html)是一个包含了三部分技术的集合:

* [QtDeclarative](http://doc.qt.nokia.com/4.7/qtdeclarative.html);集成在Qt内的Qt Quick运行时库
* [QML](http://doc.qt.nokia.com/4.7/qdeclarativeintroduction.html);Qt MetaObject Languange,允许通过声明的方式构建用户界面和用户体验
* [Qt Creator](http://doc.qt.nokia.com/qtcreator-snapshot/creator-qml-application.html);集成对QML项目和代码的支持

Qt Quick和QML语言是声明式的,使用Javascript进行绑定和属性值访问;所以当QML在提供更好的性能同时还减少了你的代码时,也要留意JavaScriptCore (我们[正在使用](http://labs.qt.nokia.com/2011/02/24/qt-people-our-javascript-platform-is-burning-rubber/) 的JavaScript引擎)会要求额外的内存开销。

在去年,QML和QtDeclarative通过Qt 4.7.0和Qt 4.7.1和gitorious上面的源代码等途径使得它们已经可供早期使用者和主流开发人员所使用。自从QML第一次发布以来,我们既验证了这一引擎和声明性语言难以置信的生产力优势,也收到了来自于我们社区的大量帮助,从而保证了性能和稳定性方面也一直达标。在此对拥抱和帮助推广这一技术的每个人表示由衷的感谢!

今天我们带来了这份拼图的最后一块:Qt Creator和Qt Quick设计器!Qt Quick设计器是一个所见即所得的QML用户界面编辑器, 她允许你用可视化的方式创建和安排你的界面的同时还能和你的QML代码保持完美的同步。而且,这不是通过类似Qt设计器那样的单独的代码生成步骤, 而是通过直接操作你的QML代码来完成的。你可以从我们的[下载页面](http://get.qt.nokia.com/)得到带有Qt Quick设计器和所有其它支持Qt Quick功能的Qt Creator。我们在柏林的魔术师般团队早已在[gitorious.org](http://qt.gitorious.org/qt-creator)上公开了炮制的一切, 所以你或许也早就已经看到了。如果你还对我们未来的开发感兴趣,请试试我们的代码[主分支](http://qt.gitorious.org/qt-creator/qt-creator/commits/master)。

近期我们正在为Qt Quick开发一些相关附加的新功能,我们认为这些新功能将会变得很有用;这包括一些用户案例相关的元素:[触摸交互](http://bugreports.qt.nokia.com/browse/QTBUG-15491),[自由形式触摸交互](http://labs.qt.nokia.com/2011/02/08/a-toucharea-for-qml/),[从右到左布局](http://bugreports.qt.nokia.com/browse/QTBUG-11042)等以及更多通过bugreport.qt.nokia.com搜集到的来自于社区的其它功能和建议。

我们也开始了最后一次的MeeGo和Symbian平台Qt Quick组件的构建 - 正如你可能已经看到的,我们[停止了MeeGo版Qt Quick组件的代码提交]("http://labs.qt.nokia.com/2011/01/31/well-be-right-back/)一段时间。不过MeeGo风格的Qt Quick组件仍在继续活跃开发,与此同时,Symbian风格的代码已经完全转移到了gitorious.org上,以允许任何人在他们的Symbian^3设备上进行尝试。这让创建具有本地观感的新应用变得非常容易,也让每个开发人员不必再不得一次次创建那些可重用的元素,比如:按钮,列表项等等。快带上你的'git clone'然后到[http://qt.gitorious.org/qt-components](http://qt.gitorious.org/qt-components)去吧。你可以通过[缺陷报告](http://bugreports.qt.nokia.com/browse/QTCOMPONENTS)来提交反馈意见,如果想要讨论的话,欢迎使用我们的[邮件列表](http://lists.qt.nokia.com/mailman/listinfo/qt-components)或者[IRC](irc://irc.freenode.net/qt-components)等工具。

那么,大家也许会问,桌面应用怎么样了呢?请放心,Qt对桌面应用的支持仍然十分强劲;我们所有[受支持的平台](http://doc.qt.nokia.com/latest/supported-platforms.html)都会在每天被使用和测试,同时新的测试和功能还在源源不断地被添加。你也可以使用Qt Quick来让你的桌面应用通过部分采用QML来是你的用户界面拥有平滑的动画和与众不同的视觉效果。或者完全按照 [mixd.tv](http://blog.qt.nokia.com/2010/09/03/unifying-users-web-tv-experiences-via-social-media-with-qt-quick/) 的做法来一遍。不过就像在 [Volker的那篇文章](http://labs.qt.nokia.com/2011/02/18/buckets-of-cold-water/)) 里所说的:在桌面上没有大量正在发生的创新(是,我知道这点上[Lion会让我看起来有点自食其言](http://www.apple.com/macosx/lion/))。不过,我们正以我们自己的方式来为未来做准备并且也正在探索使Qt Quick组件和桌面联系起来的方法。后续的Blog会讲更多相关内容....

还有更多更多的好东西正初现端倪。因为图形加速在设备中渐成主流,以前那种由[画家算法 (Painter's Algorithm)](http://en.wikipedia.org/wiki/Painter's_algorithm)来驱动的绘图架构逐渐式微,取而代之的是采用更直接的绘图方式,从而给最终用户性价比更高的体验。这里就是[SceneGraph](http://labs.qt.nokia.com/2010/12/02/velvet-and-the-qml-scene-graph/)将要带给你的像天鹅绒一般的用户界面体验,通过使用OpenGL ES还可以在此基础上构建更加迷人的用户界面。更进一步,我们也正在探索简化3D创建和通过我们的[Qt3D集成至QML](http://labs.qt.nokia.com/2010/08/10/qml3d-demo/)把3D融入进用户界面的各种方式,这甚至让你的爷爷做一个3D的茶壶都成为可能:)

现在,扔掉我们的工作手套庆祝一下吧;*Qt Quick 1.0 已经完工,是时候去征服世界了。*

Subscribe to Our Blog

Stay up to date with the latest marketing, sales and service tips and news.