One of the goals of the .NET Foundation is to foster the growth of our member projects and see their impact on the community of everyday developers. So it's incredible to see the latest JetBrains .NET Day 2023 line-up features a healthy amount of .NET Foundation projects: Entity Framework Core, Avalonia UI, xUnit, BenchmarkDotNet, and, of course, .NET itself.
This post will tell you a little about these projects and their purpose. We also encourage you to see the speakers talk about these .NET Foundation projects if you'd like to gain new perspectives. Let's get started.
What is Entity Framework Core?
As a developer, you may have already heard of or worked with the Entity Framework, a popular object-relational mapper (ORM) for .NET applications. Entity Framework Core is a lightweight, extensible, open-source library to access databases such as Microsoft SQL Server, PostgreSQL, SQLite, and more. Among its primary functions, EF Core allows you to write queries directly in C# (or any other .NET language), which are then translated into SQL queries by EF Core, as well as tracking changes made to the entity objects, making it easier to manage changes to the database. Other exciting features include database migrations and the ability to execute raw SQL statements.
What is Avalonia UI?
Avalonia is a cross-platform XAML-based UI framework providing a flexible styling system and support for all major operating systems: Windows, Linux, macOS, Android, and iOS. Build your applications using an open-source UI framework to deliver stunning desktop, mobile, web, and embedded applications using a .NET single codebase. With an impressive showcase of existing customers, including organizations like Unity Games, JetBrains, GitHub, and Cannon, it's easy to see how Avalonia has a bright future.
What is xUnit?
xUnit is another essential library in the .NET ecosystem, widely used for writing unit tests. It is a free, open-source, community-focused unit testing tool for the .NET framework. Designed by the original inventor of NUnit, xUnit offers a more modern and extensible approach to unit testing. One of the main functionalities of xUnit is its ability to create isolated, independent tests. Unlike other testing frameworks, xUnit creates a new instance of the test class for every test run, ensuring that the state is not shared between tests and minimizing the risk of side effects. This approach encourages developers to write cleaner, more maintainable, and more robust tests. In addition to these features, xUnit supports parameterized tests, shared test contexts, and various output formats, making it a flexible and powerful tool for any .NET developer.
What is BenchmarkDotNet?
BenchmarkDotNet is a robust library every .NET developer should have in their toolkit. It is a performance-testing library that makes it easy to benchmark your code. It provides a simple and efficient way to measure the performance of your code and compare it with other implementations. By annotating a method with the Benchmark attribute, BenchmarkDotNet will run that method multiple times and measure how long it takes to execute. This helps you identify and optimize bottlenecks in your code for better performance.
One of the standout features of BenchmarkDotNet is its ability to handle a lot of the complexity of performance testing for you. For example, it automatically warms up the code, runs multiple iterations of the benchmark, and calculates statistics on the results. It also provides a detailed report with the benchmark results, which includes statistics like mean, median, and standard deviation, making it easier to interpret the results and make informed decisions. If you've got a need for benchmarking, BenchmarkDotNet is it.
If you've heard about these .NET Foundation projects but have yet to look at them, we encourage you to see the speakers at JetBrains .NET Day 2023 talk about them. Many of these projects have been cornerstones of the .NET development workflow, and we hope to see them continue their success. Please show up and give these speakers and projects your support on September 26th. If you can't make the event, all talks will be recorded and available on YouTube at your convenience.
As always, thank you for being an integral part of what makes the .NET community special and unique.