Another year, another top libraries list. A year has gone by since we analyzed the top .NET libraries on GitHub, and it’s time to round up the numbers once again.
Top 10 C# Libraries of 2019
#1 – Newtonsoft
#2 – NzbDrone
#3 – Abp
#4 – dnSpy
#5 – JetBrains.ReSharper
#6 – Cake
#7 – DotNetNuke
#8 – osu.Game
#9 – NUnit
#10 – Xunit
Holding its spot for the second year in a row, the top C# library of 2019 is Newtonsoft, AKA Json.NET. But while the first spot remained the same, we can see significant movement upwards and downwards among the rest of the list.
In the second place is NzbDrone, a PVR for newsgroup users, that climbed its way up from #17 in 2018. At the third place we can find Abp, ASP.NET Boilerplate, Microsoft’s framework designed for web applications.
Number 4 on our chart is dnSpy, a .NET debugger and assembly editor that moved up from #9 in 2018, and in number 5 is JetBrains’ ReSharper, the Visual Studio extension for .NET. Following those, you’ll find Cake, a cross-platform build automation system with a C# DSL, and DotNetNuke, a web content management system that jumped from #14 in 2018 to #7 in 2019.
Closing out the top 10 list is Osu! an open-source rhythm game at number 8, followed by the unit testing library NUnit placed at number 9. At number 10 we can find Xunit, the open-source unit testing tool who dropped from the 4th place in our 2018 top libraries edition.
Ups and Downs
Now that we have both our 2018 and 2019 lists, we can take a closer look and track the changes that occurred over the past year and try to guess why some libraries rose in the ranking – and some didn’t.
⏫ Orleans, an actor framework at number 21 (previously #26).
⏫ QuantConnect, a C#, F# and Python algorithmic trading platform, jumped up to the 24th position (previously #41).
⏫ Avalonia, a cross platform XAML Framework, leaped to number 27 (previously #48).
⏫ FluentMigrator, a migration framework with a small rise to number 25 (previously #29).
⏫ and PoESkillTree, a passive skill tree and character planner for Path of Exile, at 31 (previously #42).
⏬ Umbraco, a content management system, went down to the 11th position (previously #7).
⏬ ICSharpCode, integrated development environment, dropped to number 23 (previously #16).
⏬ Log4net, a tool to help the programmer output log statements, at number 28 (previously #18).
⏬ Autofac, an Inversion of Control container for .NET Core, had a significant drop to the 41st position (previously #20).
⏬ Twilio, an SDK to interact with the Twilio API, is gone from the chart (previously #24).
Meet the Newcomers
This year we were glad to see the high number of new libraries added to the mix. Not entirely surprising, considering Microsoft’s constant work towards supporting the open source community and ecosystem and, of course, the recent purchase of GitHub itself.
Among the new libraries we could see some rising trends – the most outstanding field is cryptocurrency, with a lot of new (and old) libraries meant to help users manage, monitor and even obtain digital “coins”. Among other trends, we can see a rise in CMS libraries, as well as libraries which aim to help game developers, whether in creating mods or building new games from scratch.
Here are some of the libraries that stood out:
#13 – Senparc – Common base extension library supporting .NET Framework & .NET Core.
#14 – Stratis – Proprietary blockchain.
#16 – Squidex – a CMS with an API.
#22 – Nethereum – .NET integration library for Ethereum.
#61 – SS.cms – CMS for editors and developers.
#74 – ReactiveTrader – Sample reactive UIs.
#85 – UlteriusServer – Easy Remote Management.
At the bottom of our list, at #100, we found a tie between 4 different libraries. So we’ve decided to mention all of them:
#100 – ImageSharp – A cross-platform library for the processing of image files.
#100 – AutoMapper – A convention-based object-object mapper.
#100 – HelixToolkit – 3D for .NET.
#100 – SoundSwitch – Switch your default playback devices using simple hotkeys.
Collecting the Data
Our top GitHub libraries project could not have come to fruition without Guy Castel from OverOps R&D team, the master of Google BigQuery. Just like last year, he used GitHub’s API to pull the top 1,000 repositories and extracted the C# libraries those repos use.
After filtering out deprecated repos and removing duplicate uses of the same library in the same repo, we ended up with 20,407 unique libraries. Then, we filtered out System/Microsoft/Windows standard libraries, which left us with 19,037 libraries.
We took the top repositories, pulled their unique import statements and extracted the package name. After making sure it’s counted just once per project, we filtered it again, made sure that there are no deprecated or standard C# libraries that might have slipped through our query-cracks, and got our final list.
OverOps for .NET
The high rise of .NET and C# libraries on GitHub isn’t surprising, especially not to us at OverOps. As a matter of fact, we too have been working over the last few months on expanding our support for backend applications running on .NET Framework, and we’re happy to announce that the long wait is finally over!
OverOps for .NET is aimed for people who build, test and operate software, who are struggling to ensure rapid code changes don’t impact customer experience. The OverOps agent maps and learns your code, at runtime, giving you the relevant data needed to identify, prevent and resolve critical code issues quickly. See how it works.