[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