Qt framework for building graphql driven QML applications
Project description
Qt framework for building graphql driven QML applications
Disclaimer
This project is currently under development, and it is not production ready, You can play-around and tell us what is wrong / missing / awesome :smile:.
Features
Codegen (introspection compiler)
- object types, for each field there is a corresponding
Property
- enums
- custom scalars
Runtime
- "Qt-native" graphql-transport-ws network manager (supports subscriptions).
Helpers
- generic models that get created from dictionaries (with update, pop, insert implemented by default)
-
Property
classes that are accessible from QML, with dataclasses syntax (using attrs) -
@slot
- decorator to be replaced withQtCore.Slot()
that get types from type hints.
Future vision
- Code generation from schema inspection
Ideally every graphql type would be a
QObject
withProperty
for each field. - possibly generate C++ bindings from schema inspection
- Query only what defined by the user (similar to how relay does this)
- Auto mutations
- Subscriptions
"Just build a web based UI"
Qt-QML IMO is a big game changer
- you get native performance
- UI code is very clear and declarative
- Easy to customize
- Easy to learn
One of the big disadvantages in Qt-QML is that Qt-C++ API is very repetitive and hard to maintain for data-driven applications.
although it is tempting to just use relay
or other JS
graphql lib
there is a point where you would suffer from performance issues (react-native).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
qtgql-0.105.4.tar.gz
(22.6 kB
view hashes)
Built Distribution
qtgql-0.105.4-py3-none-any.whl
(28.1 kB
view hashes)