Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merging from protobuf-net: need help #21

Open
AqlaSolutions opened this issue Jan 1, 2021 · 0 comments
Open

Merging from protobuf-net: need help #21

AqlaSolutions opened this issue Jan 1, 2021 · 0 comments

Comments

@AqlaSolutions
Copy link
Owner

AqlaSolutions commented Jan 1, 2021

I'm trying to merge the current state of protobuf-net main branch but it's a lot of work. If you'd like to use the newest features of protobuf-net like proto3 support on AqlaSerializer please either contribute to the merging process by issuing a pull request or by a BTC donation so I can put more time myself into doing the merge. You can also help by spreading the word about this project so it can have more attention.

  • Note that the current version of AqlaSerializer is still viable to use. It doesn't contain the newest features and improvements from protobuf-net but remember that AqlaSerializer have a lot of its own stuff like well-done reference tracking which is unavailable in protobuf-net.
  • I've already managed to merge to master this protobuf-net/protobuf-net@e74cb24 , it kind of works (tests green in Debug) but might need some small changes for Release build. This version is not available yet on nuget.
  • Then started merging protobuf-net/protobuf-net@0bd2541 into a separate branch. Many small changes were merged automatically with Plastic SCM language-aware merging. In order to complete the merge we have to look this diff and apply the changes manually if they are not there. I've already done this for ProtoReader/Writer, BclHelpers and Helpers.
  • Instead of completing that merge I decided to skip directly to merging the current protobuf-net version into a child branch. So to complete the merge we need to look this diff except for ProtoReader/Writer, BclHelpers and Helpers it's this diff. Same as before, moved, renamed and deleted files were mostly handled automatically.
  • Moved, renamed and deleted files were handled automatically. Mostly we need to look only for changed and added cs files.
  • We don't need to merge changed tests like migration from NUnit to XUnit but the new added protobuf-net tests should be kept.
  • During the merge keep the PORTABLE conditional stuff, perhaps we need to update the Portable .NET profile to a newer one like .NETPortable4.5-Profile111 Windows 8.0, WindowsPhoneApp 8.1, but the Portable target is good to keep. I'd like to keep the support for Android and iOS but using Portable instead of separate build configurations.
  • Also keep the IKVM if possible.
  • The merged version should support all the current runtimes of protobuf-net (so no legacy platforms anymore) plus Portable. Except that NetStandard <2.1 is not planned to support because only .NET Framework needs the old NetStandard nowadays and there is a separate target for .NET Framework already.
  • Note that switching between Debug and Release configurations might require restarting Visual Studio due to different TargetFrameworks list specified.

Currently I'm not much into .NET development and doing the merge just because I want to keep AqlaSerializer for the community even when I'm not actively using the serializer anymore. Nowadays performance is often neglected by using text-based serialization like json, xml and pure reflection. I want to improve this situation with AqlaSerializer. I I don't know about a better alternative that is fast (I mean really fast), binary, supports objects graphs and works on AOT platforms (not mentioning other improvements) so I want to keep it up to date with the newest technologies like .NET 5, C#9 and proto3. But the lack of interest and support from the community takes away my motivation.

If you like my vision of .NET serialization please assist.

@AqlaSolutions AqlaSolutions pinned this issue Jan 1, 2021
@AqlaSolutions AqlaSolutions changed the title Marging from protobuf-net: need help Merging from protobuf-net: need help Jan 1, 2021
@AqlaSolutions AqlaSolutions added this to the VNext milestone Jan 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant