Skip to content

Roundup #21: Roslyn, .NET Updates, IMiddleware, Warp, DDD

Sponsor: Do you build complex software systems? See how NServiceBus makes it easier to design, build, and manage software systems that use message queues to achieve loose coupling. Get started for free.

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Here are the things that caught my eye this week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter. Note: I was away last week, hence no roundup.  This week is a bit of catch up.

How Microsoft rewrote its C# compiler in C# and made it open source

Roslyn is the codename-that-stuck for the open-source compiler for C# and Visual Basic.NET. Here’s how it started in the deepest darkness of last decade’s corporate Microsoft, and became an open source, cross-platform, public language engine for all things C# (and VB, which I’ll take as a given for the rest of this piece).
Really interesting read about the history and how it all came together.  I love reading these historical accounts. Link: https://medium.com/microsoft-open-source-stories/how-microsoft-rewrote-its-c-compiler-in-c-and-made-it-open-source-4ebed5646f98  

Update on .NET Core 3.0 and .NET Framework 4.8

In May, we announced .NET Core 3.0, the next major version of .NET Core that adds support for building desktop applications using WinForms, WPF, and Entity Framework 6. We also announced some exciting updates to .NET Framework which enable you to use the new modern controls from UWP in existing WinForms and WPF applications.
I think this is in a way trying to frame that .NET Framework isn’t dead, although I still feel differently.  Innovation is happening in .NET Core.  It’s ultimately the future even if .NET Framework will always be supported. Link: https://blogs.msdn.microsoft.com/dotnet/2018/10/04/update-on-net-core-3-0-and-net-framework-4-8/  

Why you aren’t using IMiddleware?

The IMiddleware interface is an extensibility point for middleware activation. It defines middleware for application’s request pipeline like the Conventional Middleware where InvokeAsync() handles the requests and returns a Task that represents the execution of the middleware.
Why have I never seen/heard IMiddleware before?  Have you? Link: http://www.hishambinateya.com/why-you-arenot-using-imiddleware

Warp

Warp lets you create self-contained single binary applications making it simpler and more ergonomic to deliver your application to your customers. A self-contained binary is specially convenient when the technology you use, such as .NET Core, Java and others, contain many dependencies that must be shipped alongside your application. Warp is written in Rust and is supported on Linux, Windows and macOS.
Pretty cool project for creating a single binary.  Very different then CoreRT however. Link: https://github.com/dgiagio/warp  

Eric Evans – Keynote: DDD Isn’t Done: A Skeptical, Optimistic, Pragmatic Look

DDD Isn’t Done. A Skeptical, Optimistic​, Pragmatic Look. We have more experience now. We have better tools now. We have an architectural environment better suited to DDD than the typical 2003 architecture. Certainly, some people are getting a lot out of DDD — but not so very many. DDD has always been difficult, and it still is. And we might be held back by some dogmatic notions of what it should look like.
Link: https://www.youtube.com/watch?v=R2IAgnpkBck  

Learn more about Software Architecture & Design.
Join thousands of developers getting weekly updates to increase your understanding of software architecture and design concepts.


Leave a Reply

Your email address will not be published. Required fields are marked *