Skip to content

Instantly share code, notes, and snippets.

@richlander
Last active July 20, 2021 16:53
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save richlander/6029904665f4d5dc8fc899147b886f38 to your computer and use it in GitHub Desktop.
Save richlander/6029904665f4d5dc8fc899147b886f38 to your computer and use it in GitHub Desktop.
.NET Core 3.0 -- Post Launch Blog Posts

.NET Core 3.0 -- Post Launch Blog Posts

We launched .NET Core 3.0! Go team! The super official blog post covered a lot of features, but none of them at depth. Many people will want to learn more about specific scenarios at features at much greater depth, with more guidance and better code samples.

The following is a list of proposed posts (with descriptive but prelimary titles) for us to write and publish during the rest of 2019.

Note: This tweet also has feedback.

Getting Started

  • How to setup a development evironment on Windows with Visual Studio
  • How to setup a development evivironment on macOS with Visual Studio for Mac
  • How to setup a development environment on Linux
  • How to use wsl2 and windows together for developer joy.
  • How to setup .NET Core on Red Hat

DevOps

  • How do create CI/CD flows with .NET with Azure DevOps and other Azure services
  • File -> New -> DevOps for Desktop Developers
  • How to optimize apps with dotnet publish (linker, ready to run and bundling)
  • More about deployment best practices, in particular using docker beyond hello world examples and not only targeting only azure cloud.
  • How to find the right Docker cgroup memory and cpu request and limits for your .NET Core 3.0 application in Kubernetes.

Fundamentals

  • Tell me all the things on nullable
  • nullable is a good topic, but a "Why should and, and how should I" for it would be better.
  • Tell me about patterns again, from scratch, including C# 8
  • Tell me all the other things in C# 8
  • Troubleshooting on non-Windows platforms.
  • how to use dotnet-trace and dotnet-counter
  • How to do Localization right with .NET Core 3.0
  • Best options for documentation with .NET Core
  • An Identity walkthrough probably a series of blog posts) with everything you need to know. This topic is so incredibly complex. Including, perhaps: go away now and read the specs x and y and then return back here"
  • I wouldn't mind a detailed run through on implementing identity, customising it, oAuth and openid? If these are possible to do without identity server? Too many vanilla posts on this that cover similar ground.
  • A Windows Service (or systemd) host that is also a web host. Either for hosting a website/WebAPI in a service or have it as a status or configuration endpoint.
  • I'd love to see more on security best practices, the certificate classes, encryption enhancements, etc...
  • Integration testing would be good - especially as there are some gotchas around exporting configuration for referencing in your tests (thank you JsonConfiguration/StreamReader for disposing of my file stream)
  • I would love to see the long promised tutorial: "Writing allocation free code in C#".
  • How about "How to wrap my .net core application in blankets of SRE love."
  • migration stories from 2.1/2.2 to 3.0 including breaking changes
  • given this is a current release, how to prep for 3.1 LTS
  • How to rewrite existing AppDomain code to Core.
  • A blog post for writing plugins with hot reloading (update plugins without stop application or server) by .NET Core 3 new unloading feature.
  • AssemblyLoadContext and the new features in .NET Core 3.0
  • Write about @safe_stack, giraffe/Saturn. It's awesome on core 3.
  • Writing parallel code in 2019.
  • Was looking for something on async streams yesterday. Specifically in comparison to Parallel.ForEach and using MaxDegreeOfParallelism.
  • The new GC knobs in .NET Core 3.0: how and when to use them. (And other new knobs to tweak performance)
  • Changes of note in the 3.0 release of the .NET Extensions libraries.
  • Show a how-to to nuget library developers, showing to them how to target the different net versions, well the best approach. This might help community to update everything and we can embrace net core faster :)
  • Application security is a must on that list !
  • Patterns for sharing configuration among different projects with independent deployments in .NET Core 3 (and Azure DevOps)
  • Local functions in C# 8. They seem to allow parameters to have the same name as a variable in the parents scope. This is not documented anywhere it seems.
  • Best patterns and use cases for Reflection in 2019.
  • Why .NET 3? Show cases where there was a big win.

IoT

  • How to setup a development environment to target the Raspberry Pi
  • How to build cool IoT devices with C# (like the cool LED matrix from the keynote)

APIs

  • How to use the new System.Text.Json APIs, for fun (easy to use) and profit (fast)
  • Spans for dummies
  • Dive into the HTTP/2 support in HttpClient
  • I see HTTP/2 on HTTP Client is supported. It would be cool to see more scenarios using this new feature and potentially pipelining requests for performance improvements.
  • A guide to using System.Threading.Channels
  • EF relations(eg: mapping, cascade delete etc)

