.NET Tools
Essential productivity kit for .NET and game developers
.NET Annotated Monthly | March 2021
Did you know? Windows used to be called Interface Manager. Interface Manager was supposed to be the name of the product, but was changed to Windows to solidify Microsoft’s branding. In 1983 at Comdex, Windows was announced to the world. Naming is hard!
.NET news
There’s not a lot of .NET news happening at the moment. But there have been a few previews released in the previous month, and an update from the .NET Foundation.
- Announcing .NET 6 Preview 1
- Announcing Entity Framework Core 6.0 Preview 1
- .NET Foundation January/February 2021 Update
Featured Content
Stop Nitpicking in Code Reviews – People write software for other people, and the code review is that place where you deal with other people. Dan Lew writes about his experience with code reviews. The verdict: getting rid of nitpicking makes codebases better.
Who doesn’t love a free book?! Microsoft has published Dapr for .NET Developers by Rob Vettor, Sander Molenkamp, and Edwin van Wijk. Microservices is the hot tech right now and this book covers how to use Dapr (Distributed Application Runtime) to build microservices in .NET.
Did you ever wonder what it takes to build an IDE? It’s pretty complex, since you’re developing something that other developers use to develop their software. So catch this episode of Adventures in .NET where Maarten Balliauw discusses how to you develop an IDE using JetBrains Rider as an example.
Tutorials and articles
.NET tutorials
- Internals of the POH – Maoni Stephens reviews the internals of the Pinned Object Heap. As usual, Maoni dives deep into .NET to surface what’s under the hood.
- Blazor Basics – Are you getting started with Blazor? Then check out Ilyana Smith’s post on the basics of Blazor.
- Blazor Server vs. Blazor WebAssembly: Just the Facts – The difference beween Blazor server and Blazor WASM are important things to know. Jason Beres explains the differences between them in this post.
- Use project Tye to host Blazor WASM and ASP.NET Web API on a single origin to avoid COR – Niels Swimberghe demonstrates how to avoid CORs issues by using project Tye (a tool for building microservices) to host Blazor WASM projects.
- In-Memory Cache in ASP.NET Core – Golda at CodeMurals quickly covers the benefits and basics of caching in ASP.NET Core.
- C# 9.0: Pattern Matching in Switch Expressions – Learn to take advantage of new C# features in this post about pattern matching in switch statements by Thomas Claudius Huber.
- How to Implement Dependency Injection in ASP.NET Core – DI is a core skill for any developer. Read David Grace’s excellent post to learn or refresh your DI skills.
- ASP.NET Core Dependency Injection: What is the IServiceProvider and how is it built? – Steve Gordon goes into detail about the IServiceProvider and how it is built, and how it works in Dependency Injection.
- Using source generators with a custom attribute to generate a menu component in a Blazor app – Source generators are a new feature and folks everywhere are looking to use it. In this post, Andrew Lock demonstrates generating navigation components using source generators and custom attributes. This is an excellent use case for many projects.
- Beautiful Tabs with Xamarin Community Toolkit TabView – Xamarin developer often need tabs to organize information in a UI properly. But is it beautiful? Often, no. So if you would like to add some beauty to your Xamarin apps, check out this post by Gerald Versluis.
- Pop-up validation in Xamarin with MvvmCross – Validation is a necessary component of nearly any app. Let Denys Fiediaiev show you how to do it in Xamarin with MvvmCross.
- Use Azure Functions with .NET 5 – Catch up on the latest in Azure Functions technology; using them with .NET 5. Post by Dave Brock.
- POST, PUT, and DELETE Requests Using HttpClient in ASP.NET Core – Marinko Spasojevic created a nice example of using the classic HTTP Verbs: PUT, POST, and DELETE in your apps.
- Install Tailwind CSS With ASP.NET Core – Tailwind CSS is a framework that is popular with ASP.NET developers. Khalid Abuhakmeh shows us how to use it in our ASP.NET apps.
- Blazor Desktop: The Electron for .NET? – Blazor is full of promise, and Matthew MacDonald penned this succinct analysis of Blazor Desktop, comparing it to Electron (a JavaScript wrapper for desktop apps) for .NET.
- Microsoft’s Distributed Application Runtime (Dapr) Debuts for Microservices – If you don’t have time to read the book, David Ramel reviews Dapr in Visual Studio magazine.
- F# Language Features – Part 1 (Tic Tac Toe Example) – Yacoub Massad demonstrates F# through a popular game, Tic Tac Toe. This is an excellent way to get a feel for F#.
- Five levels of performance tuning for an EF Core query – Using EF in your projects means you need to do some performance tuning. Let Jon P Smith show you five different tuning levels.
- Creating an Excel-like Formula Bar in .NET WinForms – People in every nearly company use Excel, so adding its features into your software makes it easier to adapt to, and more familiar. Ruchir Agarwal demonstrates how to create an Excel-style formular bar in Winforms.
- Using Apache Kafka with .NET – Diogo Souza writes about using Apache Kafka with .NET. Because not all .NET applications run on traditional .NET platforms.
- DevOps for ASP.NET Developers: Hosting NuGet Packages – Some .NET developers will need to host their own NuGet packages. When they do, Cecil L. Phillip is there leading the way in DevOps for ASP.NET devs.
- Adding ASP.NET Core Authorization for an Azure Blob Storage and Azure AD users using role assignments – This is a nice post by Damien Bod detailing authorization across multiple technologies: ASP.NET Core, Azure Blob Storage, and Azure AD.
- Game Baking – If you’re a game developer, check out this series: Game Baking with Andrew David. Andrew makes a new game every month! This is a great way to learn game programming.
Related programming tutorials
- How To Successfully Manage A Hybrid Model Team – A hybrid team is one that chooses to have people in both onsite or remote locations. Kat Boogaard discusses what it takes to manage a hybrid team.
- Meeting our team members where they are, a key lesson for Scrum Masters – Thisis an excellent post by Helen Garcia on the necessary people skills for Scrum Masters.
- Bad Testing is Worse than No Testing – You got that right, Emma Lilliestam. Bad testing can make things worse than if there were no tests at all.
- Send an SMS with Svelte and Twilio Functions – In this post, Ashley Boucher demonstrates the Svelte way of sending an SMS using Twilio.
- Create Responsive Image Effects With CSS Gradients And aspect-ratio – Stephanie Eckles shows how to create responsive image effects with CSS.
- Using Sibling Selectors to Style the Element Before the Match – CSS is notoriously difficult but Steve Fenton shows us some easy ways to select elements.
- Event Sourcing Example & Explained in plain English – Have you ever wondered what event sourcing is, but didn’t have the time to investigate? Now you can. In this post Derek Comartin explains everything you need to know about event sourcing.
- Projections in Event Sourcing: Build ANY model you want! – Again, Derek Comartin writes about event sourcing, which follows up on the previous entry.
- SQL SERVER – Get Column Names – This is a quick and handy how-to by Pinal Dave.
- Troubleshooting App Services In Azure – App services are great, until they’re not. When you have to troubleshoot them, take Gregor Suttie’s advice from this post.
Interesting and cool stuff
Read this thread and consider that asking a single question for every decision your team makes could make a huge impact to the quality of your software. It has for both the British rowing team at the Olympics and it has for Shreyas Doshi and his projects.
At the 2000 Sydney Olympics, the British rowing team unexpectedly won the Men’s Eight Rowing gold medal.
One simple question was instrumental in their success.
“Will it make the boat go faster?”
This question could also be vital for your early-stage team & company.
1/15👇🏾 pic.twitter.com/9Dw60Yn4mT
— Shreyas Doshi (@shreyas) February 27, 2021
Andrew Karpov demonstrates some really cool features to be released in ReSharper and Rider soon. Can’t wait!
Let me show you something I've been working on for the last few weeks. Coming soon to @resharper and @JetBrainsRider! pic.twitter.com/Qh8fPKjxdZ
— Andrew Karpov (@akarpov89) February 24, 2021
Here is an interesting question. What has been most valuable for you for self-learning? Even if you’re not self-taught, you still need to learn a great many things in the business of software and computing. How do you do it? Let us know.
Self-taught developers: What has been the most valuable habit or action for self-learning?
— Chris⚡Codes🤘 (@ChrisArter) March 1, 2021
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed:
:wrench: .NET Tools Guide | Learning resources for ReSharper, Rider, and more. :wrench:
Releases:
Blog posts:
- JetBrains .NET Day Online 2021 – Call for Speakers
- Entity Framework Core 5 – Pitfalls To Avoid and Ideas to Try
- Case Study: How Wasabi Wallet is Built Using .NET, Avalonia and JetBrains Rider
- XAML Preview Tool Improvements in Rider 2021.1 EAP
- Make Code More Readable by Refactoring It With ReSharper
Webinars:
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, email me at rachel.appel@jetbrains.com, or drop me a message via Twitter.