SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Qt Automotive Suite
Under the hood after one year of hacking
Johan Thelin
Introduction
 Johan Thelin, System Architect at Luxoft
 Background: Qt Champion, Foundations of Qt
Development, QmlBook, Pelagicore, Nokia Qt
Development Frameworks
qmlbook.org
What’s in the Box?
 Core components (non UI)
 Qt Application Manager
 Qt IVI
 Qt GENIVI Extras
 Tools and best practices
 QmlLive
 GammaRay
 Integrations of QtAM in QtCreator
What’s in the Box?
 Neptune – An Automotive Reference UI
 Center stack
 Instrument Cluster
 AppStore
 Solutions to selected key issues in IVI
 Notifications prioritization
 Application life-cycle
 Security for deployment and execution
What’s left to do?
 Qt Automotive Suite provides a reference UI
 OEMs still have to provide
 Deep vehicle integration
 OEM specific features and extensions
 End-user available application distribution
Developers first!
 Our mission is to bring the Qt way to automotive
 Easy to get started
 Ease of development
 Great documentation
 All the tools you need at your fingertips
A Look at
the Past Year
Qt Application Manager at a Glance
 Wayland compositor
 Graphics
 Input
 Owns the Apps
 Installation, update, removal
 Start, pause, stop
 Run-time for the System UI
Qt Application Manager
Timing and fidelity
 StartTimer
 Start-up timing
 Support custom checkpoints
 Can be used for the System UI and Apps
 ProcessMonitor
 Frame rate
 Memory usage
 CPU load
 SystemMonitor
 Frame rate
 Memory rate
 CPU load
 # of CPUs
 Amount of memory
Qt Application Manager
• Notification Manager
• Prioritization
• Stickyness
• Actions
• Progress
• Time outs
• All still via
org.freedesktop.Notifications
Qt Application Manager
 Code base maintenance
 More usage of C++11
 nullptr
 Q_DECL_NOEXCEPT_EXPR(false)
Qt Application Manager
Neptune UI at a Glance
 Reference UI and demonstrator baseline
 System UI runs on Qt Application Manager
 A variety of Apps
 Settings
 Navigation
 Media
 Browser
 and so on
