8 : Why dotnet you?

04 Feb 2022

Rowan and Andy discuss their own experiences with the dotnet platform and why they use it day to day. 

Random fact

In 1998 Microsoft “DirectX” team pitched a new gaming console known as the “directXbox.” It was later shortened to “Xbox.”

Introduction

New release dotnet 6 + C#10 + f#6

dotnet conference just finished - November 9-11

launch event for VS2022 - Nov 8th

Why we like dotnet. Why it is our development platform of choice.

Safety - compiled, not interpreted, but scripting if you want it!

  • Languages
    • C# - OOP
    • F# - FP / OOP
    • VB.Net - OOP
    • High fidelity type system - powerful model
  • Security
    • Security first, mature apis -
      • JWT parsing build into core - Identity management built into core
      • Security best practice Anti-Request Forgery Tokens etc CSRF, XXRF
    • ASP.NET Core Identity
    • Assembly signing (strong-named assembly)

Massive framework coverage

  • Web
    • ASP.NET
    • Blazor WASM / Server
    • WebAPI
    • Services / Daemon / Console apps
  • Platform specific app dev previous
    • Workstation
      • WPF
      • Winforms
    • Mobile
      • Xamarin
  • Now - Platform agnostic app development
    • UI Everywhere
      • MAUI
  • Gaming
    • Unity
  • Database
    • EF
  • Distributed systems
    • Dapr
    • New Orleans
  • Azure and Serverless!
    • Logic apps, Power Platform
  • Cross cutting libs / services
    • ML.Net
    • Azure services - endless!!
      • ML - computer vision, etc
      • Logging
      • Data

Super performant and production ready

  • Scott Hunter aiming to be the fastest framework in the world

  • Already much faster than node as of dotnet 5

  • Raygun case study in 2020:

    • moved to .NetCore 1.0 from Node
      • from 1000 requests per sec to 20000 requests per sec!! 20 / 2000% fold increase
    • Core 1.0 → 2.0
      • further 25% increase
    • Core 2.1 → 3.1
      • further 12% increase
    • removed nginx - requests now handled just by Kestrel
      • 44% increase in transactions per s
      • Found nginx was hitting upper memory limits - putting the breaks on
  • Great Tooling, strong developer story

    • Visual Studio (community edition is free)
      • Great integration with Azure, Sql Server etc
    • Visual Studio Code (free)
      • Now online - vscode.dev
      • Cross platform, integrates with WSL
    • dotnet cli
    • GitHub - Git and DevOps
    • Azure DevOps
    • Azure CLI
    • Nuget
  • Interoperable - everywhere

  • Strong governance - cohesive design, release schedule, community driven

    • MS financed
    • .Net Foundation
    • Massive passionate community
      • All the Scotts - Scott Hanselman / Scott Hunter / Scott Gutherie
      • David Fowler / Damien Edwards
      • Steve Sanderson
      • Mads Kristensen
      • Troy Hunt
      • Countless specialist community leads and MVPs
    • Channel 9
    • MSDN Network
    • Countless podcasts, like ours - Hanselman, .Net Rocks - Carl Franklin and Richard Campbell
    • Twitter
    • dotnet conf, NDC - started in Oslo
    • Countless user groups

OS project/utility of the week

dotnet - https://github.com/microsoft/dotnet