Server-side

  • How about the authentication/authorization options. Browser to server but also service to service. IIS to IIS services options, Unix to IIS services and vice versa, Unix to Unix services.
  • Anything gRPC. Followed up by gRPC in docker and docker-compose.
  • gRPC -- It mentioned that the native and managed versions of grpc have different advantages. What are they, and how can you convert from native to managed?
  • Make your web app a PWA. (Could be multiple posts, basics to more advanced examples)
  • .NET Core is often used for microservices but not only HTTP based ones but also message based ones. Therefore the following two ideas for blog posts: Microservice-chassis (health, config updates, ...); How to properly use a worker service as a message queue worker (I mean there are millions of REST documentations but little on how to proceed a message). more info
  • A detailed blog on Project Bedrock and future thinking would be a good one.
  • In addition, a blog on future thinking regarding Endpoint routing.
  • Swapping a non trivial wcf or. Net remoting implementation for gRPC.
  • Comparing a gRPC backend API to a standard restful JSON api. Pros/cons when yo use what where
  • I just had alot of trouble using azure activedirectory. I wanted to retrieve a profile picture for the logged in user. It would teach httpclient, authentication, graph api. I used memory cache to cache profiles. Not pure .net 3.0 but useful in asp.net core in general -- note from rich: not the first time I've heard this/related stuff
  • How to use Microsoft SqlClient Data Provider for SQL Server with .Net Core?
  • Authentication with .NET Core 3.0 and React Redux single-page applications
  • How to do distributed tracing in ASP.NET Core on Azure

Windows

  • How to create WPF apps with .NET Core
  • How to create Windows Forms apps with .NET Core
  • Migrate classic wpf/winforms project to .net core using try-convert.exe as shown at .NET Conf
  • Specifically I'd like more info on migration of established desktop (e.g. WinForms) apps
  • What is the best way to deploy .NET Core Windows apps? Is ClickOnce supported or part of the experience?
  • More samples and detailed updates on .NET Core 3.0 Winforms and WPF, especially the Winforms Designer support preview, including when we are going to use both WPF and Winforms in one csproj/vbproj .NET Core 3.0's Windows Desktop SDK .
  • How to package and deploy WPF app with MSIX
  • I have a current UWP app, where does .net core 3.0 fit into the picture , I only see Winforms anf WPF mentioned in .Net Core 3.0 articles ?
  • writing WPF application with .NET Core 3.0 and also creating an installer (not clickonce) for it using CI/CD Azure DevOps pipeline; Had last time trouble to get Microsoft Visual Studio Installer Projects working on our build agents. I know there is also WIX, but I found it as not that easy to use as a newbie on installers.
  • How do you use a (winforms) windows host control in wpf in .net core?
  • Maybe a post on how to call win10 api from .net core apps? Just because core can be cross platform doesn't mean it has to be, right?
  • Choosing to deploy as x86 or x64?

Other stuff

  • More on C# to Web Assembly. What can I actually get done? Can I get a great touch-first interface like UWP

What else? Tell me which of these posts you want most in the comments? Which other ones do you want to read?

@JwanKhalaf
Copy link

I second localization. What is the "right" way if there is such a thing.

@khalidabuhakmeh
Copy link

I see HTTP/2 on HTTP Client is supported. It would be cool to see more scenarios using this new feature and potentially pipelining requests for performance improvements.

@klabranche
Copy link

klabranche commented Sep 25, 2019

How to use wsl2 and windows together for developer joy.

How to use wsl2 and nvm to maintain your node versions on your windows machine. (Is this even possible?)

Make your web app a PWA. (Could be multiple posts, basics to more advanced examples)

@richlander
Copy link
Author

Ah, yes, WSL2. A post on that would be good. We have been working with the VS Code Remote team to fix some things. Gotta finish that!

@CyberSinh
Copy link

Blogpost on why .net sucks because it can't efficiently AOT compile its code into a small native executable, and why GO is a better alternative

Please no pollute this thread with trolls.

@sport-monkey
Copy link

nullable is a good topic, but a "Why should and, and how should I" for it would be better.

Integration testing would be good - especially as there are some gotchas around exporting configuration for referencing in your tests (thank you JsonConfiguration/StreamReader for disposing of my file stream)

@Pinox
Copy link

Pinox commented Sep 25, 2019

I have a current UWP app, where does .net core 3.0 fit into the picture , I only see Winforms anf WPF mentioned in .Net Core 3.0 articles ?

@guillemsola
Copy link

guillemsola commented Sep 25, 2019

More about deployment best practices, in particular using docker beyond hello world examples and not only targeting only azure cloud.

