SlideShare a Scribd company logo
1 of 66
Download to read offline
Andreas Jakl [@andijakl]
mopius.com
Qt App Development
1 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Digia, Qt and their respective logos are trademarks of Digia Corporation in Finland and/or other countries worldwide.
Andreas Jakl
• Startup founder & app developer
– @andijakl, @mopius
– andreas.jakl@mopius.com
– mopius.com
• History
– Nokia: Technology Wizard
– FH Hagenberg, Mobile Computing: Assistant Professor
– Siemens / BenQ Mobile: Augmented Reality-Apps
2 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
3 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
From Your Idea to the Store
Choose target market(s) for your app
Europe, America, Africa, Asia, etc.
Select target platform(s)
Andorid, iOS, Windows Phone, BlackBerry, Firefox OS
Choose development technology
HTML5, C++, C#, Java, ObjectiveC, Swift
Design, develop & test
Distribute
... and get famous and rich!
4 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Agenda
What? Why? Where? How? When? Now!
5
Qt – What?
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Multi Screen
• Computing world today
– Laptop, Phones, tablets
– TV
– Car IVI
– Wearables
– Virtual and augmented reality
– Specialized devices
– etc.
6 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
7 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Multi Platform App Development
Windows | Mac | Linux
Android | iOS | WinRT | BlackBerry* | Sailfish*
Embedded Linux | Embedded Android | Windows Embedded
Integrity | QNX | VxWorks
Native apps
Use operating system and its functions directly
(different code for networking, GPS, etc.)
* Community support only
8 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Multi Platform App Development
Native apps
Use operating system and its functions directly
(different code for networking, GPS, etc.)
Your App
Qt framework
Same code works on all platforms,
covers many usecases (GPS, etc.)
(if needed, direct access is still possible)
* Community support only
Windows | Mac | Linux
Android | iOS | WinRT | BlackBerry* | Sailfish*
Embedded Linux | Embedded Android | Windows Embedded
Integrity | QNX | VxWorks
9 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
10 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
What is Qt?
Developer
Publish to
– Windows
– Linux
– Mac
– Embedded
– Android
– iOS
– etc.
App Source Code
Using Qt SDK for
– Dev. environment
– Testing
– Translation
– Help
Using Qt framework for
– User Interface
– Networking
– Location (GPS)
– Web integration
– ...
11 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt 5 Demo
www.youtube.com/watch?v=vhWS_bN-T3k
12 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt 5.4
youtube.com/watch?v=wMs1pSZMnG0
13
Qt – Why?
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt – What’s Inside?
• Cross-Platform
– Same source code for 15 platforms
– Maximum performance – native apps!
• Generic
– User Interface
– Declarative UI, animation, gestures, multi-touch, 3D (OpenGL)
– Web (Chromium-based) & JavaScript engine included
– Multimedia (audio, video), Sensors, Bluetooth, Positioning
– Networking, XML
– SQL, files, app settings
– Container classes, object communication, threading, unit testing
– doc.qt.io/qt-5/qtmodules.html
• Extend
– Include any 3rd party C++ library / code
14 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
15 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt: On Your PC already!
… and many, many more!
All trademarks and logos are property of their respective owners.
More information: http://www.qt.io/qt-in-use/
http://lumiaconversations.microsoft.com/2011/03/15/10-qt-use-cases-you-didnt-know/
16 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
17 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
The Qt Company
Trolltech Nokia Digia Qt Company
(owned by Digia)
18 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt.io
One product. One ecosystem.
Integrates: qt-project.org and qt.digia.com
19
Qt: Free vs. Commercial
Open Source
qt.gitorious.org
Qt can be used in commercial,
closed-source apps
Changes to Qt source
must be shared
Additional UI controls (charts, etc.)
More modules (Qt Quick Compiler, etc.)
More tools (profiling)
Support options
Free (LGPL v2.1 / v3 license) Commercial Licenses
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
qt-project.org/legal.html
Qt Packages
• Community
– open source
– GPL / LGPL (v2.1 -> v3)
• Indie Mobile
– commercial subscription, mobile platforms only
– €20 / month
• Professional
– commercial subscription, mobile + desktop
– €109 / month
• Enterprise
– perpetual commercial license, embedded + mobile + desktop, device creation
20 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Embedded & Internet of Things
• Increasing use of touch screens
• Need for simple to configure &
flexible stack
• Machine to Machine (M2M)
communication
21 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
22 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Cross-Platform Alternatives
C#
Commercial
HTML5
(e.g., Apache Cordova)
JavaScript
Open Source
many
more …
23 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Number of Target Platforms
24 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Top 10 App Quality
25 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Time Savings
26 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Cost Performance Ratio
27
Qt – Where?
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
28 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Technologies & Platforms
C++
OpenGL
QML
HTML5
CSS3
JavaScript
Windows
Mac
Linux
Embedded Linux
Embedded Android
Windows Embedded
Integrity
QNX
VxWorks
WinRT
Android
iOS
BlackBerry
Sailfish
Android
• Full integration
– Android 2.3.3+ (API level 10)
– Originally based on community port
– Optional: Ministro
– Avoid multiple Qt installations on device
– Issues with Android 5.0
• Qt 5.2+
29 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
iOS
• Full iOS support
– iPhone 3GS+
– iPad 2+
• Device deployment & publishing
– Qt Creator integration
– OS X & Xcode required
– iOS Developer Program membership required
• Qt 5.2+
30 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt on Windows Runtime
• Compliant with Windows Store
– Windows 8.1+
– Windows Phone 8.1+
• Feature set
– Qt Essential modules
– Geopositioning
– Qt Quick Enterprise Controls
– Engin.io
– Qt Quick Compiler
– Multimedia
• Qt 5.4+
31 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
BlackBerry 10
• Qt as major dev framework in BB10
– QNX Operating System
– Cascades UI framework (based on Qt 4.8)
– Qt 5 possible (as overlay for SDK)
32 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Jolla / Sailfish OS
• Smartphone OS
– Builds on MeeGo / Mer / Nemo foundation
33 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
jolla.com
sailfishos.org
Ubuntu for Phones
• Apps: HTML5 and native (Qt)
– Qt 5 based
– QML toolkit
– www.ubuntu.com/phone
– developer.ubuntu.com/apps/qml/
34 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Symbian & Qt
– Works on S60 3.1+
(E71, E72, 5800, N97, N8, X7, 700, 808, etc.) *
– Last Symbian phone: Nokia 808 PureView
– Qt 4.8
35 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
* Qt can be installed on all compatible devices. Not all devices are enabled for Qt content in the Nokia Store. Current list of Nokia Store device deployment support for Qt apps:
http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml
Series 60
1.0
Series 60
2.0
(+ 3 FPs)
S60
3.0
S60
3.1
S60
3.2
S60 5.0
=
Symbian^1
Symbian^2 Symbian^3
Qt Compatibility
Nokia E71
(S60 3.1, 2008)
Qt Pre-Installed
Nokia 700
(Nokia Belle, 2011)
Symbian Anna
Nokia Belle
Deprecated
(only Qt 4)
Harmattan
• Open Source Linux for Mobile Computers
– Based on Maemo and MobLin
→ transformed to Tizen by Samsung
(HTML5-based apps)
• Nokia N9
– MeeGo 1.2 Harmattan
– Only product with OS
36 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Deprecated
(only Qt 4)
Raspberry Pi
• Qt 5 runs on Raspberry Pi
– $25 / $35 hardware
– 3D-accelerated Qt Quick, 60 FPS
– www.raspberrypi.org
37 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt for Device Creation
38 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
* http://qt.digia.com/QtEnterpriseEmbedded
Qt for Device Creation
39 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
• 2D Renderer for devices without
OpenGL
• Wayland for multi-process support
• Qt Creator deployment + wizard for
flashing device images
• Virtual keyboard
blog.qt.digia.com/blog/2014/07/04/making-an-android-
device-boot-to-qt/
Qt for Device Creation
40 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
* http://qt.digia.com/QtEnterpriseEmbedded
Qt Cloud Services
41 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
• Backend as a service
+ Platform as a service
– APIs to store & retrieve cloud data
– Included server maintenance,
load balancing & backup
– Server-side dev possible
– C++ & QML support, REST access
• https://qtcloudservices.com/
Qt Cloud Services
42 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt WebEngine
• Module for embedding web contents
– Simple to create a fully functional
browser
– Full support for Qt Widgets and
Qt Quick
– Great performance
– Full compliance with latest web
standards
• LGPLv3 or commercial
43 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
44
Qt – How?
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Developer Environment Setup
• One-click installation
– IDE
– Tool-chains
– Documentation
– Examples
45 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Compiler
Qt SDK
works on
Windows,
Linux, Mac
Tool-Chain
DocumentationIDE
Examples
Qt Creator
• Complete IDE
– C++, QML, JavaScript
– Same dev experience for all platforms
• Development
– One-click deployment to desktop, iOS, Android, WP
– Syntax highlighting, autocompletion
– UI Designer
– Static code analyser
– Profiler
46 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
47 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Start: Application UI
C++ QML / JavaScript
HTML / JavaScript / CSS Other
QWidgets QPainter
OpenGLQtWebengine
All these can be mixed in
the same app if needed
Qt Quick Qt Quick Controls
QWidgets
• UI Elements (QLabel, QPushButton, etc.)
– Use platform UI design
– Support style sheets
– Drag & drop UI designer
48 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Great for desktop.
Static layouts make effects difficult.
Small UI, different interaction paradigms.
QPainter
• Low level 2D paining engine
– Forms, gradients, transparency, transforms
– QGraphicsView: scene graph for 2D scene
management
49 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Well-known concepts
Full and direct control over appearance
No ready-made common UI components available
Development focus on Qt Quick
Qt Quick
• Qt Quick
– QML language and JavaScript
– Declarative syntax, animations and states
– Drag & drop UI designer
50 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Very easy to make slick, fluid UIs.
Most important for mobile devices!
Still different UI controls for some platforms (Blackberry)
* Project page: https://bugreports.qt-project.org/browse/QTCOMPONENTS
Qt Quick Controls
51 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
• QML UI controls
– Native look and feel
– Custom design: Style API
• Layout managers
OpenGL
• Low level
– Basic setup provided by Qt
– Includes OpenGL ES 3.0 / 3.1
– Or: integration with QtQuick
52 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Complete control over GL
Good if you have existing codebase & assets, cross-platform
Pure OpenGL is hard work
Angry Birds and Bounce
by Rovio
Qt Webengine
• Open source browser engine
– Display HTML(5) and JavaScript
– Combine Qt QML / C++ and web code if needed to get best of both worlds
• Qt WebView: embed native web view on Android & iOS
53 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Use your existing web skills to create the UI
Reuse web components (online help, etc.)
Complex UIs and interaction probably more difficult
Less performance than native code (but improving)
54 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Recommendations ...
QPainter
Qt Quick
OpenGL
Web
QWidgets
Desktop App Mobile App Game
Recommended
OK
Not recommended
55 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Hello World
#include <QApplication>
#include <QPushLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel helloLabel("Hello World");
helloLabel.setAlignment(Qt::AlignCenter);
helloLabel.showMaximized();
return app.exec();
}
import QtQuick 2.4
Rectangle {
width: 360
height: 360
Text {
anchors.centerIn: parent
text: "Hello World"
}
}
~ 300 lines of code,
~ 15 files
Native
Symbian C++
Qt C++
Qt Quick
QML language
QML
• Describe UI by tree structure of
property bindings
– Properties dynamically
evaluated
– Communication through
signals & slots
– Bindings to C++ code
possible
– Animate properties using
states and transitions
56 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
import QtQuick 2.4
Rectangle {
width: 200
height: 200
Image {
source: "QtLogo.png"
anchors.centerIn: parent
}
}
QML
• Interactivity
– Interact with
mouse / touch
– Execute JavaScript in
signal handlers
57 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
import QtQuick 2.4
Rectangle {
width: 200
height: 200
Image {
source: "QtLogo.png"
anchors.centerIn: parent
}
MouseArea {
anchors.fill: parent
onClicked: parent.color = "green"
}
}
QML
• Dynamic property update
– Move image with mouse
58 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
import QtQuick 2.4
Rectangle {
width: 200
height: 200
Image {
source: "QtLogo.png"
x: myMouse.mouseX
y: myMouse.mouseY
}
MouseArea {
id: myMouse
hoverEnabled: true
anchors.fill: parent
onClicked: parent.color = "green"
}
}
QML
• Qt Quick Controls
– Native-looking UI
controls
– Custom styling possible
– Not 100% cross-platform
(e.g., Blackberry: own UI)
59 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
import QtQuick 2.3
import QtQuick.Controls 1.2
ApplicationWindow {
title: "My Application"
Button {
text: "Push Me"
anchors.centerIn: parent
}
}
60 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Qt Quick & Qt C++
Quick Prototype
Viewer on PC & mobile:
Testing 100% pure QML directly
Deployable App
Qt C++ app to load and show QML
Can include C++ for app logic
61
Qt – When?
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Timeline
• Qt 5.4
– December 10th, 2014
– http://qt-project.org/wiki/Qt-5.4-release
• Qt 5.4.1
– Bug-fix release
– https://bugreports.qt-project.org/browse/QTBUG/fixforversion/14400
• Qt 5.5
– April 28th, 2015
– Bluetooth (LE) on Windows RT, iOS
– In-App Purchasing on Windows RT
– Native dialogs and more pop-ups on iOS
– Improved QML/JS <> C++ integration
– New garbage collector
– http://qt-project.org/wiki/Qt-5.5-release
– https://bugreports.qt-project.org/browse/QTBUG/fixforversion/14200
• Qt 6.0
– https://bugreports.qt-project.org/browse/QTBUG/fixforversion/12127
62 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
63
Qt – Now!
Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
64 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Download
qt.io/download/
Where to find help?
• Qt SDK
– Help, examples
• Discussion boards, wikis
– Qt Project: qt-project.org
• Community
– www.qtcentre.org
65 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Thank You.
66 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
Andreas Jakl [@andijakl]
mopius.com

