+ All Categories
Home > Documents > a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the...

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

Date post: 03-Apr-2018
Category:
Upload: vonhan
View: 241 times
Download: 0 times
Share this document with a friend
31
1 Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company © 2014 The Qt Company
Transcript
Page 1: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

1

Qt – a Framework for the Multi-Screen World

Nils Christian Roscher-Nielsen

The Qt Company

© 2014 The Qt Company

Page 2: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 3: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 4: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 5: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 6: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

6

6

Industry Challenges

© 2014 The Qt Company

Page 7: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

7

Automotive Today

Instrument cluster

Infotainment system

HUD

Backseat entertainment

© 2014 The Qt Company

Page 8: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 9: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 10: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 11: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

11

11

Technical Enablers

© 2014 The Qt Company

Page 12: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 13: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

13

Stable application platform

•  Medical

•  Automotive

•  In-flight systems

© 2014 The Qt Company

Page 14: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 15: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

15

QML

•  Native Look and Feel •  Custom UI design

© 2014 The Qt Company

Page 16: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 17: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 18: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 19: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

19

19

Going Multi-Screen with your Device

© 2014 The Qt Company

Page 20: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

20

Going Multi Screen with your Device

Headless device

Headless device

GUI device

© 2014 The Qt Company

Page 21: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 22: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 23: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

23

Qt Application

Re-Using Code with Responsive User Interface

Tablet UI,

portrait

Tablet UI, landscape Mobile

UI

Desktop UI

© 2014 The Qt Company

Page 24: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 25: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

25

25

Extending your Ecosystem

© 2014 The Qt Company

Page 26: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

26

Qt as Technology Platform

© 2014 The Qt Company

Page 27: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 28: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 29: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 30: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

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

Page 31: a Framework for the Multi-Screen World - Qt Developer Days · Qt – a Framework for the Multi-Screen World Nils Christian Roscher-Nielsen The Qt Company ... Qt graphics overlaying

© 2014 Digia

Thank you! www.qt.io


Recommended