QT: A Cross-Platform Application and UI Framework: Tasuku Suzuki QT Engineer, Nokia
QT: A Cross-Platform Application and UI Framework: Tasuku Suzuki QT Engineer, Nokia
● Tasuku Suzuki
● Qt Engineer, Nokia Japan
– http://qt.nokia.com/title-jp
– http://labs.qt.nokia.co.jp/
● Qt user since 2002
© 2012 Nokia
Agenda
● Qt
● Qt / C++
● Qt / Quick
● Qt 5
● Qt Project
● Q&A
© 2012 Nokia
What is Qt?
http://qt.nokia.com/
● Qt Creator IDE
● Cross Platform
Desktop, Embedded and Mobile
●
© 2012 Nokia
Cross Platform
Linux/X11
Linux/X11 Windows
Windows Mac
Mac OS
OS X
X
Linux/QWS
Linux/QWS Windows
Windows CE
CE T-Kernel
T-Kernel
INTEGRITY
INTEGRITY QNX
QNX vxWorks
vxWorks
MeeGo
MeeGo Symbian
Symbian iOS
iOS
Android
Android BlackBerry
BlackBerry etc
etc
© 2012 Nokia
Modular Class Library
http://qt-project.org/doc/qt-4.8/modules.html
Unit
Unit test
test
Widgets(UI)
Widgets(UI) Qt
Qt Quick(UI)
Quick(UI)
Multimedia
Multimedia WebKit
WebKit Scripting
Scripting
Network
Network Database
Database XML
XML
Core
Core
© 2012 Nokia
User Interface
● Widgets
● C++ (with UI Designer)
● for Desktop applications
● Qt Quick
● QML
● for Embedded and Mobile UIs
© 2012 Nokia
Getting Started!
http://qt-project.org/downloads
© 2012 Nokia
Widgets/C++
http://qt-project.org/wiki/QtWhitepaper
● Traditional way to build UI
● Large scale application w/ static UIs
#include <QApplication>
#include <QLabel>
return app.exec();
}
© 2012 Nokia
Qt Quick/QML
http://qt-project.org/doc/qt-4.8/qml-intro.html
● Rapid UI creation
● for touch based fluid UIs
● KDE SC
● Ubuntu Unity 2D
● VLC
© 2012 Nokia
Qt Everywhere
http://qt.nokia.com/qt-in-use
● Google Earth
● Skype for Linux
● etc
© 2012 Nokia
Qt Everywhere
http://qt.nokia.com/qt-in-use
● Home media
● IP Communication
● Automotive
● e-reader
● Refrigerator
● Coffee machine
© 2012 Nokia
Qt Everywhere
http://qt.nokia.com/qt-in-use
twitter.com/Qt4iOS
© 2012 Nokia
Qt Everywhere
http://qt.nokia.com/qt-in-use/
© 2012 Nokia
5
Qt History
http://en.wikipedia.org/wiki/Qt_(framework)#History
1996: Qt 1
1999: Qt 2
2001: Qt 3
2005: Qt 4
2011: Qt 4.8
2012: Qt 5
● Adapt to a world that has changed
© 2012 Nokia
Qt 5 goals
http://labs.qt.nokia.com/2011/05/09/thoughts-about-qt-5/
© 2012 Nokia
What is new in Qt 5
http://qt-project.org/wiki/Qt-5Features
• Qt Quick 2
© 2012 Nokia
Essential Modules
http://qt-project.org/wiki/Qt-Essentials-Modules
● QtCore ● QtJSBackend ● Qt3D
● QtNetwork ● QtQml ● QtMultimedia
● QtGui ● QtQuick ● QtWebKit
● QtSql
● QtTest
© 2012 Nokia
Add-On Modules
http://qt-project.org/wiki/Qt-Add-ons-Modules
● QtBluetooth ●
QtQuick1 ● QtWebKitWiedgets
● QtPim ●
QtScript ● QtWidgets
● QtScriptTools ● QtXml
● QtDBus
●
QtSensors
● QtXmlPatterns
● QtGraphicalEffects
● QtServiceFrame
● ActiveQt
● QtImageFormats work ● QtJsonDB
● QtOpenGL ● QtSvg ● Phonon
● QtOrganizer ●
QtSystemInfo ● QtQA
● QtPrintSupport ● QtTools
● QtLALR
QtVersit
● QtRepoTools
Qt Publish and
●
●
Subscribe
● QtTranslations
● QtWayland
© 2012 Nokia
Qt 5 Status & Plans
http://qt-project.org/wiki/Qt_5.0
© 2012 Nokia
Qt Project
http://qt-project.org
Open Development
Open Governance
© 2012 Nokia
Long story short
http://en.wikipedia.org/wiki/Qt_(framework)#Licensing
● 1991?: FreeQt
Fair
Fair Transparent
Transparent
Inclusive
Inclusive Meritocratic
Meritocratic
© 2012 Nokia
Qt Project Roles
http://qt-project.org/wiki/The_Qt_Governance_Model
© 2012 Nokia
Qt and
● Nokia is a main contributor in Qt Project
http://qt-project.org
© 2012 Nokia