More Related Content

What's hot

Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Andreas Jakl
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneAndreas Jakl
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbianaccount inactive
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phonesaccount inactive
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtEspen Riskedal
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical PresentationDaniel Rocha
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTManuel Carrasco Moñino
 
Intro to gui, cross platform and qt
Intro to gui, cross platform and qtIntro to gui, cross platform and qt
Intro to gui, cross platform and qtMuhammad Sabry
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1rmitc
 
What is codename one
What is codename oneWhat is codename one
What is codename oneShai Almog
 
Modern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtModern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtQt
 
OSGi on Android - Value Proposition
OSGi on Android - Value PropositionOSGi on Android - Value Proposition
OSGi on Android - Value PropositionJoachim Ritter
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectIgalia
 
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Qt
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conferenceNokia
 
Meet Qt Canada
Meet Qt CanadaMeet Qt Canada
Meet Qt CanadaQt
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming BasicDuy Do Phan
 

What's hot (20)

Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
Quickstart: Qt for Windows, Symbian and Maemo / Meego v2.0.8 (January 10th, 2...
 
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows PhoneWinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
WinJS, Apache Cordova & NFC - HTML5 apps for Android and Windows Phone
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Shipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for SymbianShipping Mobile Applications Using Qt for Symbian
Shipping Mobile Applications Using Qt for Symbian
 
KDE Plasma for Mobile Phones
KDE Plasma for Mobile PhonesKDE Plasma for Mobile Phones
KDE Plasma for Mobile Phones
 
Creating Slick User Interfaces With Qt
Creating Slick User Interfaces With QtCreating Slick User Interfaces With Qt
Creating Slick User Interfaces With Qt
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
 
Rapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWTRapid and Reliable Developing with HTML5 & GWT
Rapid and Reliable Developing with HTML5 & GWT
 
Intro to gui, cross platform and qt
Intro to gui, cross platform and qtIntro to gui, cross platform and qt
Intro to gui, cross platform and qt
 
Qt Tutorial - Part 1
Qt Tutorial - Part 1Qt Tutorial - Part 1
Qt Tutorial - Part 1
 
Qt Licensing Explained
Qt Licensing ExplainedQt Licensing Explained
Qt Licensing Explained
 
Introduction to Qt
Introduction to QtIntroduction to Qt
Introduction to Qt
 
What is codename one
What is codename oneWhat is codename one
What is codename one
 
Modern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtModern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qt
 
OSGi on Android - Value Proposition
OSGi on Android - Value PropositionOSGi on Android - Value Proposition
OSGi on Android - Value Proposition
 
Contributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium projectContributions to an open source project: Igalia and the Chromium project
Contributions to an open source project: Igalia and the Chromium project
 
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
Driving Down Automotive Costs for Richer HMIs with Qt & i.MX RT1170
 
Qt - for stack overflow developer conference
Qt - for stack overflow developer conferenceQt - for stack overflow developer conference
Qt - for stack overflow developer conference
 
Meet Qt Canada
Meet Qt CanadaMeet Qt Canada
Meet Qt Canada
 
Android Programming Basic
Android Programming BasicAndroid Programming Basic
Android Programming Basic
 

Viewers also liked

"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use..."How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...FELGO SDK
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools reviewUday Kothari
 
Witekio Qt and Android
Witekio Qt and AndroidWitekio Qt and Android
Witekio Qt and AndroidWitekio
 
NFC Plugin - PhoneGap Day 2011
NFC Plugin - PhoneGap Day 2011NFC Plugin - PhoneGap Day 2011
NFC Plugin - PhoneGap Day 2011Kevin Griffin
 
Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++Gilang Mentari Hamidy
 
Standalone Android Apps in Python
Standalone Android Apps in PythonStandalone Android Apps in Python
Standalone Android Apps in PythonBaptiste Lagarde
 
QML demo for makerpro (1)
QML demo for makerpro (1)QML demo for makerpro (1)
QML demo for makerpro (1)diro fan
 
Bank data managment
Bank data managmentBank data managment
Bank data managmentopaanalytics
 
Qt Application Development on Harmattan
Qt Application Development on HarmattanQt Application Development on Harmattan
Qt Application Development on HarmattanVille Lavonius
 
Cross platform development
Cross platform developmentCross platform development
Cross platform developmentdftaiwo
 
Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development USAID CEED II Project Moldova
 
The Mobile Market and Qt
The Mobile Market and QtThe Mobile Market and Qt
The Mobile Market and QtEspen Riskedal
 
Cross-Platform Mobile App Development
Cross-Platform Mobile App DevelopmentCross-Platform Mobile App Development
Cross-Platform Mobile App DevelopmentJosue Bustos
 
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014Verold
 
Building Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and QyotoBuilding Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and QyotoJeff Alstadt
 
Starting Development for Nokia N9
Starting Development for Nokia N9Starting Development for Nokia N9
Starting Development for Nokia N9tpyssysa
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design PatternsYnon Perek
 

Viewers also liked (20)

"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use..."How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
"How to Develop with Qt for Multiple Screen Resolutions and Increase Your Use...
 
Cross platform mobile app development tools review
Cross platform mobile app development tools reviewCross platform mobile app development tools review
Cross platform mobile app development tools review
 
SlideShare 101
SlideShare 101SlideShare 101
SlideShare 101
 
Witekio Qt and Android
Witekio Qt and AndroidWitekio Qt and Android
Witekio Qt and Android
 
Qt Programming on TI Processors
Qt Programming on TI ProcessorsQt Programming on TI Processors
Qt Programming on TI Processors
 
NFC Plugin - PhoneGap Day 2011
NFC Plugin - PhoneGap Day 2011NFC Plugin - PhoneGap Day 2011
NFC Plugin - PhoneGap Day 2011
 
Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++Tizen Native Application Development with C/C++
Tizen Native Application Development with C/C++
 
Standalone Android Apps in Python
Standalone Android Apps in PythonStandalone Android Apps in Python
Standalone Android Apps in Python
 
QML demo for makerpro (1)
QML demo for makerpro (1)QML demo for makerpro (1)
QML demo for makerpro (1)
 
Bank data managment
Bank data managmentBank data managment
Bank data managment
 
Qt Application Development on Harmattan
Qt Application Development on HarmattanQt Application Development on Harmattan
Qt Application Development on Harmattan
 
Cross platform development
Cross platform developmentCross platform development
Cross platform development
 
Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development Cross platform solutions for Mobile App Development
Cross platform solutions for Mobile App Development
 
The Mobile Market and Qt
The Mobile Market and QtThe Mobile Market and Qt
The Mobile Market and Qt
 
Cross-Platform Mobile App Development
Cross-Platform Mobile App DevelopmentCross-Platform Mobile App Development
Cross-Platform Mobile App Development
 
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014
From Hello World to the Interactive Web with Three.js: Workshop at FutureJS 2014
 
Building Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and QyotoBuilding Cross-Platform Apps using Qt and Qyoto
Building Cross-Platform Apps using Qt and Qyoto
 
Starting Development for Nokia N9
Starting Development for Nokia N9Starting Development for Nokia N9
Starting Development for Nokia N9
 
Qt Design Patterns
Qt Design PatternsQt Design Patterns
Qt Design Patterns
 
Qt Workshop
Qt WorkshopQt Workshop
Qt Workshop
 

Similar to Qt App Development - Cross-Platform Development for Android, iOS, Windows Phone and more!

Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Montreal Python
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtNokiaAppForum
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Phil www.rzr.online.fr
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering UpdateJanaina Pilomia
 
Meet qt qt creator embedded development
Meet qt qt creator embedded developmentMeet qt qt creator embedded development
Meet qt qt creator embedded developmentISBVN
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialQt Commercial, Digia
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Qualcomm Developer Network
 
qt-project.org and Qt 5
qt-project.org and Qt 5qt-project.org and Qt 5
qt-project.org and Qt 5thiagomacieira
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiFrancesco Baldassarri
 
Welcome - Introduzione - Burkhard Stubert
Welcome - Introduzione - Burkhard StubertWelcome - Introduzione - Burkhard Stubert
Welcome - Introduzione - Burkhard StubertQT-day
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Leon Anavi
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemBoydlee Pollentine
 
Android
AndroidAndroid
Androidjobyxg
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company ProfileDeveler S.r.l.
 
Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)guest3df603
 

