Qt - a Framework for the Multi-Screen World
Total Page:16
File Type:pdf, Size:1020Kb
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.