.NET Annotated Monthly | June 2020
This month in computing history: In 1977, Apple shipped the Apple II. In 1995 Spyglass went public! Ahhh, the good old days. If you’ve been around for far too many decades in this field (like me), raise your hand if you remember Spyglass Mosaic! It’s not a thing anymore but it Mosaic was a key player in the evolution of browsers on the world wide web.
- C# 9.0 release
- Windows Terminal 1.0
- Source Generators come to C#
- .NET Multi-platform App UI released
- Windows Forms Designer for .NET Core released
- .NET 5.0 Preview 3 released
- EF Core 5.0 Preview 4 released
- Azure Data is here!
- YARP (an extensible .NET reverse proxy) Preview 1
- Blazor WebAssembly 3.2.0 now available
.NET tutorials and tips
C# 9 Non-Destructive Mutation – Steve Fenton shows us how to use functional programming techniques in OO C# code to ensure proper changes in the state of objects.
Effectively stubbing remote HTTP service dependencies with HttpClient Interception – Joseph Woodward demonstrates some nice software engineering techniques that emerged from Google.
Developing Stack Overflow on MacOS – Dean Ward reviews the things needed for MacOS devving. While he specifically discussed some of his work at StackOverflow, the info is rather useful everywhere.
Enhance ASP.NET Projects With JetBrains Annotations
Find The Next Number In A Sequence With C#
Chain Actions, Funcs, and Predicates In .NET – A few excellent posts by our own Khalid Abuhakmeh on C# and ASP.NET. Khalid is a regular blogger of all things .NET, so check out his entire blog!
Using MongoDB with ASP.NET Core Web API – Munib Butt demonstrates how to do classic API development with a MongoDB back-end.
Writing Applications, Not Web Sites, in Microsoft Blazor – Oh yes, there’s a difference. Scott Kuhl lays it all out in his post.
ASP.NET Core WebSockets and Application Lifetime Shutdown Events – Rick Strahl writes about his experience working with WebSockets and events.
ASP.NET Core in .NET 5 – sending a request – Web devs, you have to deal with HTTP Requests every day. Let Michał Białecki help make it a bit easier.
Using settings.json and local.settings.json in your Xamarin apps! – Desktop devs, Redth shows us an easy way to incorporate settings into Xamarin apps.
Dynamic command dispatching in C# – A great post by Nicklas Millard on how to really implement the Open/Closed principle from SOLID.
How to Connect Azure Bot Service to Xamarin.Forms Chat Control – Check out this nice tutorial by Vimal Prabhu that enables connectivity between Xamarin.Forms and Azure.
Multiple Environments in ASP.NET Core – Code Maze makes the necessary evils nice. That is, configuring and working with development, staging, production, and other environments.
.NET async/await in a single picture – This is a nice excerpt by Konrad Kokosa on how async/await and threading works in .NET.
Blazor vs. React / Angular / Vue.js – Wondering which to use? Let Christian Findlay help you out.
Blazor CRUD with EF Core
– A detailed tutorial on how to use Blazor with EF when interacting with a database.
Remote debugging Windows containers with Rider – Joost Meijles demonstrates this valuable and necessary technique of debugging Windows containers with Rider.
Random, interesting, and cool stuff
Do you want to impress your online friends with all those Github contributions that you don’t make? Well here you go! Check out this super fun Github activity generator written in Python by Sasha Shpota.
Stack Overflow 2020 Developer Survey – SO did its thing again this year. Check out the results, get the scoop on what developers are up to nowadays. What do you think?
Check out this handy utility: StackOnlyJsonParser by Tomasz Rewak.
Tips and Tools for Improving your Remote Meetings and Presentations on a Budget – Aaron Parecki finds ways to improve everything from audio to video and all those technical things in between.
For those .NET folks who occasionally stray to the dark side: Java turned 25 in May. So go ahead and check out 25 Things We Love About Java.
Code less, engineer more – Liz Fong-Jones discusses why value is far more important than volume. Unfortunately, so many get it wrong. Well, Liz got it right. Read her post to learn more.
Business Continuity with Sonia Cuff – Richard Campbell interviews Sonia Cuff on business continuity.
Introducing Hack Club’s Summer of Making – This is fun, fun, fun! Elise Hollowed has the details in this post. Register to mentor the next generation of geeks!
Here’s a chance to catch up on JetBrains news that you might have missed:
Webinars and events:
- The Rider 2020.2 Roadmap has been published!
- Webinar – Advocates on Rider – Uncovering the IDE That Gets You Places
- JetBrains .NET Days Online 2020 – Session recordings available
- Write high-quality TypeScript code
- Nullable Reference Types: Contexts and Attributes – A Look at New Language Features in C# 8
- How ListSeparator Depends on Runtime and Operating System
- Create Real-time Applications with ASP.NET Core SignalR – Using Rider!
- How Sorting Order Depends on Runtime and Operating System
- A Story About .csproj, Large Solutions and Memory Usage
If you have any interesting or useful .NET or general programming news to share via .NET Annotated Monthly, leave a comment here, email me at email@example.com, or drop me a message via Twitter.
Subscribe to Blog updates
Thanks, we've got you!
Eager, Lazy and Explicit Loading with Entity Framework Core
Entity Framework Core (EF Core) supports a number of ways to load related data. There’s eager loading, lazy loading, and explicit loading. Each of these approaches have their own advantages and drawbacks. In this post, let’s have a quick look at each of these ways to load data for navigational prope…
OSS Power-Ups: bUnit – Webinar Recording
The recording of our webinar, OSS Power-Ups: bUnit, with Egil Hansen and Steven Giesel, is available. This was the twelfth episode of our OSS Power-Ups series, where we put a spotlight on open-source .NET projects. Subscribe to our community newsletter to receive notifications about future webi…
Accelerating Your Testing Workflow with Unit Test Creation and Navigation
Unit tests play an important role in our daily development workflow. They help us ensure our codebase's correctness when writing new functionality or performing refactorings to improve readability and maintainability. In the process, we often create new test files that accompany the p…
Introducing Predictive Debugging: A Game-Changing Look into the Future
With the introduction of debugging tools, software developers were empowered to interactively investigate the control flow of software programs to find bugs in live environments. At JetBrains, we've always strived to improve the art of debugging. Besides the more standard things you expect from a de…