Over 9 years of my commercial experience as a developer, programming has always been a measure for solving issues. Truth is, I’ve never been hyper-focused on technology itself. That’s probably also a reason why my professional experience includes leading a team, being a Product Owner, a Scrum Master and an Agile Advocate. Also, I pretty much always used Visual Studio with ReSharper, so I just prefer using Rider over VS (I know: how dare he?!).
And, well, since this is the first time I’m writing this kind of article, I can’t tell whether I should already jump straight to some tech facts. But let’s give it a try, shall we?
- Microsoft is NOT everyone’s favorite company in the world (I’m sure most of the readers here can name 10 issues with Windows, Office, or DirectX without blinking an eye)
- …but MS is also not the worst company in the world and they at least try to develop and become better over time (giving us free Office in the web or open-sourcing whole dotnet are certainly steps in the right direction in my book)
- .NET is now cross-platform and can easily run on Windows, Linux, Mac, Android, and a few other places
- .NET is very well integrated with Azure, but due to the fact that it’s cross-platform, it’s not restricted to Azure by any means
- .NET programs can easily be written using a text editor and terminal (where we use dotnet as a command)
- With Unity and CRYENGINE, .NET is quite popular in game development
- .NET 6 was released last month (November 2021) and is an LTS (long-term support) version of the framework
- .NET 6 comes with MAUI (.NET Multi-platform App UI), which is a great idea (to write single UI code for iOS, Android, macOS, and Windows), but it’s not yet tested in battle by the community
- You can use 3 languages with .NET:
- C#, our favorite MS Java-clone, an object-oriented, statically typed programming language (I personally love when the compiler is doing a part of my job)
- F#, a functional-oriented, statically typed language (my latest personal favorite), which is a great, general-use language and is also getting promoted in the Data Science space lately
- Visual Basic… but we don’t do that here
Historically, .NET was heavily tied to Windows and Visual Studio, but thankfully that’s mostly over. Open-sourcing .NET and C# was certainly the right move by Microsoft and I’m not really so interested in why they did it – it is here and I’m happy about it. Now, with excellent dotnet CLI tools, you can do a whole create – edit – test – deploy loop without ever touching an IDE, and do it on Mac if you wish! But rather than just focusing on creating, you can finally run .NET wherever you want.
WHAT ELSE DO WE KNOW ABOUT .NET 6?
I mentioned that .NET is no longer tied to Visual Studio, which is true. VS is however still an amazingly well-rounded IDE if you want to use it. It continues to be developed and is the most up-to-date IDE, following any new .NET features (e.g. hot reload works perfectly fine in Visual Studio 2022, but it’s not yet fully integrated within Rider). The newest version is finally fully 64bit, which might make it much snappier, but I haven’t really tested it myself yet.
The biggest .NET 6 features are hot reload and building cross-platform UI with the help of MAUI. Hot reload is one of those things that is a very nice quality of life feature, although it’s certainly not necessary. We’ve been writing code without it for years and it was fine, but seeing it in action… well it’s hard to disagree that it is pretty cool. MAUI on the other hand is not yet fully accepted by the community, but it is an evolution of Xamarin, which many Android developers actually adore. I’ve got high hopes for it, so I am crossing my fingers.
…AND THERE’S ALSO ASP .NET CORE
Let’s not forget about ASP .NET Core, which has been very much accepted and well-received over the last few years – it’s a performant, easy to understand way to write web applications. It was even voted the most loved Web Framework (tied with Svelte) by the stack overflow survey in 2021.
Now with .NET 6, we can also write minimalistic APIs with ASP .NET Core. It gets rid of classic Controllers, in favour of short methods, which is very easy to reason about and to understand at a first glance. Minimalistic APIs, records and advanced pattern matching are some of the latest additions to C# tooling, which we actually should thank F# for. It was built in the language a long time ago, tested in the wild, and brought into C# smoothly.
I hope you can see that there are a lot of things to like about .NET in 2021 and I hope we’ve left behind times of tight coupling to Windows for good, which makes me personally very happy.
Have a good day guys!
Marcin Kern, Senior Software Engineer in Rite NRG.
My experience spans writing and designing desktop applications, websites and cloud solutions. Entirety of my 9-year-long commercial experience consists of writing .NET exclusively, although through the past few years I’ve added a Frontend spin to the mix in the form of React. I’ve also spent a lot of time advocating Agile, as I believe it can be very useful if it’s understood and done right.
Outside of work I’m a dad of a happy 1 year old boy, husband, video-game lover (Amazon, bring me Lost Ark already, I can’t wait!), I like digital painting and enjoying a nice sauna. I also enjoy learning programming languages, when my curiosity gets the better of me.