[Development] QDataStream: blackbox or document all versions?
Bogdan Vatra
bogdan.vatra at kdab.com
Mon Sep 26 13:22:25 CEST 2016
Hi,
What about Option 3 :) ?
Use another binary format for serialization: flatbuffers [1] which is super
fast, has a stable binary format and can be used by lots of other languages
[2].
Cheers,
BogDan.
P.S. On my personal fork [3] I even added Qt support, and it can be used from
QML as well ;-)
[1] http://google.github.io/flatbuffers/
[2] http://google.github.io/flatbuffers/flatbuffers_support.html
[3] https://github.com/bog-dan-ro/flatbuffers
On sâmbătă, 24 septembrie 2016 20:58:38 EEST Thiago Macieira wrote:
> A thread[1] on the interest mailing list started when someone asked for the
> docs for the current format of the QDataStream wire protocol, to which I
> replied that it doesn't exist as we don't maintain such docs.
>
> Long story short, we have two options:
>
> Option 1: claim QDataStream is a blackbox and tell people that the only
> thing that can read QDataStream is QDataStream. That means removing the
> documentation file src/corelib/doc/src/datastreamformat.qdoc, as we don't
> want people getting any ideas that they could write their own decoders or
> encoders.
>
> Option 2: the opposite, saying that reading QDataStream's output is fine
> from non-Qt code and it's fine to write data that QDataStream should read.
> This means extending the documentation to cover ALL 17 wire formats
> (including bugs) and keeping it up to date whenever someone modifies the
> format.
>
>
> I am in favour of Option 1 because I really don't think QDataStream is a
> good format for exchanging data with non-Qt code. It's designed first and
> foremost for Qt's own internal data formats (sometimes even depending on
> internal details), the marshalling of certain types in certain versions is
> buggy and lossy. Instead, people should find a better transport format for
> their data, of which we already have in Qt:
>
> XML
> JSON
> D-Bus
> QSettings (to an extent)
>
> And I can add CBOR support if we want to.
>
> [1]
> http://lists.qt-project.org/pipermail/interest/2016-September/024387.html
More information about the Development
mailing list