Similar to Qt App Development - Cross-Platform Development for Android, iOS, Windows Phone and more! (20)

Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9Mp25: Mobile dev with QT and Python for the Notorious N9
Mp25: Mobile dev with QT and Python for the Notorious N9
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 
Andreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith QtAndreas Jakl Software Development on Nokia Deviceswith Qt
Andreas Jakl Software Development on Nokia Deviceswith Qt
 
Software development with qt
Software development with qtSoftware development with qt
Software development with qt
 
Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529Tizen architecture-solutionslinux-20130529
Tizen architecture-solutionslinux-20130529
 
Nokia Developer Offering Update
Nokia Developer Offering UpdateNokia Developer Offering Update
Nokia Developer Offering Update
 
Meet qt qt creator embedded development
Meet qt qt creator embedded developmentMeet qt qt creator embedded development
Meet qt qt creator embedded development
 
Meet qt qt creator embedded development
Meet qt qt creator embedded developmentMeet qt qt creator embedded development
Meet qt qt creator embedded development
 
Learn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt CommercialLearn how to develop applications and UIs with Qt Commercial
Learn how to develop applications and UIs with Qt Commercial
 
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 3
 
qt-project.org and Qt 5
qt-project.org and Qt 5qt-project.org and Qt 5
qt-project.org and Qt 5
 
