[Development] QtCS19 Serialization session
Arnaud Clère
arnaud.clere at moulinarso.fr
Sun Nov 24 21:18:07 CET 2019
Hi all,
Thank you for the discussions at QtCS19!
The notes regarding the session on serialization are on the wiki:
https://wiki.qt.io/Rethinking_serialization_for_Qt6
To summarize:
- Although it seemed strange to many people, it is possible to provide an
API so that a single T::zap() method can read/write T instances to many
different Qt APIs : Json, Cbor, Xml, and even QAbstractItemModel to
interact with SQL tables, TableView and TreeView widgets.
- When QMetaObject is available, serialization to/from these Qt APIs can be
done automatically using reflection.
- This API is a little bit like an external protobuf schema except it does
not require external tools and does not need to generate intermediate data
structures.
- It provides simpler and safer read/write to these Qt APIs, easy
customization similar to Python list comprehensions, and a lot of
flexibility in choosing data formats, so that the very small runtime
overhead is usually negligible.
Action items :
- Thiago recognized that this kind of API would be valuable to Qt users but
at least the naming is problematic, so he should provide feedback before it
can be pushed to and reviewed on gerrit
- Other contributors can review the initial Qt proposal on github:
https://github.com/arnaud-clere/qtbase/compare/63a1a30a014eb75a67c390a16faa9aeb03a4a012...HEAD
or the proof of concept and benchmark on the original research project:
https://gricad-gitlab.univ-grenoble-alpes.fr/modmed/modmedLog/tree/master/tests/QBind
Cheers,
Arnaud
RépondreTransférer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20191124/b7bc681c/attachment.html>
More information about the Development
mailing list