-
Notifications
You must be signed in to change notification settings - Fork 12
Home
English | 中文
The FastProto project was initiated in 2019 to solve the data exchange problem in the Internet of Things. In IoT scenario, the data exchange between devices and servers usually use a customized binary format, rather than the more general JSON, XML, and ProtoBuf.
The data exchange process can be simply summarized as the device packet the data according to a specific protocol. The server receives the binary data, decodes the data and generates a data object. Although this process is not challenging for most engineers, but admits that it is boring and error-prone, consumes a lot of time to debug, then a tool similar to fastjson can be developed to help users realize binary data Conversion between and Java data objects.
Different from JSON semi-structured data, binary data is unstructured and requires the user to specify the data model (protocol). The realization of the data model (protocol) is the core of the entire project. After many attempts, the Java annotation was finally chosen. The annotation method can minimize code aggression, simplify API, which is more intelligent to use.
In addition to serialization and deserialization, data intelligence, data compression, data network and protocol versions are also common problems in the exchange of material data, FastProto uses the same annotations to solve these problems.
- Decoding Flow
- Encoding Flow