Info
Version: | 2.0.1.1170 |
Author(s): | Vladyslav Taranov |
Last Update: | Saturday, July 9, 2022 |
.NET Fiddle: | Create the first Fiddle |
Project Url: | https://github.com/AqlaSolutions/AqlaSerializer |
NuGet Url: | https://www.nuget.org/packages/aqlaserializer |
Install
Install-Package aqlaserializer
dotnet add package aqlaserializer
paket add aqlaserializer
aqlaserializer Download (Unzip the "nupkg" after downloading)
Dependencies
.NETCore 4.5
No dependencies.
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
- Lokad.ILPack(>= 0.1.6)
- System.Private.ServiceModel(>= 4.8.0)
- System.Reflection.Emit(>= 4.7.0)
- System.Reflection.Emit.ILGeneration(>= 4.7.0)
- System.Reflection.Primitives(>= 4.3.0)
- System.Runtime.Loader(>= 4.3.0)
- System.ServiceModel.Duplex(>= 4.8.0)
- System.ServiceModel.Http(>= 4.8.0)
- System.ServiceModel.NetTcp(>= 4.8.0)
- System.ServiceModel.Primitives(>= 4.8.0)
- System.ServiceModel.Security(>= 4.8.0)
- System.ServiceModel.Syndication(>= 5.0.0)
No dependencies.
- aqla.runsharp(>= 1.0.22)
- aqla.runsharp(>= 1.0.22)
Tags
What the difference? Data serializers don't care much about language runtime specifics like references, inheritance, etc. In contrast, an object serializer should take such things into account.
AqlaSerializer primary goal is to support important .NET features like nested collections, multi-dimensional arrays, references, etc. And it still supports Google Protocol Buffers format.
Like protobuf-net AqlaSerializer makes possible to store objects as a small in size binary data (far smaller than xml). And it's more CPU effective than BinaryFormatter and other core .NET serializers (which could be unavailable on your target platform).
Its format is designed to be: small in size - efficient data storage (far smaller than xml) cheap to process - both at the client and server platform independent - portable between different programming architectures extensible - to add new data to old messages.
The implementation is compatible with most of the .NET family, including .NET 3.5/4.0/4.5, .NET Standard 2.1 (.NET Core 3/3.1, .NET 5, .NET 6), Windows Phone 8, Silverlight 5, Android, iOS, UAP. The code is heavily based on Marc Gravell's protobuf-net but there are a lot of improvements and fixes.
The original protobuf-net project contains many "red" unit tests but I managed to fix a lot of them.
Some build configurations may be not available through nuget, you can download their binaries manually from github (use Project Site link).