Qt5.2发布了
Qt5.2将要发布了,Qt5.2的很大的改进在于开发过程的简化。比如新建立一个Android工程,只需要简单的几步,就可生成一个简单的hello world。
除了大量的bug修复,Qt 5.2还带来了大量的新功能。这里我们对几个最重要的改变做一下概述。
Android与iOS支持
Qt 5.2是首个完全支持Android与iOS应用开发的Qt发行版。为支持这两个系统,我们做了大量的工作。现在,Qt已经成为了开发移动应用的一个绝佳方案。
除了WebKit,其它的所有基本模块,在Android和iOS上都获得了支持。这其中包括Qt Core、Qt Network、Qt Gui、Qt Widgets、Qt Qml、Qt Quick和Qt Multimedia。另外Qt add-ons中的Qt Sensors、Qt Graphical Effects、Qt Script以及Qt SVG也已获得支持。在Android上,还有一个专有的Qt Android Extras模块。
新模块
伴随Qt 5.2我们还新增了一些新add-on模块:
- Qt Bluetooth 现在支持含带Bluez 4.x的Linux以及Blackberry
- Qt NFC 支持Blackberry
- Qt Positionining 支持所有使用NMEA数据的平台,同时支持在Linux上使用GeoClue
- Qt Windows Extras 提供Windows的一些原生功能
- Qt Mac Extras 提供Mac OS X的一些原生功能
- Qt Android Extras 提供Android的一些原生功能
最后三个add-on包含的都是各个平台的专有代码,用以补充Qt 5.1引入的Qt X11 Extras。
Qt base模块
Qt Core增加了一些新功能,其中最重要的是新的QTimezone和QCollator两个类。QTimezone与原有的QDatetime一同用于处理时区相关的操作。QCollator则允许开发者进行本地语言相关的字符串排序,这是Qt提供的又一个出色的功能。Qt Network对有关SSL的处理进行了一些改进。Qt Widgets也有一些小的改进,同时增加了一个新类:QKeySequenceEdit。辅助功能(Accessibility)方面,对Mac OS X的支持,加上对Android的基本支持,以及一组用于自定义组件辅助功能的API,现在我们的辅助功能支持又迈进了一大步。
Qt Qml和Qt Quick
近9个月来,我们对QML引擎底层做了大量的工作,这在Qt 5.2中已有了一定成效。Qt Qml现在使用我们自己内建的Javascript引擎,而不再依赖V8,因此QtJSBackend动态库已经被移除。
使用自己内建的引擎而非V8,有很多原因。其中最主要的好处是我们可以在iOS上支持Qt Quick 2。不仅如此,Qml栈的体积也可以削减约5MB,且减少一个以前需要部署的动态库。最后,这使得整个栈可维护性更强,从而令我们未来进步得更快。
尽管在某种程度上,新的引擎执行纯Javascript要略慢于V8,但它却使我们可以在QML以及Qt Quick的常见用例上有更多的优化机会。大量的优化工作仍在发行期中进行,我们希望它能够在5.2.0时获得和Qt Script相当的性能。而至于QML绑定,我们将会看到其对最常见用例的改进。
除此之外,Qt Qml现在支持了文件选择器,可以让您在根据不同的系统及其他因素自定义QML代码时更加轻松。
Qt Quick也有一些重大更新。首当其冲的是,模块中有了新的Scene Graph渲染器,新的渲染器在诸多用例中大幅减少了CPU以及GPU的工作量。新的AnimatorQML类型提供完全运行于渲染线程的动画,即使主线程执行大量长期运行的计算也不会使界面阻塞卡顿。
Qt Quick Controls新增了一些新的特性和控件,比如Switch及Busy Indicator。表格视图现在可以移动列并可以扩展选择。另外,部署工作也得到了极大的简化。
Qt Creator
最后,我们计划在Qt 5.2发行时附带一个新的Qt Creator——Qt Creator 3.0。新的Creator将带来增强的Android支持、iOS的基本支持、多屏扩展、lldb的基本支持以及对Creator插件API的清理。
档期
如上所述,Qt 5.2将带来许多非常值得期待的新特性和新功能,尤其是对于移动设备操作系统的支持,我们更是迈进了一大步。紧随Alpha,我们正在努力以尽早放出Beta。Beta版本将带有可执行文件。在Beta之后,工作将主要集中于RC版本以及5.2.0最终版本。最终版本有望于11月底放出。
更多相关文章
- Android三种库的区别:pravite libraries、referenced libraries和
- Android(安卓)HAL(硬件抽象层)介绍以及调用
- Android(安卓)Makefile and build system 分析与梳理
- Android(安卓)ant自动打包脚本:自动替换友盟渠道、版本号、包名
- Android(安卓)NDK编程之Android.mk和Application.mk
- android-下载 gradle很慢的解决办法
- 基于 Android(安卓)NDK 的学习之旅-----Android.mk 介绍
- 《Google+Android开发入门与实践》书中googleApi学习之iTracks
- 从eclipse中导出项目到android studio。