panthernet / GraphX

GraphX for .NET
Apache License 2.0
316 stars 104 forks source link

Migrate from QuickGraphCore package to QuikGraph. #110

Closed KeRNeLith closed 4 years ago

KeRNeLith commented 4 years ago

Proposition to update QuickGraph version to QuikGraph package.

I worked on this library since about a year, to clean its code, test it, make it compliant with new C# development standards.

I managed to get rid of some legacy stuff of this quite old library and made it ReSharper compliant too.

panthernet commented 4 years ago

Thanks, looks interesting. Currently i lack free time but will take a look asap.

KeRNeLith commented 4 years ago

No problem, feel free to ask me in case you have questions, or anything else.

honza77 commented 4 years ago

I have previously picked QuickGraphCore quite randomly when migrating to netstandard. Its possible there are better ones.

KeRNeLith commented 4 years ago

Well I published the first version more recently than the unique release of QuickGraphCore, and the moment you did the change is more or less corresponding to my first release.

I put a lot of efforts in this rework to make it clean, unit tested, widely compatible, documented as much as possible, and getting rid of obsolete stuff.

I hope it can become the new reference in term of .NET graph library. Note also that I used it as basis for the rework of Graph# which I named GraphShape.

panthernet commented 4 years ago

Hm, not sure why you decided to reincarnate Graph# as it is so old and GraphX is basically grown up from its continuation. I'm quite lazy regarding updates for this lib in the past months but it's always good to get a helping hand. Especially with the edge routing that I haven't cracked good so far :)

KeRNeLith commented 4 years ago

In my company we were using the old package of GraphSharp. This one was causing us build issues recently. This is a reason why I continued after QuikGraph by updating Graph#, and now we are using it as replacement. While doing so I created some unit tests and fixed some issues on it. I kept a support of targets identical to QuikGraph for the "core" part and leave it to only NET Framework for the controls part. This allowed me to split the original package in two modules (in case you only need layout algorithms for example).

I'm haven't checked that much what differs on my version concerning layout algorithms part.

panthernet commented 4 years ago

Yeah, I see. The same reason for me back in the days. Had the QuickGraph.PCL version before the recent updates :)

KeRNeLith commented 4 years ago

Update library to strong name it.

honza77 commented 11 months ago

Hello guys, Alexander,

do you think you can upgrade also the GraphX nuget to the version that references QuikGraph? Would be appreciated.