Qt Development Frameworks Past, Present and Future by Knut Yrvin – Dec 2009
Knut Yrvin Open Source Community Manager ● Telenor in 1986 – technical assistant ● Engineer in electronics – 1992 ● Telenor – project planning – 1993 ● Master in system development – 2000 ● Consultant for three years – Norwegian Central Securities Depository, different banks and other industries ● Co-founded Skolelinux in 2001 – Now a part of Debian Edu ● Trolltech ASA – 2006, ● Qt Software, a Nokia Company – 2008
Agenda ● Qt ● Hybrid Internet Applications ● Qt Animation API
© Nokia 2009 Qt: A brief introduction Qt Software (formerly Trolltech) founded in 1994 Trolltech acquired by Nokia in 2008 More than 250 employees in five locations worldwide Trusted by over 5,000 customers worldwide Qt: a cross-platform application and UI development framework For desktop and embedded development Used by more than 250,000 commercial and open source developers Backed by professional services, support and training
© Nokia Qt is used everywhere on any form factor From embedded devices to desktop applications By companies from many industries
© Nokia 2009 Google Earth
© Nokia 2009 VLC
Qt LGPL: 250% Increased Demand New licensing Support offering for LGPL users Qt Downloads from qt.nokia.com Qt
© Nokia Qt licenses support all business models *Runtime charges apply when the Qt-based application is part of a joint hardware and software distribution and the main UI of the device is controlled by Qt.
© Nokia The virtuous cycle Increased use of Qt Larger Qt ecosystem More feedback & contributions Faster pace of innovation = a better Qt Open Source Commercial
How Qt started History 101
State-of-the-art UI Widget
Challenge #1
= ~200 LOC
© Nokia 2009 A park bench in Trondheim – 1990 “We need an object-oriented presentation system” - Haavard Nord and Eirik Chambe Eng How the whole started
© Nokia 2009 Idea behind Qt Framework for Graphical User Interfaces (GUI) Easy to use Works well Windows and UNIX
© Nokia 2009 Qt 2 40 new classes Adaptive Look & Feel Unicode support Printing Mouse Wheel Quot from the Hebrew Bible
© Nokia 2009 Qt 2 - Designer
Sharp Zaurus in Nov Qt Embedded started in Kick starting Open Source development for embedded free software applications available for Zaurus and Open Embedded today
“Desktop” applications on Mobile Devices
KOffice...
© Nokia 2009 Qt 3 42 new classes Rich Text support Table Widget Accessibility XML Database Network IO
© Nokia 2009 Qt 3 – Linguist
© Nokia 2009 Qt 4 – QGraphicsView
© Nokia 2009 Qt 4 – Perspective
© Nokia 2009 Qt 4 – Transparent
© Nokia 2009 Qt 4 – CSS Widgets
© Nokia 2009 Qt 4.5 Creator
© Nokia 2009 Qt Webkit Integration
© Nokia 2009 Integrating Web into your apps
© Nokia 2009 Animation with declarative UI
Typical Linux desktop in 1996
13 year of building better software with Qt KDE > 4000 applications today
Typical phone UI 2008
Next gen phone UI
© 2009 Nokia 3636 Qt for Nokia platforms Qt for millions of Symbian smart phones Symbian, the world’s most popular software for smart phones is now supported by Qt. Qt applications will be commercially deployable during Q and preinstalled in devices later in Qt will also be made available to the Symbian Foundation. Qt provides the Symbian development community a new developer offering with improved productivity and developer fun. Qt is the basis for a facelift of applications and the implementation of a new Symbian UI style. Qt for millions of Symbian smart phones Symbian, the world’s most popular software for smart phones is now supported by Qt. Qt applications will be commercially deployable during Q and preinstalled in devices later in Qt will also be made available to the Symbian Foundation. Qt provides the Symbian development community a new developer offering with improved productivity and developer fun. Qt is the basis for a facelift of applications and the implementation of a new Symbian UI style. Qt for Maemo devices The Maemo platform powers devices such as the Nokia N900. Qt will support Maemo 5 in 1H Qt is optimized for the upcoming Qt-based Maemo 6 UI. Qt for Maemo devices The Maemo platform powers devices such as the Nokia N900. Qt will support Maemo 5 in 1H Qt is optimized for the upcoming Qt-based Maemo 6 UI. Nokia services Nokia’s Internet services will run on a Qt and Webkit based common web runtime, across Nokia platforms and desktops. Nokia services Nokia’s Internet services will run on a Qt and Webkit based common web runtime, across Nokia platforms and desktops.
© 2009 Nokia 3737 Qt Everywhere Qt as the de facto standard for UI and application development Increase productivity: re-use code across devices and desktops Shorter time to market for devices and services Vibrant ecosystem – 10x by 2011 Targeting at a tenfold ecosystem with Nokia’s increased investments, LGPL license option and new contribution model Broader use of Qt will result in feedback and increased contributions, ensuring that Qt remains at the leading edge Enables shared services across Nokia and other platforms Relative Growth for Jobs matching “Qt C++” Used with permission from Indeed.com MobileEmbeddedDesktop Applications and Services Qt Cross-Platform Framework and Tools
Thank you! Q & A
© 2009 Nokia 39 Roadmap in brief Future direction Deeper support for web and Qt hybrid development Future direction Deeper support for web and Qt hybrid development Qt 4.6 Expanded support for embedded and smartphone development Enablers for cutting edge UI development Qt 4.6 Expanded support for embedded and smartphone development Enablers for cutting edge UI development Up to Qt 4.5 Cross-platform requirement Improve developer efficiency and out-of- the-box experience Shorter time to market Up to Qt 4.5 Cross-platform requirement Improve developer efficiency and out-of- the-box experience Shorter time to market Qt 4.7 Declarative expression of user interfaces Focus on performance and quality assurance Qt 4.7 Declarative expression of user interfaces Focus on performance and quality assurance
© 2009 Nokia 40 Qt SDK Qt development tools Qt architecture Chipsets Qt modular class library Core GUI WebKit Graphics View Scripting OpenGL XML Multimedia Database Network Unit Tests Benchmarking Cross-platform support Qt Designer GUI designer qmake Cross-Platform Build Tool Qt Linguist I18N Toolset Qt Assistant Help reader Qt Creator Cross-platform IDE Windows Mac Linux/X11 Embedded Linux Windows CE/Mobile Maemo Symbian
© Nokia 2009 Community rules: Nokia want to learn from their success Nokia want to continue to build the strong track record of Qt. That's why Nokia acquired Trolltech Nokia will sponsor people and projects Nokia is and will be even more active in various areas: - KDE, Linux kernel, X.org, Mozilla, supporting FSF etc. Nokia and Open Source