Meego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea GrandiMeego Italian Day 2011 – Andrea Grandi
Meego Italian Day 2011 – Andrea Grandi
 
Welcome - Introduzione - Burkhard Stubert
Welcome - Introduzione - Burkhard StubertWelcome - Introduzione - Burkhard Stubert
Welcome - Introduzione - Burkhard Stubert
 
Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5Create IoT with Open Source Hardware, Tizen and HTML5
Create IoT with Open Source Hardware, Tizen and HTML5
 
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium EcosystemAppcelerator Titanium - An Introduction to the Titanium Ecosystem
Appcelerator Titanium - An Introduction to the Titanium Ecosystem
 
Treinamento Qt básico - aula I
Treinamento Qt básico - aula ITreinamento Qt básico - aula I
Treinamento Qt básico - aula I
 
Android
AndroidAndroid
Android
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company Profile
 
Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)Trolltech: Qtopia introduction at Overtheair (London 2008)
Trolltech: Qtopia introduction at Overtheair (London 2008)
 
Develer - Company Profile
Develer - Company ProfileDeveler - Company Profile
Develer - Company Profile
 

More from Andreas Jakl

Create Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityCreate Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityAndreas Jakl
 
AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAndreas Jakl
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndreas Jakl
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndreas Jakl
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndreas Jakl
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Andreas Jakl
 
