Modern software architectures are built with a clear interface between the frontend and backend services which are either running in different processes or in the cloud. This means that Qt must be able to address the following principal issues:
- Direct support for data serialization and packaging standards (e.g. protocol buffers)
- Support for simple but powerful data discovery and encapsulation & service discovery, e.g.
- improved JSON encapsulation
- OpenAPI (in conjunction with RESTful APIs)
- Provide relevant API's to use modern transport protocols, e.g.
- HTTP3 & HTTP2
- Remote IPC interaction
- Leveraging opportunities provided by existing Qt specfic technologies (e.g. Qt Remote Objects)
- Software solutions which can interact with existing server/client standards
- Improve Qt to cover the entire client/server software pipeline
- Light weight HTTP server (exists)
- Generic REST server and client implementations/templates (somewhat supported by qthttpserver, see above).
This implies that it should be possible that the above options can be mixed as seen fit.
A large proportion of the above requirements can be discovered by Investigating modern cloud solutions and their requirements towards data processing/serialization/visualization. After such an investigation an appropriate selection of technologies and architecturure shall be selected and via Qt API's and solution reflected.
Ultimately it should reduce the effort needed to integrate with existing services or even develop those services using Qt technologies. At the same time ensures that companion apps on embedded apps can be easily added at any given time.