QT Roadmap Update 0
QT Roadmap Update 0
Presented by:
● Thiago Macieira, Qt, Nokia
Who am I?
● Senior Product Manager at Qt
Development (Mobile Solutions)
● MBA, double degree in Engineering
● Been with Nokia since Jun 2008
(Before with Trolltech since Aug 2007)
● Daily work:
● Product Manager for Core Domain
● Open Governance, MeeGo.com
relationship
2
Topics for Today
● Catching up: Qt 4.7, Mobility 1.1
● What’s next: Qt 4.8, Mobility 1.2
● What to expect afterwards
3
Qt 4.7 has just been released
● Released in September
● First update 4.7.1 last week
● Included in MeeGo 1.1
● Also scheduled to be in MeeGo 1.2
● Foundation for MeeGo API
● Will be on millions of devices next year
4
Qt Quick
● Three components to Qt Quick:
● QML – the language based on JavaScript
● QtDeclarative – C++ module
● Qt Creator 2.1 – editor and designer
● QtDeclarative is in Qt 4.7
● Foundation of Nokia’s mobile strategy
5
Qt Quick
● Major features:
● Integration with WebKit and mobile API
● Declarative language inspired on CSS,
with JavaScript bindings
● Easy to use for rapid UI
prototyping and development
● Learn more this afternoon
6
Other Qt 4.7 features
● Network bearer management
● Connman support since Qt 4.7.1
● WebKit improvements
● Tiling, performance, pixmap bridge
● Performance improvements
● Read more:
http://doc.qt.nokia.com/4.7
7
Qt Mobility 1.1
● Significant API expansion for Qt
● Mobile-related and inspired APIs
● First release last week
Qt Mobility 1.1 – 17 APIs in total
•
Bearer Management •
Versit
•
Contacts •
Document Gallery
•
Location •
Feedback
•
Messaging •
Maps/Navigation
•
Multimedia •
Landmarks
•
Publish and Subscribe •
Camera
•
Service Framework •
Organizer
•
Sensors •
Service Framework
•
System Information - Out of process
8
The Future
● From short-term to long-term
9
Modularisation
Qt Quick Qt Mobility
Qt Creator
Components
10
Open Governance
Why What
● Opening up is not ● Decision-making
news ● General roadmap,
● Qt is growing schedules, platform
● Faster than what support, ...
we can grow
● Code reviews and
● Pool of talented acceptance
people:
● Conflict resolution
● You
● QA checks and results
● more...
Now moving to implementation phase
11
What’s driving the roadmap?
How to get most out of HW
accelerated platforms with Qt?
12
Lighthouse: Platform Abstraction
●
Proper support for OpenGL on QtGui
embedded devices
●
Future-proofing Qt against Platform Abstraction API
coming platforms (QPA)
Cross Platform Modules
OpenKODE QWindowSurface
QPlatformFontDatabase
•
QPlatformWindow
• QPlatformIntegration
Wayland
QPlatformScreen
• QPlatformWindowFormat
EGLFS QPlatformGLContext
• QPlatformCursor
QWindowSystemInterface QPixmapData
•
DirectFb
13
Scene Graph Project
Improving QML on Open GL (ES) 2.0 enabled hardware
Performance gains using full scene optimizations
14
Qt Quick Components
● Reusable UI controls and enablers
● Perfect for blending differentiated UIs with
platform look and feel
● Integration with platform input methods
● Initial focus on MeeGo and Symbian
UX, plus one generic style
15
Qt Quick Enablers
Gesture Area
High Level gestures (Tap, Swipe, Pinch)
Low Level gestures (touch, sensor)
GestureArea {
Pinch {
onStarted: rootWindow.color = "#a3e2ff"
onUpdated: gestureText.text = "Pinch: scale = " + gesture.scaleFactor
onFinished: rootWindow.reset()
}
}
QML Canvas
Inspired by HTML5 Canvas
Enable free-form drawing in QML elements
Early research
16
Qt WebKit
Performance
Publish benchmark results
Multi-process support though WebKit 2
HTML5 and CSS3 compliance
Publish test suites and test results
Add more features such as Geolocation,
WebGL, web workers, web sockets
Most new features for all Qt’s platforms
Touch, gestures and tactile feedback
Haptics for mobile platforms only
Gestures and multipoint-touch on all
capable Qt platforms WebGL on QtWebKit
(in progress, not yet released!)
17
Qt3D with QML bindings
● Easy and portable
interface C++ to create
3D graphics
● Qt/3D with QML bindings
● Load and animate models
● Creating 3D apps and UIs
with all the benefits of Qt
Quick
18
Other Qt current projects
● Threaded OpenGL rendering
● Supported on Desktop and Mobile
● Performance improvements in Core
● File I/O rewrite
● Threading, HTTP engine, Sockets
● C++0x enablers
19
Qt Creator 2.2 and onwards
● Qt Quick Designer
● Qt Quick Components support planned
for 2.2
● QML Observer
● State and property
debugger
● Visual debugger
● Stepping in and out of C++
20
Qt Mobility 1.2
● MeeGo 1.2 as a target
● Ensuring backends for MeeGo
● Nokia engineers will use MeeGo as their
platform of choice for development
● Improving existing modules with
platform-development APIs
● New: Bluetooth, Account API,
IM support for Messaging
21
Platforms & investments
Windows Embedded Linux MeeGo AIX
Mac Symbian Solaris
Linux X11 HP-UX
WinCE
Qt 3D Symbian (S60)
3.1/3.2
Scene Graph Maemo 5
Lighthouse
Qt Quick components
Qt Mobility APIs
Qt WebKit
22
Dates
2010 2011
Qt Creator 2.1
23