Neptune UI
• Most visible change is the WindowOverview page
WindowOverview Page
GridView {
model: ListModel {}
delegate: Item {
ShaderEffectSource {
anchors.fill: parent
anchors.margins: gridView.padding
sourceItem: model.item
}
}
Connections {
target: ApplicationManagerInterface
onApplicationSurfaceReady: {
...
gridView.model.append({ "item" : item })
}
onApplicationSurfaceLost: {
for (var i = 0; i < gridView.model.count; ++i) {
if (gridView.model.get(i).item === item)
gridView.model.remove(i);
}
}
}
WindowOverview Page
delegate: Item {
MouseArea {
anchors.fill: parent
onClicked: {
ApplicationManager.startApplication(ApplicationManagerInterface.appIdFromWindow(model.item))
root.close()
// Hide all other windows, otherwise the will be in the stack and switching doesn't work
for (var i = 0; i < gridView.model.count; ++i) {
var window = gridView.model.get(i).item
if (window !== model.item)
WindowManager.setWindowProperty(window, "visibility", false)
}
}
}
Tool {
onClicked: ApplicationManager.stopApplication(ApplicationManagerInterface.appIdFromWindow(model.item))
}
}
Taking it to the Next Level
• We are doing a face-lift of Neptune...
• ...both graphical and code wise
• New look and feel – still under development
• Qt Quick Controls 2
• Updated layout strategy
Qt IVI at a Glance
 Qt abstraction layer on top of the platform
services
 IPC agnostic, platform agnostic
 Dynamically loaded backends
 Dynamic bindings all the way
 Can interchange backends
 Allows for service discovery
Qt IVI – Code Generator with QFace
• Reference implementations of Media and VehicleFunctions
• Integration of QFace
• Code generator based on Qt aware IDL
• Jinja based code generators – very simply to extend
• Fully integrated in your qmake / cmake workflow
• Handwritten APIs for static APIs, e.g. media, tuner, bluetooth
• Generated APIs for volatile APIs, e.g. vehicle signals
File(s)Generator(s)
Qt IVI - QFace
IDL Model Generator(s) Source file(s)
QFace
Qt IVI - QFace
• IDL supports
• Interfaces
• Data types, structs, enums, etc
• Annotations – meta-data for the generators
• Jinja based generators
• Used for Python web frameworks
• Lets you traverse the model
• Very easy to write custom generators
System
Module
Import Interface
Property
Operation
Event
Enum Flag Struct
Property
QML Live
• Live reloader with server/client architecture
• Very quick turn-around time for developers and designers
• Many contributions from Jolla
• Extraction of core to lib
• Many bugs squashed
• Lost dependencies on widgets
More...
• Qt
• GammaRay
• Qt GENIVI Extras module
Where are we heading?
 Updated Neptune UI
 Redesigned
 Qt Quick Controls 2
 Qt3D for vehicle visualizations
 Integration of Squish
 A new Instrument Cluster
 Qt IVI
 More APIs
 Refactoring VehicleSettings to use QFace
 Enhanched Emulator support
 More how-to documentation
Where to get it?
qt.io pelux.iogenivi.org
Thank you for your attention!
jthelin@luxoft.com

Contenu connexe

Tendances

[Open Source Summit 2019] Microservices with Ballerina
[Open Source Summit 2019] Microservices with Ballerina[Open Source Summit 2019] Microservices with Ballerina
[Open Source Summit 2019] Microservices with BallerinaWSO2
 
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Anoop Ramachandran
 
Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overviewCisco DevNet
 
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of SwaggerWSO2
 
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...apidays
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talkclive boulton
 
Software Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsSoftware Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsVMware Tanzu
 
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 MinutesRISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 MinutesIvan Kravets
 
Infinite Toolkit: a deep dive
Infinite Toolkit: a deep diveInfinite Toolkit: a deep dive
Infinite Toolkit: a deep diveCisco DevNet
 
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...WSO2
 
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...WSO2
 
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...
Hybrid Programming in Hybrid Cloud: be ready to the success  - Ferdinando Gor...Hybrid Programming in Hybrid Cloud: be ready to the success  - Ferdinando Gor...
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...Codemotion
 
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformPorting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformRyo Jin
 
OpenHW TV S2 E04: Software Task Group Project Updates
OpenHW TV S2 E04: Software Task Group Project UpdatesOpenHW TV S2 E04: Software Task Group Project Updates
OpenHW TV S2 E04: Software Task Group Project UpdatesIvan Kravets
 
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ "Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ Junji Nishihara
 
Modern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtModern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtQt
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리Wonsuk Lee
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021AnuragSharma900
 
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...Open Source Experience
 

Tendances (20)

[Open Source Summit 2019] Microservices with Ballerina
[Open Source Summit 2019] Microservices with Ballerina[Open Source Summit 2019] Microservices with Ballerina
[Open Source Summit 2019] Microservices with Ballerina
 
Cmm #4
Cmm #4Cmm #4
Cmm #4
 
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
Introduction to Anypoint Runtime Fabric on Amazon Elastic Kubernetes Service ...
 
Infinite Toolkit: an overview
Infinite Toolkit: an overviewInfinite Toolkit: an overview
Infinite Toolkit: an overview
 
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
[WSO2Con EU 2018] OpenAPI Specification 3 - The Evolution of Swagger
 
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...
APIdays Helsinki 2019 - The Future of the Dynamic Application Server, NGINX U...
 
Lift web framework and Scala programming language talk
Lift web framework and Scala programming language talkLift web framework and Scala programming language talk
Lift web framework and Scala programming language talk
 
Software Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and TradeoffsSoftware Architecture: A Story About Business Value and Tradeoffs
Software Architecture: A Story About Business Value and Tradeoffs
 
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 MinutesRISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
RISC-V Summit 2019: Next-generation IDE for your RISC-V Product in 20 Minutes
 
Infinite Toolkit: a deep dive
Infinite Toolkit: a deep diveInfinite Toolkit: a deep dive
Infinite Toolkit: a deep dive
 
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
[APIdays INTERFACE 2021] Now that we have K8s, can we stop re-inventing API p...
 
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
Continuous Integration and Continuous Deployment (CI/CD) with WSO2 Enterprise...
 
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...
Hybrid Programming in Hybrid Cloud: be ready to the success  - Ferdinando Gor...Hybrid Programming in Hybrid Cloud: be ready to the success  - Ferdinando Gor...
Hybrid Programming in Hybrid Cloud: be ready to the success - Ferdinando Gor...
 
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC PlatformPorting Tizen-IVI 3.0 to an ARM based SoC Platform
Porting Tizen-IVI 3.0 to an ARM based SoC Platform
 
OpenHW TV S2 E04: Software Task Group Project Updates
OpenHW TV S2 E04: Software Task Group Project UpdatesOpenHW TV S2 E04: Software Task Group Project Updates
OpenHW TV S2 E04: Software Task Group Project Updates
 
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ "Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ
"Kongゲートウェイ2.5リリース" Kong Konnectアップデート オンラインミートアップ
 
Modern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qtModern microcontroller (mcu) application development with qt
Modern microcontroller (mcu) application development with qt
 
2014 HTML5 총정리
2014 HTML5 총정리2014 HTML5 총정리
2014 HTML5 총정리
 
Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021Api functional monitoring -9th October 2021
Api functional monitoring -9th October 2021
 
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
Le projet MORPHEMIC – Adaptation des ressources de cloud computing selon une ...
 

Similaire à Qt Automotive Suite - under the hood // Qt World Summit 2017

Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Nokia
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarICS
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarJanel Heilbrunn
 
Qt for Python
Qt for PythonQt for Python
Qt for PythonICS
 
Meet qt intro
Meet qt introMeet qt intro
Meet qt introISBVN
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical PresentationDaniel Rocha
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your wayJohannes Brännström
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architecturesnine
 
Qt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn StrippedQt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn StrippedNokia
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key conceptsICS
 
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfDeveloping and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfPrabindh Sundareson
 
Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdfVinothini Raju
 
PyData NYC 2015 Presentation
PyData NYC 2015 PresentationPyData NYC 2015 Presentation
PyData NYC 2015 Presentationviz4biz
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integrationgjuljo
 
Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10FedericoGuerinoni
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"Volker Linz
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkToby Corbin
 

Similaire à Qt Automotive Suite - under the hood // Qt World Summit 2017 (20)

Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009Cutest technology of them all - Forum Nokia Qt Webinar December 2009
Cutest technology of them all - Forum Nokia Qt Webinar December 2009
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 
Porting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - WebinarPorting Motif Applications to Qt - Webinar
Porting Motif Applications to Qt - Webinar
 
Qt for Python
Qt for PythonQt for Python
Qt for Python
 
Qt for S60
Qt for S60Qt for S60
Qt for S60
 
Meet qt intro
Meet qt introMeet qt intro
Meet qt intro
 
Meet qt intro
Meet qt introMeet qt intro
Meet qt intro
 
Qt Technical Presentation
Qt Technical PresentationQt Technical Presentation
Qt Technical Presentation
 
Red Hat and kubernetes: awesome stuff coming your way
Red Hat and kubernetes:  awesome stuff coming your wayRed Hat and kubernetes:  awesome stuff coming your way
Red Hat and kubernetes: awesome stuff coming your way
 
GCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native ArchitecturesGCP Meetup #3 - Approaches to Cloud Native Architectures
GCP Meetup #3 - Approaches to Cloud Native Architectures
 
Qt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn StrippedQt S60 Technical Presentation Fn Stripped
Qt S60 Technical Presentation Fn Stripped
 
Qt for beginners part 1 overview and key concepts
Qt for beginners part 1   overview and key conceptsQt for beginners part 1   overview and key concepts
Qt for beginners part 1 overview and key concepts
 
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with XgxperfDeveloping and Benchmarking Qt applications on Hawkboard with Xgxperf
Developing and Benchmarking Qt applications on Hawkboard with Xgxperf
 
Efficient platform engineering with Microk8s & gopaddle.pdf
Efficient platform engineering  with  Microk8s & gopaddle.pdfEfficient platform engineering  with  Microk8s & gopaddle.pdf
Efficient platform engineering with Microk8s & gopaddle.pdf
 
PyData NYC 2015 Presentation
PyData NYC 2015 PresentationPyData NYC 2015 Presentation
PyData NYC 2015 Presentation
 
IBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt IntegrationIBM Rational Rhapsody and Qt Integration
IBM Rational Rhapsody and Qt Integration
 
Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10Qt Oss to Commercial 2019-09-10
Qt Oss to Commercial 2019-09-10
 
"Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?""Wie passen Serverless & Autonomous zusammen?"
"Wie passen Serverless & Autonomous zusammen?"
 
A164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdkA164 enterprise javascript ibm node sdk
A164 enterprise javascript ibm node sdk
 
了解 Qt
了解 Qt了解 Qt
了解 Qt
 

Plus de Johan Thelin

Degrees of Freedom
Degrees of FreedomDegrees of Freedom
Degrees of FreedomJohan Thelin
 
Hacktoberfest - An Open Source Story
Hacktoberfest - An Open Source StoryHacktoberfest - An Open Source Story
Hacktoberfest - An Open Source StoryJohan Thelin
 
Building the QML Run-time
Building the QML Run-timeBuilding the QML Run-time
Building the QML Run-timeJohan Thelin
 
Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Johan Thelin
 
Introduction to Qt Embedded
Introduction to Qt EmbeddedIntroduction to Qt Embedded
Introduction to Qt EmbeddedJohan Thelin
 

Plus de Johan Thelin (7)

Degrees of Freedom
Degrees of FreedomDegrees of Freedom
Degrees of Freedom
 
Hacktoberfest - An Open Source Story
Hacktoberfest - An Open Source StoryHacktoberfest - An Open Source Story
Hacktoberfest - An Open Source Story
 
Building the QML Run-time
Building the QML Run-timeBuilding the QML Run-time
Building the QML Run-time
 
Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011Necessitas - Qt on Android - from FSCONS 2011
Necessitas - Qt on Android - from FSCONS 2011
 
Qt Workshop
Qt WorkshopQt Workshop
Qt Workshop
 
Cross Platform Qt
Cross Platform QtCross Platform Qt
Cross Platform Qt
 
Introduction to Qt Embedded
Introduction to Qt EmbeddedIntroduction to Qt Embedded
Introduction to Qt Embedded
 

Dernier

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 

Dernier (20)

How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 

Qt Automotive Suite - under the hood // Qt World Summit 2017

  • 1. Qt Automotive Suite Under the hood after one year of hacking Johan Thelin
  • 2. Introduction  Johan Thelin, System Architect at Luxoft  Background: Qt Champion, Foundations of Qt Development, QmlBook, Pelagicore, Nokia Qt Development Frameworks qmlbook.org
  • 3. What’s in the Box?  Core components (non UI)  Qt Application Manager  Qt IVI  Qt GENIVI Extras  Tools and best practices  QmlLive  GammaRay  Integrations of QtAM in QtCreator
  • 4. What’s in the Box?  Neptune – An Automotive Reference UI  Center stack  Instrument Cluster  AppStore  Solutions to selected key issues in IVI  Notifications prioritization  Application life-cycle  Security for deployment and execution
  • 5. What’s left to do?  Qt Automotive Suite provides a reference UI  OEMs still have to provide  Deep vehicle integration  OEM specific features and extensions  End-user available application distribution
  • 6. Developers first!  Our mission is to bring the Qt way to automotive  Easy to get started  Ease of development  Great documentation  All the tools you need at your fingertips
  • 7. A Look at the Past Year
  • 8. Qt Application Manager at a Glance  Wayland compositor  Graphics  Input  Owns the Apps  Installation, update, removal  Start, pause, stop  Run-time for the System UI
  • 9. Qt Application Manager Timing and fidelity  StartTimer  Start-up timing  Support custom checkpoints  Can be used for the System UI and Apps  ProcessMonitor  Frame rate  Memory usage  CPU load  SystemMonitor  Frame rate  Memory rate  CPU load  # of CPUs  Amount of memory
  • 10. Qt Application Manager • Notification Manager • Prioritization • Stickyness • Actions • Progress • Time outs • All still via org.freedesktop.Notifications
  • 11. Qt Application Manager  Code base maintenance  More usage of C++11  nullptr  Q_DECL_NOEXCEPT_EXPR(false)
  • 13. Neptune UI at a Glance  Reference UI and demonstrator baseline  System UI runs on Qt Application Manager  A variety of Apps  Settings  Navigation  Media  Browser  and so on
  • 14. Neptune UI • Most visible change is the WindowOverview page
  • 15. WindowOverview Page GridView { model: ListModel {} delegate: Item { ShaderEffectSource { anchors.fill: parent anchors.margins: gridView.padding sourceItem: model.item } } Connections { target: ApplicationManagerInterface onApplicationSurfaceReady: { ... gridView.model.append({ "item" : item }) } onApplicationSurfaceLost: { for (var i = 0; i < gridView.model.count; ++i) { if (gridView.model.get(i).item === item) gridView.model.remove(i); } } }
  • 16. WindowOverview Page delegate: Item { MouseArea { anchors.fill: parent onClicked: { ApplicationManager.startApplication(ApplicationManagerInterface.appIdFromWindow(model.item)) root.close() // Hide all other windows, otherwise the will be in the stack and switching doesn't work for (var i = 0; i < gridView.model.count; ++i) { var window = gridView.model.get(i).item if (window !== model.item) WindowManager.setWindowProperty(window, "visibility", false) } } } Tool { onClicked: ApplicationManager.stopApplication(ApplicationManagerInterface.appIdFromWindow(model.item)) } }
  • 17. Taking it to the Next Level • We are doing a face-lift of Neptune... • ...both graphical and code wise • New look and feel – still under development • Qt Quick Controls 2 • Updated layout strategy
  • 18. Qt IVI at a Glance  Qt abstraction layer on top of the platform services  IPC agnostic, platform agnostic  Dynamically loaded backends  Dynamic bindings all the way  Can interchange backends  Allows for service discovery
  • 19. Qt IVI – Code Generator with QFace • Reference implementations of Media and VehicleFunctions • Integration of QFace • Code generator based on Qt aware IDL • Jinja based code generators – very simply to extend • Fully integrated in your qmake / cmake workflow • Handwritten APIs for static APIs, e.g. media, tuner, bluetooth • Generated APIs for volatile APIs, e.g. vehicle signals
  • 20. File(s)Generator(s) Qt IVI - QFace IDL Model Generator(s) Source file(s) QFace
  • 21. Qt IVI - QFace • IDL supports • Interfaces • Data types, structs, enums, etc • Annotations – meta-data for the generators • Jinja based generators • Used for Python web frameworks • Lets you traverse the model • Very easy to write custom generators System Module Import Interface Property Operation Event Enum Flag Struct Property
  • 22. QML Live • Live reloader with server/client architecture • Very quick turn-around time for developers and designers • Many contributions from Jolla • Extraction of core to lib • Many bugs squashed • Lost dependencies on widgets
  • 23. More... • Qt • GammaRay • Qt GENIVI Extras module
  • 24. Where are we heading?  Updated Neptune UI  Redesigned  Qt Quick Controls 2  Qt3D for vehicle visualizations  Integration of Squish  A new Instrument Cluster  Qt IVI  More APIs  Refactoring VehicleSettings to use QFace  Enhanched Emulator support  More how-to documentation
  • 25. Where to get it? qt.io pelux.iogenivi.org
  • 26. Thank you for your attention! jthelin@luxoft.com