I understand your interests are mostly about core 3 topics but those can come together with some prod proof scenarios. I see this as a way to help people successfully move on with net core.

@tthiery
Copy link

tthiery commented Sep 25, 2019

.NET Core is often used for microservices but not only HTTP based ones but also message based ones. Therefore the following two ideas for blog posts:

  • Microservice-chassis (health, config updates, ...)
  • How to properly use a worker service as a message queue worker (I mean there are millions of REST documentations but little on how to proceed a message).

@richlander
Copy link
Author

@tthiery -- can you define non-HTTP message-based services? What proposal would that be?

@richlander
Copy link
Author

@guillemsola -- do you have a specific orchestrator in mind or just how to use various cloud services with docker?

@diverdan92
Copy link

File -> New -> DevOps for Desktop Developers

@ridomin
Copy link

ridomin commented Sep 26, 2019

Arm64 for IoT

@dasMulli
Copy link

Migrate classic wpf/winforms project to .net core using try-convert.exe as shown at .NET Conf

@LindaLawton
Copy link

  • Authorization & authentication
  • Signal R
  • Win forms
  • Everything Blazor

@shaggygi
Copy link

A detailed blog on Project Bedrock and future thinking would be a good one.
In addition, a blog on future thinking regarding Endpoint routing.

@616b2f
Copy link

616b2f commented Sep 26, 2019

My wish:

  • writing WPF application with .NET Core 3.0 and also creating an installer (not clickonce) for it using CI/CD Azure DevOps pipeline

Had last time trouble to get Microsoft Visual Studio Installer Projects working on our build agents. I know there is also WIX, but I found it as not that easy to use as a newbie on installers.

@guillemsola
Copy link

guillemsola commented Sep 26, 2019

@guillemsola -- do you have a specific orchestrator in mind or just how to use various cloud services with docker?

Not really @richlander, but it would be interesting to hear from experts if different orchestrators may imply different strategies

@tthiery
Copy link

tthiery commented Sep 26, 2019

@richlander in response to the query from before

We have a set microservices which are processing messages received from RabbitMQ. When they are done they either send out other messages or have modified a state, or whatever. They may acknowledge the successful message processing to the queue or may internalize the message to an internal worker queue. All depends on the use case.

We have seen these demonstrated over and over again for HTTP requests in numerous Microsoft and non-Microsoft blogs and docs but there is very little in the sphere of asynchronous message processing. In past we had tons of MS provided tech on it like MSMQ (w/ or w/o WCF) or activation services. In the modern world we have AWS SNS, NATS, RabbitMQ, ActiveMQ etc.

As a blog post I would love to see some message processing from RabbitMQ or similar. As a request to the product manager, I would love to see a dispatching framework similar what ASP.NET Core is. In the end you receive messages and dispatch them to a function. ASP.NET Core would be lovely to be used for that, however their whole middleware stack has an obsession with HTTP ;).

@ciaagent
Copy link

How to build cool IoT devices with C# (like the cool LED matrix from the keynote)
and
How to create Windows Forms apps with .NET Core

@Arclight3
Copy link

I would love to see the long promised tutorial: "Writing allocation free code in C#".
It's a great topic that would greatly improve the way we write code and how we treat performance.
I had a failed attempt at trying to learn more about free allocation code in C#, but the available documentation is not very accessible for someone like me who is new to the subject.

@stevehebert
Copy link

stevehebert commented Oct 2, 2019

How about "How to wrap my .net core application in blankets of SRE love." focusing on how to get turnkey metrics of the runtime shipping through a metrics pipeline. The JVM has a first-class story around this. The dotNet approach has always been well hidden and could use some socializing if it exists.

@JesperTreetop
Copy link

The allocation-free code tutorial, along with a companion post about how Kestrel/ASP.NET Core went down to zero-allocations steady-state. There must have been a lot of landmines and reconsidering in that process that would be very informative for a real project.

@Gavin-Williams
Copy link

Gavin-Williams commented Oct 12, 2019

  • How to use CoreWindow (from UWP/WinRT) in .Net Core.
  • How to use WinUI and UI.Composition in .Net Core.
  • How to use WindowsSDK (from UWP/WinRT) in .Net Core.
  • Similarities and differences between .Net Core and UWP. What do we get, what are we giving up?
  • How to use Windows Runtime Components in .Net Core. (ie, .winmd support, calling custom C++/CX or C# WinRT Components)
  • How to use Win2d & DirectX in .Net Core. What are our options, and example code.

@richlander
Copy link
Author

Great questions @Gavin-Williams ... We are working on those things right now. If you've got some specific scenarios you are after, DM me @runfaster2000 on twitter. That may help us prioritize.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment