Hi, I'm collecting thoughts on how to make developing Qt REST /client/ applications a smoother experience.
Here I'm thinking about a "typical" client application that wants to talk with "typical" REST servers as they exist today. As it stands today, the main options are XMLHttpRequest on QML side and QtNetwork classes on the C++ side (with per-application QML binding option). REST is a large and ~loosely defined umbrella and I'd appreciate your thoughts - what would actually /help/? In particular I'm interested in hearing about: 1) Current use cases and the bottlenecks/painpoints with them 2) Specifically about the seen utility of introducing a fetch() API, see below *) 3) Specifically about the seen utility for OpenAPI code-generation (below), see below *) If any thoughts, leave a comment here or here: https://bugreports.qt.io/browse/QTBUG-112276 Thank you Juha *) Few of the more promising directions I've looked into are: 1) Adding fetch() support in QML. Fetch is a Promise based Javascript API (https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) The reason I've picked it up is that it's a widely known JS API which makes for quite compact and readable code. But - would you find this useful? To give an idea, fetching a JSON: fetch("urlhere") .then((response) => response.json()) .then((json) => myModel.model = json) .catch((error) => console.log("Oh no", error) 2) Providing support for OpenAPI code generation tools; with OpenAPI you can generate Qt client networking boilerplate code based on an API description (https://openapi-generator.tech/) This would probably build on top of the existing cpp-qt-client generator and add things like out-of-the-box QML support and build system integration. The concept is well-known and sound, but do you see use for this? 3) Improving Qt OAuth2 support https://bugreports.qt.io/browse/QTBUG-113218 4) Possibly: Convenience classes for dealing with tasks around offline operation, caching, and also possibly convenience data models. -- Development mailing list Development@qt-project.org https://lists.qt-project.org/listinfo/development