Qt Contributors Summit 2022 - Program/Keynote with Lars Knoll: Difference between revisions
(Created page with "Category:QtCS2022 ==Session Summary== ==Session Owners== *Lars Knoll ==Notes== (Taken by XXX) ===Title=== Lorem ipsum dolor sit amet, consectetur adipiscing elit,...") |
(Notes from Lars's Keynotes) |
||
Line 2: | Line 2: | ||
==Session Summary== | ==Session Summary== | ||
Line 11: | Line 10: | ||
==Notes== | ==Notes== | ||
(Taken by | (Taken by Samuel Gaist) | ||
Special contributor summit as it is the last one as Chief Maintainer | |||
Quick recapitulation based on the Lars's slides: | |||
=== Qt 6.4 === | |||
- WebAssembly is fully supported | |||
==== QtQuick ==== | |||
===== QML engine ===== | |||
- qmllint and language server improvements | |||
- QML compiler is improving as well | |||
===== Qt Quick Controls ===== | |||
- Item views are coming along | |||
- iOS Style | |||
===== Qt Quick 3D ===== | |||
- Physics engine | |||
- Collision detection | |||
- Effects | |||
- Tooling is importing to bring ease of use to all | |||
==== Qt Multimedia ==== | |||
===== FFMPEG based cross-platform backend ===== | |||
- Native backend have all different level of support for most | |||
- Inconsistent experience for users / developers | |||
- Fully supported for 6.5 | |||
===== Spatial Audio -> replaces QAudioEngine (5.15) ===== | |||
- QAudioEngine was QML only | |||
- Dual implementation | |||
- Place sound sources in 3D space | |||
- Headphone spatialisation | |||
- Surround sound support | |||
===== HDR video rendering (macOS mainly) ===== | |||
- Issue with Linux | |||
- Only for QVideoWidget currently (Quick support WIP) | |||
=== New items === | |||
==== Qt Speech ==== | |||
- Text to Speech is back | |||
- No WASM yet | |||
==== Permission API ==== | |||
- Mainly used on mobile and macOS | |||
==== Qt HTTP server ==== | |||
==== Qt PDF is back ==== | |||
==== ICU based codecs in QStringConverter ==== | |||
=== Tooling === | |||
==== Qt Creator ==== | |||
- Clang 14 based | |||
- Numerous bug fixed | |||
==== Qt Design Studio ==== | |||
- Support all of | |||
Qt Quick | |||
Qt Controls | |||
Qt Quick 3D | |||
There will be a session on how to contribute to QDS | |||
==== qmake2cmake ==== | |||
- Python script helper to go from qmake to cmake | |||
- Install with pip | |||
- 90-95% of port work likely supported with some tweaking | |||
=== Qt 6.5 and beyond === | |||
==== Focus areas ==== | |||
===== Generic feature ===== | |||
- Compiled | |||
- Map rendering (Qt Location) | |||
- improved | |||
- make it easier to add items on map | |||
- reduce API removing what was rarely used | |||
===== Desktop and mobile ===== | |||
- Modernize styles (Widgets and Quick Controls) | |||
- Windows 10-11, latest macOS etc. | |||
- RHI based backing store | |||
- Chrome OS support | |||
- Wayland | |||
===== Accessing data ===== | |||
- Protobuf and gRPC integration | |||
- Simplify using REST APIs | |||
- GraphQL | |||
The idea is to simplify how to access them rather than build everything from scratch each time. | |||
===== Graphics ===== | |||
- 3D, AR, VR, physics | |||
Integrate with the work done on spatial audio | |||
- Toolability | |||
Make things accessible through GUI rather than coding everything by hand. | |||
===== Python ===== | |||
- Improve interaction with Python | |||
===== Package management ===== | |||
- Has been pushed back because has been more complex than anticipated | |||
- Conan | |||
=== New C++ feature === | |||
- C++ 20 -> when can we start requiring C++20 compatible compilers (session later) | |||
- Co-routine (session later) | |||
=== SPDX license identifiers === | |||
- Qt is doing the switch | |||
- 2 lines headers | |||
- More concise | |||
=== Community === | |||
- Welcoming and helpful | |||
- Extremely competent | |||
- Very little flame wars and bikeshedding | |||
- How can we grow the community ? | |||
- New community manager ! Pedro | |||
=== Web page (contribute.qt-project.org) === | |||
- It's for the contributors | |||
- Processes | |||
- Stats | |||
- Need improvements (session for that later) | |||
=== Community topics === | |||
- Ghost maintainers: how do we handle inactive maintainers | |||
- Qt Community | |||
- How to grow it ? | |||
- What do to to make people participate ? | |||
- How to promote different aspects for contributions ? | |||
=== Chief maintainer === | |||
- We need to elect a new one | |||
- Lars has been using Qt for 25 years and 22 year professionally | |||
- Started with Trolltech (11-12 people) 20 years ago | |||
- 200 people with Nokia | |||
- Nokia failed but gave benefits like Open Governance, triple licensing, Qt Creator | |||
- After that, the project started "from scratch" and did quite well given the challenge | |||
== AMA == | |||
=== FFMPEG: will the new implement replace the old ones ? === | |||
- long term: yes, the first being GStreamer | |||
- Gstreamer is mainly for static pipelines and has been hard to work with. | |||
- Next likely with WMF | |||
- iOS, macOS and Android is not yet clear | |||
- QNX might be forced to use the native backend because of HW support | |||
- 6.5 should be default on all platform | |||
=== If you could magically change/add/remove something in Qt (a module, a class, etc) without any repercussion or people disagreeing with. What would it be? === | |||
- QString is a good one -> UTF8 for QString | |||
- Split audio handling in its own library | |||
- In fact nothing much, the architecture is pretty fine as it is | |||
=== Will FFMPEG be vendored ? === | |||
- Yes against a statically built FFMPEG | |||
- Supervision in the CI system for security issues | |||
=== Where are you going ? === | |||
- Small startup in Oslo | |||
- Distributed 5 perso | |||
- Joining as partner | |||
- Chat solutions in business | |||
- How to make integration easier for tools | |||
- Different chat solutions jumping between them | |||
- Maintainer of Qt Multimedia | |||
=== What do you think about shortening the major release cycle to be able to exploit the evolving C++ features ? === | |||
- Good question | |||
- Not necessarily a need for a new major each time (C++11 as example) | |||
- Source incompatibility changes should not happen too often | |||
=== Is there any other UI framework out there that Qt should keep a close eye in your opinion ? === | |||
- Probably yes, Flutter for mobile, not much on embedded side | |||
- It's important to look outside of our bubble | |||
- Tooling | |||
- Tutorial, IDE ideas, etc... | |||
- Took a look at Go as next language he'll be using | |||
=== | === What do you think about about other language bindings like Rust ? === | ||
- Thinks could be interesting | |||
- Already have stuff with shiboken to build binding | |||
- Not many commercial product done with Rust | |||
- KDAB building Rust/Qt interop | |||
<br /> |
Latest revision as of 09:16, 7 June 2022
Session Summary
Session Owners
- Lars Knoll
Notes
(Taken by Samuel Gaist)
Special contributor summit as it is the last one as Chief Maintainer
Quick recapitulation based on the Lars's slides:
Qt 6.4
- WebAssembly is fully supported
QtQuick
QML engine
- qmllint and language server improvements
- QML compiler is improving as well
Qt Quick Controls
- Item views are coming along
- iOS Style
Qt Quick 3D
- Physics engine
- Collision detection
- Effects
- Tooling is importing to bring ease of use to all
Qt Multimedia
FFMPEG based cross-platform backend
- Native backend have all different level of support for most
- Inconsistent experience for users / developers
- Fully supported for 6.5
Spatial Audio -> replaces QAudioEngine (5.15)
- QAudioEngine was QML only
- Dual implementation
- Place sound sources in 3D space
- Headphone spatialisation
- Surround sound support
HDR video rendering (macOS mainly)
- Issue with Linux
- Only for QVideoWidget currently (Quick support WIP)
New items
Qt Speech
- Text to Speech is back
- No WASM yet
Permission API
- Mainly used on mobile and macOS
Qt HTTP server
Qt PDF is back
ICU based codecs in QStringConverter
Tooling
Qt Creator
- Clang 14 based
- Numerous bug fixed
Qt Design Studio
- Support all of
Qt Quick
Qt Controls
Qt Quick 3D
There will be a session on how to contribute to QDS
qmake2cmake
- Python script helper to go from qmake to cmake
- Install with pip
- 90-95% of port work likely supported with some tweaking
Qt 6.5 and beyond
Focus areas
Generic feature
- Compiled
- Map rendering (Qt Location)
- improved
- make it easier to add items on map
- reduce API removing what was rarely used
Desktop and mobile
- Modernize styles (Widgets and Quick Controls)
- Windows 10-11, latest macOS etc.
- RHI based backing store
- Chrome OS support
- Wayland
Accessing data
- Protobuf and gRPC integration
- Simplify using REST APIs
- GraphQL
The idea is to simplify how to access them rather than build everything from scratch each time.
Graphics
- 3D, AR, VR, physics
Integrate with the work done on spatial audio
- Toolability
Make things accessible through GUI rather than coding everything by hand.
Python
- Improve interaction with Python
Package management
- Has been pushed back because has been more complex than anticipated
- Conan
New C++ feature
- C++ 20 -> when can we start requiring C++20 compatible compilers (session later)
- Co-routine (session later)
SPDX license identifiers
- Qt is doing the switch
- 2 lines headers
- More concise
Community
- Welcoming and helpful
- Extremely competent
- Very little flame wars and bikeshedding
- How can we grow the community ?
- New community manager ! Pedro
Web page (contribute.qt-project.org)
- It's for the contributors
- Processes
- Stats
- Need improvements (session for that later)
Community topics
- Ghost maintainers: how do we handle inactive maintainers
- Qt Community
- How to grow it ?
- What do to to make people participate ?
- How to promote different aspects for contributions ?
Chief maintainer
- We need to elect a new one
- Lars has been using Qt for 25 years and 22 year professionally
- Started with Trolltech (11-12 people) 20 years ago
- 200 people with Nokia
- Nokia failed but gave benefits like Open Governance, triple licensing, Qt Creator
- After that, the project started "from scratch" and did quite well given the challenge
AMA
FFMPEG: will the new implement replace the old ones ?
- long term: yes, the first being GStreamer
- Gstreamer is mainly for static pipelines and has been hard to work with.
- Next likely with WMF
- iOS, macOS and Android is not yet clear
- QNX might be forced to use the native backend because of HW support
- 6.5 should be default on all platform
If you could magically change/add/remove something in Qt (a module, a class, etc) without any repercussion or people disagreeing with. What would it be?
- QString is a good one -> UTF8 for QString
- Split audio handling in its own library
- In fact nothing much, the architecture is pretty fine as it is
Will FFMPEG be vendored ?
- Yes against a statically built FFMPEG
- Supervision in the CI system for security issues
Where are you going ?
- Small startup in Oslo
- Distributed 5 perso
- Joining as partner
- Chat solutions in business
- How to make integration easier for tools
- Different chat solutions jumping between them
- Maintainer of Qt Multimedia
What do you think about shortening the major release cycle to be able to exploit the evolving C++ features ?
- Good question
- Not necessarily a need for a new major each time (C++11 as example)
- Source incompatibility changes should not happen too often
Is there any other UI framework out there that Qt should keep a close eye in your opinion ?
- Probably yes, Flutter for mobile, not much on embedded side
- It's important to look outside of our bubble
- Tooling
- Tutorial, IDE ideas, etc...
- Took a look at Go as next language he'll be using
What do you think about about other language bindings like Rust ?
- Thinks could be interesting
- Already have stuff with shiboken to build binding
- Not many commercial product done with Rust
- KDAB building Rust/Qt interop