Qt - A Framework for the Multi-Screen World
Nils Christian Roscher-Nielsen Product Manager, The Qt Company Who am I?
• Nils Christian Roscher-Nielsen
• Norwegian University of Science • 7 years with Qt and Technology • (Trolltech) • M.Sc. Engineering Cybernetics • Nokia • Digia • I enjoy skiing • The Qt Company kite boarding, Photography, • Support Engineer Qt application development • Sales Engineer and much more … • Product Manager 2 Content of this presentation
• Industry challenges • Where are we, and where are we going • Automotive, Automation, Mobile
• Technology Challenges • What makes Qt a good idea? • Why will it be so, also in the future?
• Future opportunities
3 Four Concepts for the Multiscreen World
• Power of C++ • Implement anything. Now.
• QML • Native performance. Custom Look and Feel.
• Hybrid Application development • Deliver the same content, everywhere.
• Interconnectivity • Beauty in the Front. Logic in the Back. Data in the Cloud.
4 Application Development Device Creation - desktop and mobile - HMI’s and applications
Software Development Kits (SDK)
5 Industry Challenges Automotive Today
HUD
Instrument Infotainment cluster system
Backseat entertainment
7 A view on the Industry History
• Siloed development efforts • Big changes ahead • 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
8 Whole New Experience
Connectivity Augmented Reality OTA updates Night Vision App store 2D / 3D Applications OEM HUD Configuration Internet radio Trip planning Music streaming Home Instrument Infotainment PC cluster system
CarCar statistic statistic logging logging MediaMedia streaming streaming Car statistic logging
Backseat Connected tablets entertainment and phones 9 Technical Enablers 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
12 Opportunities with Qt on mobile • Windows Store Apps • Android • iOS • Sailfish OS • BlackBerry 10
• Qtopia • Symbian • Ubuntu touch • Windows Mobile • MeeGo • Nokia X • Tizen
Trolltech Nokia The Qt Company + community
<< 2008 2008 - 2012 2012 >>
14 Target All Your End Users - with one Technology
Embedded:
Embedded Linux, Embedded Android, Windows Embedded, QNX, My VxWorks, INTEGRITY Software
Desktop: Service
Windows, Linux, Mac, Solaris, Enterprise UNIX
Mobile:
Android, iOS, Windows Phone, WindowsRT, BlackBerry 10, Sailfish
15 Stable application platform
• Medical • Automotive • In-flight systems
16 Qt Quick / QML
• New HW possibilities require new tools
• Declarative UI creation • Rapid prototyping and device creation • Collaborative Designer-Developer workflow
• Unlock unparalleled graphics performance
17 Qt Quick / QML
• Native Look and Feel • Custom UI design
18 Native & 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
19 Practical Example on multiple platforms
Qt graphics underneath the web page OpenGL shaders applied to web contents (colorize + 3D page curl) Actual web contents with Web Engine
Qt graphics overlaying Native Qt UI elements to interact web content with web content
20 Interconnectivity Beauty in the Front. Logic in the back. Data in the Cloud!
• Enginio Data Storage • Qt Managed WebSocket (MWS) • Qt Managed Application Runtime (MAR) • Qt WebChannel
21 Going Multi-Screen with your Device Going Multi Screen with your Device
GUI device
Headless device
Headless device Going Multi Screen with your Device
GUI device
Headless device
Headless device Going Multi-Screen with Your Device
GUI device Desktop PC
Mobile device 1 Headless device
Embedded device N
Headless device Going Multi Screen with your Device
GUI device Web page Desktop PC Qt Cloud API Qt Cloud REST API
Qt Cloud API
Mobile device 1 Headless device
Qt Cloud Qt Cloud API Qt Cloud API Services
Embedded device N
Headless device Qt Cloud API
Qt Cloud API Re-Using Code with Responsive User Interface
Tablet Tablet UI, Mobile UI, landscape UI portrait
Desktop UI
Qt Application
© 2014 The Qt Company Optimal Re-Use-Structure of a Qt Multi-Screen Application
Tablet UI Mobile UI Desktop UI Embedded Device UI < 10 %
Common UI (Qt Quick) 20-50 %
Application Logic 50-80 % (Qt/C++)
Qt © 2014 The Qt Company Extending your Ecosystem
29
© 2014 The Qt Company Qt as Complete Technology Platform
Qt Based SDK
Additional Applications Plugins for Qt Creator Ecosystem Additional Custom Libraries Marketplace, Qt Creator (UX, device access) Dev programs, Etc. Qt Libraries
HW Adaptation
30 Qt Creator New Licensing Option – LGPL v3
• LGPL v3 added as a licensing option to Qt 5.4 • Commercial licensing or community edition with GPL 3, LGPL 2.1 or LGPL 3 • LGPL v3 takes a clear stand to follow the spirit of the LGPL • Clear legal language • No patent retaliation • LGPL allows user’s to modify the application and underlying libraries and run the modified app • For Device Creation, creating completely locked devices is not allowed with LGPL v3 • New add-ons will be brought to Qt under commercial and (only) LGPL v3 licensing options • Allows The Qt Company to unify the ecosystem without business compromises • Qt WebEngine is available only under commercial and LGPL v3 options
33 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
© 2013 Digia 34 Thank you very much for listening
ありがとうございました
[email protected] @rosch