Basics of Web Technologies
Basics of Web TechnologiesBasics of Web Technologies
Basics of Web TechnologiesAndreas Jakl
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreAndreas Jakl
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Andreas Jakl
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test AutomationAndreas Jakl
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingAndreas Jakl
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartAndreas Jakl
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosAndreas Jakl
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentAndreas Jakl
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)Andreas Jakl
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt CommunicationAndreas Jakl
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and GraphicsAndreas Jakl
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI DevelopmentAndreas Jakl
 

More from Andreas Jakl (20)

Create Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented RealityCreate Engaging Healthcare Experiences with Augmented Reality
Create Engaging Healthcare Experiences with Augmented Reality
 
AR / VR Interaction Development with Unity
AR / VR Interaction Development with UnityAR / VR Interaction Development with Unity
AR / VR Interaction Development with Unity
 
Android Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App ManagementAndroid Development with Kotlin, Part 3 - Code and App Management
Android Development with Kotlin, Part 3 - Code and App Management
 
Android Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSONAndroid Development with Kotlin, Part 2 - Internet Services and JSON
Android Development with Kotlin, Part 2 - Internet Services and JSON
 
Android Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - IntroductionAndroid Development with Kotlin, Part 1 - Introduction
Android Development with Kotlin, Part 1 - Introduction
 
Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)Android and NFC / NDEF (with Kotlin)
Android and NFC / NDEF (with Kotlin)
 
