Roundup #9: Razor Email Templates, AWS Lamba .NET Core 2.1, Contract First API Design with OpenAPI V3

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.

Walkthrough: Creating an HTML Email Template with Razor and Razor Class Libraries and Rendering it from a .NET Standard Class Library

HTML emails are the absolute worst.  Inlined styles.  Nested tables.  Different apps and platforms render the markup differently.  It’s an absolute train wreck.  However, sending plain text emails isn’t a great way to impress your users and often makes emails look fake or like spam.  So fine, HTML emails.  Let’s do it.

Link: https://scottsauber.com/2018/07/07/walkthrough-creating-an-html-email-template-with-razor-and-razor-class-libraries-and-rendering-it-from-a-net-standard-class-library/

 

AWS Lambda Supports .NET Core 2.1

You can now develop your AWS Lambda function code in C# using the .NET Core 2.1 runtime which will soon be the Long Term Support (LTS) version of .NET Core.

Link: https://aws.amazon.com/about-aws/whats-new/2018/06/lambda-supports-dotnetcore-twopointone/

 

Contract First API Design with OpenAPI V3 – Darrel Miller

The Swagger specification is all grown up with it’s new enterprisey name, OpenAPI and there’s a whole set of new features in V3, like links and callbacks. This session will explore what’s new in OpenAPI V3 while designing and building an HTTP API.

Most Swagger/OpenAPI users started by generating their OpenAPI from an API implementation. As developers gain experience, many start to change their approach to start with an OpenAPI description and build an implementation from that. We will compare the approaches and talk about the advantages of Contract First with OpenAPI.

Link: https://www.youtube.com/watch?v=GtTiIY51kK0

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.

Roundup #8

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.

ASP.NET Core 2.2 Roadmap

We are currently planning to have 3 previews before RTM:

  • August – Preview 1
  • September – Preview 2
  • October – Preview 3
  • Before End-of-year – RTM

As with our previous roadmap posts this is what we intend right now, but it’s subject to change as we continue development.

Link: https://github.com/aspnet/Announcements/issues/307

 

Windows Command-Line: The Evolution of the Windows Command-Line

Welcome to the second post in this “Windows Command-Line” series. In this post we’ll discuss some of the background & history behind the Windows Command-Line. Specifically, we’ll explore its humble origins in MS-DOS, to its modern-day incarnation supporting tools like PowerShell and Windows Subsystem for Linux.

Link: https://blogs.msdn.microsoft.com/commandline/2018/06/27/windows-command-line-the-evolution-of-the-windows-command-line/

 

Analyzing .NET Core project dependencies: Finding transitive dependencies

In the previous blog post, I looked at how we can use the .NET Core CLI to generate a dependency graph which allows you to determine the package references for a .NET Core or .NET Standard project. This is the same technique I used when developing dotnet-outdated.

Once dotnet-outdated started gaining a bit of traction, one of the issues opened on the GitHub repository was a request to support detecting outdated transitive dependencies.

Link: https://www.jerriepelser.com/blog/analyze-dotnet-project-dependencies-part-2/

 

The Web That Never Was – Dylan Beattie

The story of the web is a story about freedom. It’s a story about information, about breaking down barriers, about creating new ways for people to communicate, to collaborate, and to share their ideas. It’s also a story that has as much do with marketing, money and meetings as it does with research and innovation. It’s a story of mediocre ideas that succeeded where brilliant ideas failed, a story of compromises, rushed deadlines and last-minute decisions. And it could so easily have been very, very different.

What if IBM had hired Digital Research instead of Microsoft to develop the operating system for their first PC, way back in 1980? What if Marc Andreessen and Jim Clark had gone to work for Nintendo in 1993 and never founded Netscape? What if one of the team at CERN had said “Tim, won’t it sound a bit silly if everyone spends the next fifty years saying double-you-double-you-double-you all the time”?

In this talk, Dylan Beattie will explore alternative history of the world wide web – a web with no Microsoft, no Windows; no Firefox, no Google and no JavaScript. A software industry from another timeline, a world of platforms, protocols and programming languages that are unmistakably alien – and yet strangely familiar.

Link: https://www.youtube.com/watch?v=j51Fmn4JVwU

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.

Roundup #7: AspNet Core Nested Applications, Blazor-State, DebugType=Embedded, Controllers as action filters

Here are the things that caught my eye last week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

AspNet Core Nested Applications

Given any application of a reasonable size, to reason about it and manage complexity one generally applies modular programming along clear and well defined boundaries. Recently I was seeking to do this with AspNet Core where I wanted to compose several independent applications, potentially developed by separate teams, within the one host.

I’ve been wanting to do something similar in AspNetCore so this is right up my alley with great timing.  This is a great method for having independent apps but running under one host.

Link: http://dhickey.ie/2018/06/09/aspnet-core-nested-apps/

 

Blazor-State

If you are familiar with MediatRRedux, or the Command Pattern you will feel right at home. All of the behaviors are written as plug-ins/middle-ware and attached to the MediatR pipeline. You can pick and choose which behaviors you would like to use or even write your own.

Pretty interesting idea and like to see where this goes along with Blazer in the future.

Link: https://timewarpengineering.github.io/blazor-state/

 

<DebugType>embedded</DebugType>

This was really cool and I had no idea about this.  You can also set this from Visual Studio in the Project Properties, Build, Advanced window.

Link: https://twitter.com/KirillOsenkov/status/1007052524946255872

 

Controllers as action filters in ASP.NET Core MVC

It is common to leverage action filters when building MVC applications – this was the case in classic ASP.NET MVC, in ASP.NET Web API and is a still widely used technique (with much richer support!) in ASP.NET Core MVC.

What is not commonly known though, is that it’s possible for controllers to act as their own filters – so let’s have a look at this feature today.

Really love this idea of adding the filters to the controller itself since they are generally coupled anyways.

Link: https://www.strathweb.com/2018/06/controllers-as-action-filters-in-asp-net-core-mvc/

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.