a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the...

Post on 03-Apr-2018

241 views 0 download

transcript

1

Qt – a Framework for the Multi-Screen World

Nils Christian Roscher-Nielsen

The Qt Company

© 2014 The Qt Company

2

Who am I?

•  Nils Christian Roscher-Nielsen

•  6 years with Qt •  (Trolltech) •  Nokia •  Digia •  The Qt Company

•  Support Engineer •  Sales Engineer

•  Norwegian University of Science and Technology

• M.Sc.Engineering Cybernetics

© 2014 The Qt Company

3

Content of this presentation

•  Industry challenges •  Where are we, and where are we going •  Automotive, Automation, Mobile

•  Technology Challenges •  Why is Qt a good idea? •  Will it be so, also in the future?

•  Future opportunities

© 2014 The Qt Company

4

Four Concepts for the Multiscreen World

•  Power of C++ •  Implement anything. Now.

•  QML

•  Native performace. Your Look and Feel.

•  Hybrid Application development •  Deliver the same content, everywhere.

•  Interconnectivity •  Beauty in the Front. Logic in the Back. Data in the Cloud.

© 2014 The Qt Company

5

Embedded device creation HMI’s and applications Application development

for desktop and mobile

Software development kits (SDK) for third parties

© 2014 The Qt Company

6

6

Industry Challenges

© 2014 The Qt Company

7

Automotive Today

Instrument cluster

Infotainment system

HUD

Backseat entertainment

© 2014 The Qt Company

8

A view on the Industry History

•  Siloed development efforts

•  Multiple teams working on different parts

•  Long development cycles

•  3-5 years from need is identified to the product is released.

•  Highly optimized for niche markets

•  Various segments, HW differentiation

•  Big changes ahead

© 2014 The Qt Company

9

Whole New Experience

Media streaming Car statistic logging

Instrument cluster

Infotainment system

HUD

Backseat entertainment

Connected tablets and phones

Applications

Connectivity

Internet radio

Music streaming

OTA updates

Car statistic logging Car statistic logging Media streaming

Home PC

Trip planning

OEM

App store 2D / 3D

Night Vision

Configuration

Augmented Reality

© 2014 The Qt Company

10

Set Top Box market

•  No new large innovations at IBC, NAB

•  Technology is now mature, and products become reality

•  Comcast RDK

•  FROG by Wyplay

•  Hybrid products from DCC Labs

•  Bring your own device

© 2014 The Qt Company

11

11

Technical Enablers

© 2014 The Qt Company

12

Power of Qt/C++

•  High level cross platform APIs

•  Interface with other libraries

•  Write and interface with device drivers, communication busses, etc.

•  Modern

•  C++11, C++14, VS2014. clang, etc.

•  Best in class C++ API’s

•  Signals and Slots

•  Full Introspection

© 2014 The Qt Company

13

Stable application platform

•  Medical

•  Automotive

•  In-flight systems

© 2014 The Qt Company

14

QML

•  New HW possibilities require new tools

•  Declarative UI creation

•  Rapid prototyping and device creation

•  Collaborative Designer-Developer workflow

•  Unlock unparalleled graphics performance

© 2014 The Qt Company

15

QML

•  Native Look and Feel •  Custom UI design

© 2014 The Qt Company

16

Native and Web Hybrid Development

•  Qt WebEngine to the rescue!

•  Fully integrated graphics stack.

•  Tap into the best of native performance, and the broad set of HTML5 ecosystem and apps available

© 2014 The Qt Company

17

Practical Example on multiple platforms

Qt graphics underneath the web page

Native Qt UI elements to interact with web content

Actual web contents with Web Engine

Qt graphics overlaying web content

OpenGL shaders applied to web contents (colorize + 3D page curl)

© 2014 The Qt Company

18

Interconnectivity

•  Beauty in the Front. Logic in the back. Data in the Cloud!

•  Enginio Data Storage •  Access your data

•  Anywhere •  Anytime •  From any device

•  Qt WebChannel

•  Qt Managed WebSocket (MWS)

•  Qt Managed Application Runtime (MAR)

© 2014 The Qt Company

19

19

Going Multi-Screen with your Device

© 2014 The Qt Company

20

Going Multi Screen with your Device

Headless device

Headless device

GUI device

© 2014 The Qt Company

21

Going Multi-Screen with Your Device

Headless device

Headless device

Embedded device N

GUI device Desktop PC

Mobile device 1

© 2014 The Qt Company

22

Going Multi Screen with your Device

Headless device

Headless device

Embedded device N

GUI device

Desktop PC

Mobile device 1

Qt Cloud Services

Qt Cloud REST API

Web page

Qt Cloud API

Qt Cloud API

Qt Cloud API

Qt Cloud API

Qt Cloud API

Qt Cloud API

© 2014 The Qt Company

23

Qt Application

Re-Using Code with Responsive User Interface

Tablet UI,

portrait

Tablet UI, landscape Mobile

UI

Desktop UI

© 2014 The Qt Company

24

Common UI (Qt Quick)

Application Logic (Qt/C++)

Qt

Desktop UI Mobile UI Embedded Device UI

Tablet UI

50-80 %

20-50 %

< 10 %

Optimal Re-Use-Structure of a Qt Multi-Screen Application

© 2014 The Qt Company

25

25

Extending your Ecosystem

© 2014 The Qt Company

26

Qt as Technology Platform

© 2014 The Qt Company

27

Qt Creator

•  Stable plugin architecture

•  Many interesting customer projects

•  Develop hybrid applications and UI’s

•  Emulator that enables desktop and device development on the same machine.

© 2014 The Qt Company

28

And where are we headed?

•  Always forwards!

•  New mobile OS’es come and go every year.

•  The Desktop and Mobile is seemingly merging

•  Industrial applications look like app store games

•  Continue to drive the state of the art UI development

•  Every screen wants to have the same content and UX as a mobile

•  No one screen size or platform suffers

© 2014 The Qt Company

29 © 2014 The Qt Company

Better Life Cycle Management

•  Historically, shipping a Qt application has been a complicated task

•  Goals 1.  Simplify dependencies and packaging steps for Qt 5 applications (Framework tasks)

2.  Provide wizard / automation tools to further improve workflow (Tooling tasks)

•  Distribution Channel Independent

•  As one potential distribution method the Qt Installer Framework will be integrated into Qt Creator

Develop Package Distribute Design

30 © 2013 Digia

Summary

•  Comprehensive application framework

•  Rich set of application building blocks

•  Build advanced user interfaces, faster

•  Support multiple platforms – desktop and embedded - from a single source

•  Boost productivity through integrated tools

•  Rely on professional service and support

•  Keep control of your value chain and monetization

© 2014 Digia

Thank you! www.qt.io