Basics of Web Technologies
Basics of Web TechnologiesBasics of Web Technologies
Basics of Web Technologies
 
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & MoreBluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
Bluetooth Beacons - Bluetooth 5, iBeacon, Eddystone, Arduino, Windows 10 & More
 
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
Which new scenarios are enabled by Windows 10 for NFC, Bluetooth LE & Beacons?
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Nokia New Asha Platform Developer Training
Nokia New Asha Platform Developer TrainingNokia New Asha Platform Developer Training
Nokia New Asha Platform Developer Training
 
Windows Phone 8 NFC Quickstart
Windows Phone 8 NFC QuickstartWindows Phone 8 NFC Quickstart
Windows Phone 8 NFC Quickstart
 
Windows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App ScenariosWindows (Phone) 8 NFC App Scenarios
Windows (Phone) 8 NFC App Scenarios
 
Windows 8 Platform NFC Development
Windows 8 Platform NFC DevelopmentWindows 8 Platform NFC Development
Windows 8 Platform NFC Development
 
NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)NFC Development with Qt - v2.2.0 (5. November 2012)
NFC Development with Qt - v2.2.0 (5. November 2012)
 
06 - Qt Communication
06 - Qt Communication06 - Qt Communication
06 - Qt Communication
 
05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics05 - Qt External Interaction and Graphics
05 - Qt External Interaction and Graphics
 
04 - Qt Data
04 - Qt Data04 - Qt Data
04 - Qt Data
 
03 - Qt UI Development
03 - Qt UI Development03 - Qt UI Development
03 - Qt UI Development
 
02 - Basics of Qt
02 - Basics of Qt02 - Basics of Qt
02 - Basics of Qt
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfryanfarris8
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024Mind IT Systems
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 

