<<

Integrating Mobile into Your Cross- Platform Strategy with

Tuukka Ahoniemi

Technical Product Marketing Manager

[email protected]

Qt Developer Days 2014

© 2014 The 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

The Qt Company © 2014 Opportunities with Qt on Mobile Android iOS Windows Store Apps Sailfish OS BlackBerry 10 Ubuntu touch X Tizen MeeGo

Qtopia Windows Mobile

<- 2008 2008 - 2012 2012 -> Trolltech Nokia The Qt Company + community

The Qt Company © 2014 The Qt Company © 2014 The Qt Company © 2014 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 Web documents UI elements Cross-Platform WebView element

Android Native QtWebEngine

Desktop Embedded iOS Android OSs OSs

Coming later

The Qt Company © 2014 Qt for Windows Store Apps

• Windows Runtime / WinRt => Windows Store Apps • Qt 5.4 for WinRT will support • PCs (Modern UI), Tablets (Surface) and (Windows Phone) • Windows 8.1 and upwards • All major Qt modules supported • Windows Phone 8.1 and upwards • User is able to publish applications for • Qt 5.4 – Fully supported WinRT, Windows store apps, Windows • New Modules Phone • Geopositioning • Enterprise Controls • Engin.io • Possible Roadmap items • Qt Quick Compiler • Multimedia • In-app purchasing (Qt Purchasing) • Qt 5.5 • Adopting to Windows 10 • Bluetooth, BT LE, … • Integrated to

The Qt Company © 2014 Use Cases

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

The Qt Company © 2014 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

The Qt Company © 2014 The Qt Company © 2014 The Qt Company © 2014 Qt is Not Just Mobile

The Qt Company © 2014 The Qt Company © 2014 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

The Qt Company © 2014 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 Qt Quick for mobile desktop app Qt Widget desktop app Common Qt / ++ engine

Qt Quick for all Qt Widget mobile app Common Qt / C++ engine

The Qt Company © 2014 Migrating to Qt Quick

• Qt Quick Controls • Regular + Enterprise • Native LAF (5.4 adds Android!) • Easy customization • Mix and Match • QQuickWidget • QOpenGLWidget

The Qt Company © 2014 Use Case: MuseScore

MuseScore for Desktop MuseScore Player for Mobile Devices

The Qt Company © 2014 Use Case: Mobile Clients for an Existing Enterprise Systems

Browser interface

Publishing framework (eg. MS Sharepoint)

Qt client ERP system

Data

The Qt Company © 2014 Use Case: Wider Usage of Qt in Internal systems

Internal, proprietary devices

”BYOD”

External Internal Consumer Apps applications Existing ERP Qt client (common parts) systems

Data

The Qt Company © 2014 Internet of Things

The Qt Company © 2014 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

The Qt Company © 2014 RFID / NFC

M2M Protocols Bluetooth LE

2G/3G/4G Low power SoCs / processors

Security Wi-Fi Coverage

The Qt Company © 2014 How About Software Developers?

Why isn’t anyone thinking about the software developers?

The Qt Company © 2014 The Qt Company © 2014 The Qt Company © 2014 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 mega-trend

The Qt Company © 2014 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

The Qt Company © 2014 Qt Weather Station, Simple Use Case of an IoT System

The Qt Company © 2014 Qt Weather Station, Architecture

The Qt Company © 2014 QtCloudServices.com Getting Started

So how do I then take my software into mobile?

The Qt Company © 2014 Tooling Setup – Android

The Qt Company © 2014 Tooling Setup – iOS

• Xcode and Xcode command line tools are enough

id

• Register your device

• Developer/distribution provisioning profile • Associates together device id, application bundle id, and developer certificate • Developer/distribution certificate

The Qt Company © 2014 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

The Qt Company © 2014 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)

The Qt Company © 2014 Questions?

The Qt Company © 2014 Thank You! tuukka.ahoniemi@.com @tuukka_a

www.qt.io

© 2014 Digia