.NET Tools
Essential productivity kit for .NET and game developers
.NET Annotated Monthly | January 2022
Did you know? Microsoft used the name C# in 1988. This language had nothing in common with the C# of today as it was a variant of the C language, and was discontinued. It wasn’t until 2002 that Microsoft released the language named C# that we know today, with the release of the .NET Framework 1.0.
.NET news
December is a slow news month on most years, but here are a few highlights to check out.
- Announcing the Plan for EF7
- .NET 6 Networking Improvements
- What’s new for gRPC in .NET 6
- .NET Conf 2021 Recap – Videos, Slides, Demos, and More
Tutorials and articles
Goodies from the month of December.
.NET tutorials
- Component Disposal in Blazor – Golda at CodeMurals demonstrates why and how to manage resources properly in Blazor apps.
- Some little tips to start studying .NET MAUI and Horizontal & VerticalStackLayout in .NET MAUI – Catch these blog posts and more by Leomaris Reyes on all things MAUI, from tips to layout to all sorts of good things.
- Improving the UX when loading data in Xamarin Forms – XamGirl – Developers often overlook the UX, leaving it to the designers. But we can make better products by paying more attention. Read Charlin Agramonte article to learn how.
- ASP.NET MVC: How to Create Multiple Radio Buttons with CRUD Operations – Asma Kahlid demonstrates this very common activity in MVC apps.
- Astrophotography with Windows, Tiny PCs, and WPF – This is a “far out” post by Pete Brown which integrates astrophotography and programming.
- Cleaner C# code with “smart” using statements and How type deconstruction keeps your C# code clean – Do you want clean code? Then check out Nick Chapsas’ posts discussing the lesser realized ways to keep your code clean.
- Custom JSON Serialisation with System.Text.Json Converters – Steve Gordon shares this insightful post on how to tailor JSON (de)serialization to your needs, with custom JsonConverters.
- What’s the Difference Anyway?! Class, Struct, Record, oh my! – The more recent versions of C# bring some new ways of working with data structures. It’s more than just classes, and the occasional Struct. Calvin A. Allen describes these differences..
- Concurrent Pipeline with .NET Channels – Do you need high performing thread-safe data synchronization in a multi-threaded program? In F#? Then make this post by Riccardo Terrell your go-to post.
- Building a Flexible Deployment System for Grammarly for Windows using F# and AWS Lambda – How does Grammarly build its complex systems? Vitalii Braslavskyi notes the details on their deployment with F# and AWS.
- Use Azure Cache For Redis In AspNetCore Application Using Distributed Cache Technique[.NET6] – When you need caching, you really need it. So head over to Naveen Bommidi’s post demonstrating how to cache ASP.NET Core apps for better performance (and lower costs).
- When to Use Static Classes in C# – For those who wonder when to use a static class, here you go. Post by Code Maze.
- Calling the Microsoft Graph API from WinUI – Alvin Ashcraft teaches how to call the Graph API from WinUI. For WinUI developers, Alvin has recently published a book on the subject. Also be on the lookout for yet another upcoming book from him on WinUI.
- HTMX and ASP.NET Core Swapping Techniques – Our own Khalid Abuhakmeh blogs about HTML and ASP.NET Core.
- Creating an incremental generator and Testing an incremental generator with snapshot testing and Integration testing and NuGet packaging – Catch this excellent 3 part series by Andrew Lock on creating an incremental generator, from start to end.
- C# – Deserializing JSON with quoted numbers – This is a helpful article by Mak about a common activity that gives some developers a lot of grief – particularly JSON with with quotes.
- .NET6 Web API CRUD Operation With Entity Framework Core – Bommidi Naveen goes into depth in this how-to that’s all about WebAPI and CRUD ops. A staple for any ASP.NET developer.
- Create A .NET 5 App To Perform CRUD Operations On Azure Cosmos DB (SQL API) Using EF Core – Another goodie on ASP.NET CRUD ops by Tanuj Gyan, specifically focusing on SQL and EF Core.
- Deep C# – Inheritance – This is closer to a book than blog post! Buckle up and get super deep into inheritance in this post by Mike James.
- Extended Property Patterns in C# – Pattern matching is a feature of the more recent versions of C#, and Bartosz Jarmuż demonstrates how to use these wisely.
- How to Create a BinaryTreeViewer using C#, CSS, & HTML (Code & Algorithm Walkthrough) – Gilad Bar Ilan shows how to build a classic algorithm in this post.
- What can you do in ML.NET with C#? – Many developers haven’t yet looked into ML. So Matt Eland answers this question for us.
- Use calendar, mailbox settings and Teams presence in ASP.NET Core hosted Blazor WASM with Microsoft Graph – This is great for remote teams. Learn how to integrate personal information management and communications apps into Blazor apps with Damien Bowden.
- Document your .NET code with DocFX and GitHub Actions – We all need to do documentation. Dave Murray shows you a great way to automate this.
Related programming tutorials
- React Developers’ Top 10 Topics of 2021 – For those using JavaScript frontends, Nora Georgieva reviews what was popular in the past year.
- Why Do You Need to Move From CRUD to Event Sourcing Architecture? – Do you need event sourcing? Should you convert your CRUD apps over? Savan Kharod answers these questions. Do you agree with the answers?
- How to Transition Your Team from Waterfall to Agile – Yes, indeed. There are still waterfall teams out there since legacy apps still exist. Erica Jamison demonstrates how to go Agile for those who need it.
- How To Get Started With Automated Browser Testing? – Himanshu Sheth gives some nice pointers on ABT, which is often left to Devops or a specialized team member.
- Accessibility for Mobile Developers – Accessibility is important so check out this post on accessibility for mobile devs by Mihir Patel.
- JavaScript String replaceAll – David Walsh jots down this super quick fix to a common JavaScript “gotcha”.
- Demystifying Closures in JavaScript – Closures are often difficult for C# and .NET devs to wrap their head around, but JS devs could benefit from knowint it. Post by Chinedu Imoh.
- Customize User Registration Experience with Auth0 Actions – Andrea Chiarelli teaches how to use Auth0 to create a smooth experience for users.
Tweet tips
Here’s some great advice from a JetBrains coworker to start the new year.
No matter how much preparation you make, it’s not going to be perfect on your first try.
— Ebenezer Don (@ebenezerDN) December 3, 2021
The idea is that you do it anyway. Because you can’t improve on something that doesn’t exist. pic.twitter.com/cg7hxh6cif
Some advice for those who are job seeking. Danny says it’s his opinion but this is standard, solid advice.
How to land a job in tech IN MY OPINION
— Danny Thompson (@DThompsonDev) November 27, 2021
– Good programming skills
– Strong Linkedin profile
– Your Portfolio site needs to look good.
– Your Portfolio items/GitHub projects should show off your technical abilities.
– Resume that talks about quantifiable achievements and wins
Interesting and cool stuff
- How Disrupting Your Daily Routine Can Actually Make You More Productive – Who would have thought that such a counterintuitive thing could help? Daniel Kenitz did and wrote about it so we can benefit. Check it out.
- Reclaim Tons of Disk Space by Compacting Your Docker Desktop WSL 2 VM – Get that same great feeling as when you delete a large block of code with these quick cleanup commands by Nick Janetakis.
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed:
- ReSharper and Rider 2021.2.3 have landed
- Cross-platform Development for Unreal Engine With Rider, Now Also on Linux
- How Rider Hot Reload Works Under the Hood
- Rider 2021.3: Support for .NET 6 SDK, Redesigned Main Toolbar and Debug Tab, and New Problems View Tab
- ReSharper 2021.3 Brings Visual Studio 2022 Support, More C# 10 Features, and Improved Support for Nullable Reference Types and C#!
Check out this fantastic offer! CODE Magazine is offering a free subscription to JetBrains customers!
Sharing is caring! So share your content with other readers. Don’t keep it to yourself! Send a Tweet or email with tips or content for publication in future newsletters! Share with a comment here or email dotnet-advocates@jetbrains.com.