The Roadmap: Next Generation Qt

Preview:

DESCRIPTION

Lars Knoll is responsible for Qt’s R&D organization with teams in Oslo, Berlin and Brisbane. Lars has had different roles in former Trolltech’s engineering organization, working his way up from software engineer to leading the engineering team in Oslo as Director before taking over the role as Director of Global R&D. Lars has been an active member of the KDE community and the architect behind KDE's html rendering engine KHTML. KHTML has later been taken by Apple and used as foundation for their browser Safari and the WebKit open source project. Lars holds a PhD in physics from the University of Heidelberg. A German national, he lives with his family in Oslo. Keynote held during Qt Developer Days 2009. http://qt.nokia.com/developer/learning/elearning

Citation preview

The Qt Roadmap Lars Knoll, Director R&DQt Development Frameworks, Nokia

10/08/09

Agenda • Qt Strategy and vision • Qt 4.6

• Qt 4.7 and future

• Qt Creator and other tools

2

Recipe for the next generation Qt

3 3

S ug ar on the top

WebK it. Embrace the web.

S c ript and hybrid Combine the best of both worlds.

N ew flavors

N ew pla tforms . Qt Everywhere.

AP I c ompletenes s .

Expanding to new use cases.

C ontributions . Code from community.

S DK . Complete end-to-end developer offering

Performanc e. Native. Blazingly fast.

G ood hous ekeeping .S table, backwards compatible.

Advanc ed U Is and vis ua liza tion. Beauty and power.

B as ic ing redients

Qt 4.6

• Key goals• Enable better User Experience• Performance• Deploy everywhere

4

New in 4.6: New Platforms • Windows 7• Mac OS X 10.6• Symbian • Real-time operating systems: QNX, VxWorks• Maemo 5

5

Symbian: Today @ 1300 Room B

Maemo: Today @ 1600 Room C

RTOS: Tomorrow @ 1300 Room D

Symbian: Today @ 1300 Room B

Maemo: Today @ 1600 Room C

RTOS: Tomorrow @ 1300 Room D

New in 4.6: States and Transitions • A robust state chart implementation based on

Harel state-charts and SCXML

• Key benefits: – Simplify application semantics – Use states to improve maintainability – Solidify event-driven programming – Write verifiable application logic

6

State Machine Framework

Tomorrow @ 1300Room C

State Machine Framework

Tomorrow @ 1300Room C

New in 4.6: Animation API • Allow users to create dynamic UIs

• Integrates with States and Transitions

• Key features: – Animate any QObject property

– Combine animations in groups

– Use easing curves

– Synchronized timer for better

CPU utilization

7

Animation Framework

Tomorrow @ 1415Room B

Animation Framework

Tomorrow @ 1415Room B

New in 4.6: Graphics Effects • Apply graphical effects to graphics items or

widgets • Add highlight or accentuation to create visually

appealing user interfaces

• Key features: – Apply effects to any paint device – Common effects built in– Extend with your own effects

8

Special FX with Graphics View

Tomorrow @ 1015Room C

Special FX with Graphics View

Tomorrow @ 1015Room C

New in 4.6: Gestures & Multitouch • Enable interaction with more than one finger

• Combine sequential touch inputs to a ‘gesture’

• Key benefits – Allow users to interact with applications in better ways – Simplify finger-based interaction with UI components – Allowing common basic gestures

…as well as multi-touch gestures – Enable extensibility

9

Multitouch & Gestures

Tomorrow @ 0900Room C

Multitouch & Gestures

Tomorrow @ 0900Room C

Qt 4.7: Qt Kinetic project • Allow developers and designers to create flexible

and visually appealing user interfaces using intuitive code or GUI designer

• Key benefits – Declarative UI programming

– Encourages developer-designer collaboration – Faster time-to-market with rapid prototyping – Expressive language – Exposes Qt objects and properties

via JavaScript

10

Creating Dynamic UIs

with QMLTomorrow @ 1415

Room D

Creating Dynamic UIs

with QMLTomorrow @ 1415

Room D

Qt Future: Hybrid Development • Combine easily approachable web

technologies with powerful and scalable Qt C++

• Qt already provides rich features – QtWebKit – QtScript – QtXmlPatterns – QtNetwork

11

S ize of Projec t

Approac hability of Prog ramm ing E nvironment

Large S mall

Easy

Difficult Qt C ++

Unattainable

Area WR T

B row s er/ S tanda lone WR T Applic ation

Qt C ++ Applic a tion HTML, CS S , JavaS cript

S ervices written in Qt C++, Declarative UI, Integration with Qt

H ybrid Applic ations

Combined, you can export QObjects to web scripts

Scripting:Today @ 1600

Room ACommon Web

Runtime:Today @ 1715

Room D

Scripting:Today @ 1600

Room ACommon Web

Runtime:Today @ 1715

Room D

Qt Mobility

• The best framework also on mobile devices

• Cross-platform:– Symbian, Maemo, Windows Mobile, Embedded Linux – Desktop platforms (where appropriate)

• APIs under development: – Location, Messaging, Contacts,

System Information, Multimedia, Bearer Management, Sensors...

12

The Mobility Project

Tomorrow @ 0900Room D

The Mobility Project

Tomorrow @ 0900Room D

Future of Qt tools • Qt Creator

– Support for Symbian and Maemo

– C++ code refactoring tools

• Project “Bauhaus” – Graphical design tool for Qt Kinetic project – Targeted towards programmers and designers

• Continuous support for Visual Studio and Eclipse – Not limited to maintenance only

13

Creator: Today @ 1415 Room A

Bauhaus: Tomorrow @ 1600

Room D

Creator: Today @ 1415 Room A

Bauhaus: Tomorrow @ 1600

Room D

Qt SDK • Qt SDK components

– APIs – Tools – Documentation

• Desktop platform support in 4.6 timeframe • For Qt 4.7: increased support for embedded /

mobile development

14

More information • Qt’s roadmap is public

– http://qt.nokia.com/roadmap

• Roadmap BOF session today – 16.00 in Qt Labs (Room D)

• Feedback welcome– Influence our roadmap – Send us feedback – Send your code contributions to Qt

15

Recommended