integrating mobile into your cross- platform strategy with qt€¦ · integrating mobile into your...

37
Integrating Mobile into Your Cross- Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager [email protected] Qt Developer Days 2014 © 2014 The Qt Company

Upload: others

Post on 03-Jul-2020

15 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

Integrating Mobile into Your Cross-Platform Strategy with Qt

Tuukka Ahoniemi

Technical Product Marketing Manager

[email protected]

Qt Developer Days 2014

© 2014 The Qt Company

Page 2: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Agenda

• Qt and Mobile Platforms – Status

• Use Cases, Mobile in Bigger Picture

• Cross-Platform Mobile

• Convergence into Multi-screen from Desktop or Embedded

• Enterprise Mobility

• Internet of Things

• Getting Started with Mobile Ports

Page 3: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

2012 ->2008 - 2012<- 2008

QtopiaWindows Mobile

SymbianMeeGo

AndroidiOS

Windows Store Apps

Sailfish OSBlackBerry 10Ubuntu touch

Nokia XTizen

Trolltech Nokia

2012 ->2008 - 2012<- 2008

Nokia The Qt Company + community

Opportunities with Qt on Mobile

Page 4: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 5: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 6: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Cross-Platform WebView

• Lightweight component for showing web content, coming with Qt 5.4

• Available through commercial Qt license and under LGPL v3 for community edition

Qt native UI elements

Web documents

Cross-Platform WebView element

QtWebEngineAndroid

ChromiumSafari

iOS AndroidDesktop

OSsEmbedded

OSs

Coming later

Native

Page 7: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Qt for Windows Store Apps

• Windows Runtime / WinRt => Windows Store Apps

• PCs (Modern UI), Tablets (Surface) and Smartphones (Windows Phone)

• All major Qt modules supported

• Qt 5.4 – Fully supported

• New Modules

• Geopositioning

• Qt Quick Enterprise Controls

• Engin.io

• Qt Quick Compiler

• Multimedia

• Qt 5.5

• Bluetooth, BT LE, …

• Integrated to Qt Creator

• Qt 5.4 for WinRT will support

• Windows 8.1 and upwards

• Windows Phone 8.1 and upwards

• User is able to publish applications for WinRT, Windows store apps, Windows Phone

• Possible Roadmap items

• In-app purchasing (Qt Purchasing)

• Adopting to Windows 10

Page 8: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Use Cases

Let’s Look at a Larger Picture of What Does This Actually Enable!

Page 9: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Cross-Platform Mobile Consumer Apps

• Natural, obvious target for Qt developers

• Target the whole market

• Android, iOS, Windows Store

• Phones and tablets

• Future-proof

• Indie Mobile licensing

Page 10: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 11: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 12: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Qt is Not Just Mobile

Page 13: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 14: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Enterprise Mobility

• Go Mobile with your existing Qt (or non-Qt!) application

• Share code between desktop, embedded and mobile clients

• Write a native mobile client for your enterprise backend system

Page 15: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Extending Qt Desktop App into Mobile

• Your code will run there

• Qt Widgets can be used, but not really recommended for mobile

• Different user experiences on desktop than on mobile -> Different UI layouts anyway

Qt Widget desktop app

Qt Quick for mobileQt Widget

desktop app

Common Qt / C++ engine

Qt Quick for all

Common Qt / C++ engineQt Widget mobile app

Page 16: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Migrating to Qt Quick

• Qt Quick Controls

• Regular + Enterprise

• Native LAF (5.4 adds Android!)

• Easy customization

• Mix and Match

• QQuickWidget

• QOpenGLWidget

Page 17: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Use Case: MuseScore

MuseScore Player for Mobile DevicesMuseScore for Desktop

Page 18: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Use Case: Mobile Clients for an Existing Enterprise Systems

Publishing framework (eg. MS Sharepoint)

Data

Qt client

Browser interface

ERP system

Page 19: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Use Case: Wider Usage of Qt in Internal systems

Existing ERP systems

Data

Qt client (common parts)

External Consumer Apps

Internal applications

Internal, proprietary devices

”BYOD”

Page 20: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Internet of Things

Page 21: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Use Cases for IoT

• Control any device remotely using a mobile device or tablet: Consumer Electronics, Automotive, Point-of-Sales, Industry Automation (BYOD, Bring Your Own Device)

• Smart wall thermostats

• Home appliances

• TVs, Set-top-boxes

• Auxiliary (mobile) screens for service or for completely headless devices

• Smart, connected sensors/sensor clusters with Cloud connection and server-side computation and remote adjusting: Industry automation

• Mobile Health (mHealth)

• Mash-Ups of global device networks, for smart applications, such as traffic control, logistics

• Remote monitoring and controlling of global manufacturing chains, improved inventory and stock management

Page 22: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Bluetooth LEM2M Protocols

Low power SoCs / processors

RFID / NFC

Wi-Fi CoverageSecurity

2G/3G/4G

Page 23: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

How About Software Developers?

Why isn’t anyone thinking about the software developers?

Page 24: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 25: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Page 26: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Success Factors for IoT Software Vendors

• Managing the communication with connected devices/sensors;

• Providing middleware for integration to data repositories;

• Storing and securing the data; and

• Analyzing and visualizing the data

Goldman Sachs report: IoT primer, The Internet of Things: Making sense on the next mega-trend

Page 27: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Problems for Creating an IoT System—from Software Perspective

• Creating an embedded device. Still as painful as always.

• Boot to Qt, Embedded tooling, Qt Creator

• Creating an extendable architecture for a system of embedded devices

• Future-prooving software with Qt, platform independency

• Creating a back-end for the embedded devices to hook into (OK, ”The Internet” IS already there)

• Qt Cloud Services

• Making the devices and the backend data somehow reachable to all consumers

• Cross-Platform Software Framework

• Big Data

• Cloud computing, Data analysis and visualization libraries, Preparing the existing framework parts

Page 28: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Qt Weather Station, Simple Use Case of an IoT System

Page 29: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Qt Weather Station, Architecture

Page 30: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

QtCloudServices.com

Page 31: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Getting Started

So how do I then take my software into mobile?

Page 32: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Tooling Setup – Android

Page 33: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Tooling Setup – iOS

• Xcode and Xcode command line tools are enough

• Apple developer id

• Register your device

• Developer/distribution provisioning profile

• Associates together device id, application bundle id, and developer certificate

• Developer/distribution certificate

Page 34: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Deployment and Publishing

• Three deployment options in Android

• Projects > Run > Deploy configurations

• Publishing in Google Play

• Signed APK can be created in QtCreator

• Login to Goole Play and upload your app

• iOS

• CtCreator plugin creates Xcode project too

• Open the project in Xcode and set version number, icons, orientation etc.

• Publish using iTunes Connect

Page 35: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Windows Phone Pre-Reqs

• Visual Studio 2013

• Windows 8.1

• Tools have been mostly integrated into Qt Creator, but visual Studio is needed for debugging on phone

• Submitting to Windows Store

• The web interface takes the package created by Visual Studio (or Qt Creator)

Page 36: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

© 2014The Qt Company

Questions?

Page 37: Integrating Mobile into Your Cross- Platform Strategy with Qt€¦ · Integrating Mobile into Your Cross-Platform Strategy with Qt Tuukka Ahoniemi Technical Product Marketing Manager

Thank You!

[email protected]@tuukka_a

www.qt.io

© 2014 Digia