Qt App Development - Cross-Platform Development for Android, iOS, Windows Phone and more!

  • 1. Andreas Jakl [@andijakl] mopius.com Qt App Development 1 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Digia, Qt and their respective logos are trademarks of Digia Corporation in Finland and/or other countries worldwide.
  • 2. Andreas Jakl • Startup founder & app developer – @andijakl, @mopius – andreas.jakl@mopius.com – mopius.com • History – Nokia: Technology Wizard – FH Hagenberg, Mobile Computing: Assistant Professor – Siemens / BenQ Mobile: Augmented Reality-Apps 2 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 3. 3 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com From Your Idea to the Store Choose target market(s) for your app Europe, America, Africa, Asia, etc. Select target platform(s) Andorid, iOS, Windows Phone, BlackBerry, Firefox OS Choose development technology HTML5, C++, C#, Java, ObjectiveC, Swift Design, develop & test Distribute ... and get famous and rich!
  • 4. 4 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Agenda What? Why? Where? How? When? Now!
  • 5. 5 Qt – What? Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 6. Multi Screen • Computing world today – Laptop, Phones, tablets – TV – Car IVI – Wearables – Virtual and augmented reality – Specialized devices – etc. 6 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 7. 7 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Multi Platform App Development Windows | Mac | Linux Android | iOS | WinRT | BlackBerry* | Sailfish* Embedded Linux | Embedded Android | Windows Embedded Integrity | QNX | VxWorks Native apps Use operating system and its functions directly (different code for networking, GPS, etc.) * Community support only
  • 8. 8 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Multi Platform App Development Native apps Use operating system and its functions directly (different code for networking, GPS, etc.) Your App Qt framework Same code works on all platforms, covers many usecases (GPS, etc.) (if needed, direct access is still possible) * Community support only Windows | Mac | Linux Android | iOS | WinRT | BlackBerry* | Sailfish* Embedded Linux | Embedded Android | Windows Embedded Integrity | QNX | VxWorks
  • 9. 9 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 10. 10 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com What is Qt? Developer Publish to – Windows – Linux – Mac – Embedded – Android – iOS – etc. App Source Code Using Qt SDK for – Dev. environment – Testing – Translation – Help Using Qt framework for – User Interface – Networking – Location (GPS) – Web integration – ...
  • 11. 11 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Qt 5 Demo www.youtube.com/watch?v=vhWS_bN-T3k
  • 12. 12 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Qt 5.4 youtube.com/watch?v=wMs1pSZMnG0
  • 13. 13 Qt – Why? Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 14. Qt – What’s Inside? • Cross-Platform – Same source code for 15 platforms – Maximum performance – native apps! • Generic – User Interface – Declarative UI, animation, gestures, multi-touch, 3D (OpenGL) – Web (Chromium-based) & JavaScript engine included – Multimedia (audio, video), Sensors, Bluetooth, Positioning – Networking, XML – SQL, files, app settings – Container classes, object communication, threading, unit testing – doc.qt.io/qt-5/qtmodules.html • Extend – Include any 3rd party C++ library / code 14 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 15. 15 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Qt: On Your PC already! … and many, many more! All trademarks and logos are property of their respective owners. More information: http://www.qt.io/qt-in-use/ http://lumiaconversations.microsoft.com/2011/03/15/10-qt-use-cases-you-didnt-know/
  • 16. 16 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 17. 17 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com The Qt Company Trolltech Nokia Digia Qt Company (owned by Digia)
  • 18. 18 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Qt.io One product. One ecosystem. Integrates: qt-project.org and qt.digia.com
  • 19. 19 Qt: Free vs. Commercial Open Source qt.gitorious.org Qt can be used in commercial, closed-source apps Changes to Qt source must be shared Additional UI controls (charts, etc.) More modules (Qt Quick Compiler, etc.) More tools (profiling) Support options Free (LGPL v2.1 / v3 license) Commercial Licenses Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com qt-project.org/legal.html
  • 20. Qt Packages • Community – open source – GPL / LGPL (v2.1 -> v3) • Indie Mobile – commercial subscription, mobile platforms only – €20 / month • Professional – commercial subscription, mobile + desktop – €109 / month • Enterprise – perpetual commercial license, embedded + mobile + desktop, device creation 20 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 21. Embedded & Internet of Things • Increasing use of touch screens • Need for simple to configure & flexible stack • Machine to Machine (M2M) communication 21 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 22. 22 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Cross-Platform Alternatives C# Commercial HTML5 (e.g., Apache Cordova) JavaScript Open Source many more …
  • 23. 23 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Number of Target Platforms
  • 24. 24 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Top 10 App Quality
  • 25. 25 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Time Savings
  • 26. 26 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Cost Performance Ratio
  • 27. 27 Qt – Where? Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 28. 28 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Technologies & Platforms C++ OpenGL QML HTML5 CSS3 JavaScript Windows Mac Linux Embedded Linux Embedded Android Windows Embedded Integrity QNX VxWorks WinRT Android iOS BlackBerry Sailfish
  • 29. Android • Full integration – Android 2.3.3+ (API level 10) – Originally based on community port – Optional: Ministro – Avoid multiple Qt installations on device – Issues with Android 5.0 • Qt 5.2+ 29 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 30. iOS • Full iOS support – iPhone 3GS+ – iPad 2+ • Device deployment & publishing – Qt Creator integration – OS X & Xcode required – iOS Developer Program membership required • Qt 5.2+ 30 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 31. Qt on Windows Runtime • Compliant with Windows Store – Windows 8.1+ – Windows Phone 8.1+ • Feature set – Qt Essential modules – Geopositioning – Qt Quick Enterprise Controls – Engin.io – Qt Quick Compiler – Multimedia • Qt 5.4+ 31 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 32. BlackBerry 10 • Qt as major dev framework in BB10 – QNX Operating System – Cascades UI framework (based on Qt 4.8) – Qt 5 possible (as overlay for SDK) 32 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 33. Jolla / Sailfish OS • Smartphone OS – Builds on MeeGo / Mer / Nemo foundation 33 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com jolla.com sailfishos.org
  • 34. Ubuntu for Phones • Apps: HTML5 and native (Qt) – Qt 5 based – QML toolkit – www.ubuntu.com/phone – developer.ubuntu.com/apps/qml/ 34 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 35. Symbian & Qt – Works on S60 3.1+ (E71, E72, 5800, N97, N8, X7, 700, 808, etc.) * – Last Symbian phone: Nokia 808 PureView – Qt 4.8 35 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com * Qt can be installed on all compatible devices. Not all devices are enabled for Qt content in the Nokia Store. Current list of Nokia Store device deployment support for Qt apps: http://www.developer.nokia.com/Distribute/Packaging_and_signing.xhtml Series 60 1.0 Series 60 2.0 (+ 3 FPs) S60 3.0 S60 3.1 S60 3.2 S60 5.0 = Symbian^1 Symbian^2 Symbian^3 Qt Compatibility Nokia E71 (S60 3.1, 2008) Qt Pre-Installed Nokia 700 (Nokia Belle, 2011) Symbian Anna Nokia Belle Deprecated (only Qt 4)
  • 36. Harmattan • Open Source Linux for Mobile Computers – Based on Maemo and MobLin → transformed to Tizen by Samsung (HTML5-based apps) • Nokia N9 – MeeGo 1.2 Harmattan – Only product with OS 36 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Deprecated (only Qt 4)
  • 37. Raspberry Pi • Qt 5 runs on Raspberry Pi – $25 / $35 hardware – 3D-accelerated Qt Quick, 60 FPS – www.raspberrypi.org 37 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 38. Qt for Device Creation 38 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com * http://qt.digia.com/QtEnterpriseEmbedded
  • 39. Qt for Device Creation 39 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com • 2D Renderer for devices without OpenGL • Wayland for multi-process support • Qt Creator deployment + wizard for flashing device images • Virtual keyboard blog.qt.digia.com/blog/2014/07/04/making-an-android- device-boot-to-qt/
  • 40. Qt for Device Creation 40 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com * http://qt.digia.com/QtEnterpriseEmbedded
  • 41. Qt Cloud Services 41 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com • Backend as a service + Platform as a service – APIs to store & retrieve cloud data – Included server maintenance, load balancing & backup – Server-side dev possible – C++ & QML support, REST access • https://qtcloudservices.com/
  • 42. Qt Cloud Services 42 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 43. Qt WebEngine • Module for embedding web contents – Simple to create a fully functional browser – Full support for Qt Widgets and Qt Quick – Great performance – Full compliance with latest web standards • LGPLv3 or commercial 43 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 44. 44 Qt – How? Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 45. Developer Environment Setup • One-click installation – IDE – Tool-chains – Documentation – Examples 45 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Compiler Qt SDK works on Windows, Linux, Mac Tool-Chain DocumentationIDE Examples
  • 46. Qt Creator • Complete IDE – C++, QML, JavaScript – Same dev experience for all platforms • Development – One-click deployment to desktop, iOS, Android, WP – Syntax highlighting, autocompletion – UI Designer – Static code analyser – Profiler 46 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 47. 47 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Start: Application UI C++ QML / JavaScript HTML / JavaScript / CSS Other QWidgets QPainter OpenGLQtWebengine All these can be mixed in the same app if needed Qt Quick Qt Quick Controls
  • 48. QWidgets • UI Elements (QLabel, QPushButton, etc.) – Use platform UI design – Support style sheets – Drag & drop UI designer 48 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Great for desktop. Static layouts make effects difficult. Small UI, different interaction paradigms.
  • 49. QPainter • Low level 2D paining engine – Forms, gradients, transparency, transforms – QGraphicsView: scene graph for 2D scene management 49 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Well-known concepts Full and direct control over appearance No ready-made common UI components available Development focus on Qt Quick
  • 50. Qt Quick • Qt Quick – QML language and JavaScript – Declarative syntax, animations and states – Drag & drop UI designer 50 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Very easy to make slick, fluid UIs. Most important for mobile devices! Still different UI controls for some platforms (Blackberry) * Project page: https://bugreports.qt-project.org/browse/QTCOMPONENTS
  • 51. Qt Quick Controls 51 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com • QML UI controls – Native look and feel – Custom design: Style API • Layout managers
  • 52. OpenGL • Low level – Basic setup provided by Qt – Includes OpenGL ES 3.0 / 3.1 – Or: integration with QtQuick 52 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Complete control over GL Good if you have existing codebase & assets, cross-platform Pure OpenGL is hard work Angry Birds and Bounce by Rovio
  • 53. Qt Webengine • Open source browser engine – Display HTML(5) and JavaScript – Combine Qt QML / C++ and web code if needed to get best of both worlds • Qt WebView: embed native web view on Android & iOS 53 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Use your existing web skills to create the UI Reuse web components (online help, etc.) Complex UIs and interaction probably more difficult Less performance than native code (but improving)
  • 54. 54 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Recommendations ... QPainter Qt Quick OpenGL Web QWidgets Desktop App Mobile App Game Recommended OK Not recommended
  • 55. 55 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Hello World #include <QApplication> #include <QPushLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel helloLabel("Hello World"); helloLabel.setAlignment(Qt::AlignCenter); helloLabel.showMaximized(); return app.exec(); } import QtQuick 2.4 Rectangle { width: 360 height: 360 Text { anchors.centerIn: parent text: "Hello World" } } ~ 300 lines of code, ~ 15 files Native Symbian C++ Qt C++ Qt Quick QML language
  • 56. QML • Describe UI by tree structure of property bindings – Properties dynamically evaluated – Communication through signals & slots – Bindings to C++ code possible – Animate properties using states and transitions 56 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com import QtQuick 2.4 Rectangle { width: 200 height: 200 Image { source: "QtLogo.png" anchors.centerIn: parent } }
  • 57. QML • Interactivity – Interact with mouse / touch – Execute JavaScript in signal handlers 57 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com import QtQuick 2.4 Rectangle { width: 200 height: 200 Image { source: "QtLogo.png" anchors.centerIn: parent } MouseArea { anchors.fill: parent onClicked: parent.color = "green" } }
  • 58. QML • Dynamic property update – Move image with mouse 58 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com import QtQuick 2.4 Rectangle { width: 200 height: 200 Image { source: "QtLogo.png" x: myMouse.mouseX y: myMouse.mouseY } MouseArea { id: myMouse hoverEnabled: true anchors.fill: parent onClicked: parent.color = "green" } }
  • 59. QML • Qt Quick Controls – Native-looking UI controls – Custom styling possible – Not 100% cross-platform (e.g., Blackberry: own UI) 59 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com import QtQuick 2.3 import QtQuick.Controls 1.2 ApplicationWindow { title: "My Application" Button { text: "Push Me" anchors.centerIn: parent } }
  • 60. 60 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Qt Quick & Qt C++ Quick Prototype Viewer on PC & mobile: Testing 100% pure QML directly Deployable App Qt C++ app to load and show QML Can include C++ for app logic
  • 61. 61 Qt – When? Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 62. Timeline • Qt 5.4 – December 10th, 2014 – http://qt-project.org/wiki/Qt-5.4-release • Qt 5.4.1 – Bug-fix release – https://bugreports.qt-project.org/browse/QTBUG/fixforversion/14400 • Qt 5.5 – April 28th, 2015 – Bluetooth (LE) on Windows RT, iOS – In-App Purchasing on Windows RT – Native dialogs and more pop-ups on iOS – Improved QML/JS <> C++ integration – New garbage collector – http://qt-project.org/wiki/Qt-5.5-release – https://bugreports.qt-project.org/browse/QTBUG/fixforversion/14200 • Qt 6.0 – https://bugreports.qt-project.org/browse/QTBUG/fixforversion/12127 62 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 63. 63 Qt – Now! Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 64. 64 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Download qt.io/download/
  • 65. Where to find help? • Qt SDK – Help, examples • Discussion boards, wikis – Qt Project: qt-project.org • Community – www.qtcentre.org 65 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com
  • 66. Thank You. 66 Qt App Development v6.0.0 January 27, 2015 © 2015 Andreas Jakl mopius.com Andreas Jakl [@andijakl] mopius.com