.NET 6

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Introducing .NET Multi-platform App UI (MAUI)

    .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

  • FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  • * Runs great on Linux in my experience & others

    * Great performance - https://www.techempower.com/benchmarks/#section=data-r20&hw=...

    * Open source - Microsoft has made a lot of missteps but they have came a very long way. The bright side is both how far they've came & the outcomes of the recent missteps.

    * Very productive toolset imo. I focus mostly on web based tech though. I really like the syntax & type system.

    * Swiss Army Knife in that you can use .NET to do just about any type of project - Web, mobile, games, IoT, desktop, machine learning, etc.

    * You can use C# & F# syntax, both very popular (though let's all be honest, F# is a 2nd class citizen in .NET but it's got a great fan base)

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • csharplang

    The official repo for the design of the C# programming language

  • sdk

    Core functionality needed to create .NET Core projects, that is shared between Visual Studio and CLI (by dotnet)

  • One reason might be an awareness that Microsoft will be Microsoft and they tend to do things like putting "telemetry" in the CLI tools: https://github.com/dotnet/sdk/issues/6145

  • WebViewFeedback

    Feedback and discussions about Microsoft Edge WebView2

  • If it is cross-platform it doesn't seem to be very mature cross-platform: https://github.com/MicrosoftEdge/WebView2Feedback/issues/645.

  • cosmopolitan

    build-once run-anywhere c library

  • > You of course have to choose your target platform for this (...)

    https://github.com/jart/cosmopolitan

    (but, yeah, you probably want one version per target, even if hacks are cool)

  • maui-linux

    .NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.

  • AIUI, MAUI does not include Linux support. There is a community effort to get that going, but it's not part of MAUI proper.

    https://github.com/jsuarezruiz/maui-linux

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • MaterialDesignInXamlToolkit

    Google's Material Design in XAML & WPF, for C# & VB.Net.

  • I've been using MahApps.Metro[1] and MaterialDesignXAML[2]. Those two libraries have made me feel like sticking with WPF until I retire in 5 to 10 years. I'm constantly getting feedback from clients that the applications (boring business applications) look so modern. It's been a nice selling point as my niche is rewriting VBA/VB6 engineering software.

    [1]https://mahapps.com/

    [2]http://materialdesigninxaml.net/

  • MahApps.Metro

    A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.

  • I've been using MahApps.Metro[1] and MaterialDesignXAML[2]. Those two libraries have made me feel like sticking with WPF until I retire in 5 to 10 years. I'm constantly getting feedback from clients that the applications (boring business applications) look so modern. It's been a nice selling point as my niche is rewriting VBA/VB6 engineering software.

    [1]https://mahapps.com/

    [2]http://materialdesigninxaml.net/

  • Nuget Package Manager

    Repo for NuGet Client issues (by NuGet)

  • … huh? Visual Studio is extremely not dead, they are literally about to release a 64-bit version after a massive rework. VS Code is a text editor which you can extend into being an IDE. Visual Studio is an IDE.

    There are many reasons why one might be unable to upgrade to the latest version of any given thing. For an example close to my heart of why one might be unable to upgrade to .NET 6 (or indeed to later versions of the .NET 5 SDK), there's the showstopping https://github.com/NuGet/Home/issues/10389.

  • runtimelab

    This repo is for experimentation and exploring new ideas that may or may not make it into the main dotnet/runtime repo.

  • You can, as sbelskie mentioned below. In .Net 6, it's available as a Preview [1]. But it's going to ship with the main framework in 7.0 [2].

    The preview works quite well. You can build self-contained, smaller executables, and shared libraries callable from say, C code.

    [1]: https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/...

    [2]: https://github.com/dotnet/runtime/issues/61231

  • .NET Runtime

    .NET is a cross-platform runtime for cloud, mobile, desktop, and IoT apps.

  • You can, as sbelskie mentioned below. In .Net 6, it's available as a Preview [1]. But it's going to ship with the main framework in 7.0 [2].

    The preview works quite well. You can build self-contained, smaller executables, and shared libraries callable from say, C code.

    [1]: https://github.com/dotnet/runtimelab/blob/feature/NativeAOT/...

    [2]: https://github.com/dotnet/runtime/issues/61231

  • Home

    This is the landing repository for the .NET foundation efforts. Start here! (by dotnet-foundation)

  • Saying that outcry was about one tiny decision is like saying WW1 was because an Archduke got assassinated.

    Microsoft's handling of .NET 's OSS community has been haphazard at best. Just a week or two prior to the 'dotnet watch' debacle, there were issues and concerns with the .NET Foundation that led to the Executive Director stepping down [0].

    I bring this up, because in many cases the perception is that there is -still- lock in, just in a different fashion.

    By that, I mean, if you Ask a typical .NET developer what they use, they'll probably say ASPNETCORE, EF Core, maybe you'll hear Hangfire, MediatR, RestSharp, or Dapper.

    So, you've got a bunch of .NET devs that -only- know Microsoft technologies for the most part. Yeah there's some other stuff like MongoDb, Kafka, Redis, stuff like that, but It's not very frequent you hear about teams reaching out to other technologies.

    It's very rare I hear people bring up Linq2Db, a beautiful* Micro-ORM that is best described as a type-safe, extensible SQL DSL. Or Websharper, a really-freaking-cool library that basically lets you transpile your C#/F# code into Javascript and/or Reactive HTML, complete with seamless server calls if you'd like.

    You might run into some interesting things at different places. One shop I was at used MassTransit, which was kinda cool. I've wound up using Akka.NET a few times in the past, which has always been super fun.

    The end result of this though, is the -perception- of what .NET Developers are like. And sometimes those perceptions are real. I remember the dev that felt Dapper was some sort of 'black magic' and would stick to writing DataReaders and or datatables by hand, and another that was so against the idea including Non-MS tech in a project that it wound up costing him his job; he insisted there was a way to get EF to do things in a performant way (answer: not sanely, and not easily the way the app was built on an arch level,) and refused to accept a PR that solved the problem with Dapper.

    He wound up doing the thing I've seen a -lot- of .NET developers do; fight the Framework.

    To be clear here, I'm not referring to the BCL. It's not always perfect (I'd love for an analogue to SSLEngine, please?), but it's -fine-. I'm referring to bits like ASPNETCORE, EFCore, SignalR, and Microsoft.Extensions.(DependencyInjection/Logging) where developers wind up getting in awkward tarpits around some weird edge case because of a business requirement or some other decision that, unfortunately, can't be undone.

    Or are just plain 'well, that sounds sensible in theory' like "I would like to update N rows in an new status that are older than 1 month and set to overdue, and not have it be N update statements." Maybe EF does that now, but last I knew the answer was not really.

    At my first 'Real' Dev job, we were a .NET shop, that often had to 'fight the framework' (it didn't help that we were on an Oracle Backend, which made -everything- more of a PITA before we discovered Dapper.) When the .NET guys hit one of these roadblocks, it would often take sprint after sprint of fighting to either have no solution, or have a solution that would render the app hard to maintain. The newer teams using Java? They didn't have those problems. We later heard they had 5 different ORM-ish libraries in use over there. At the time, a lot of the .NET devs kinda treated it as a sort of derision. 'hows somebody gonna understand it?'... But the Java teams delivered. It is also worth considering, maybe those were the best libraries to solve the problems that the app in question needed to deal with.

    And that's kinda the 'mindset' that is a set of .NET developers that fit the stereotype; if it's not an app that fits their cookie-cutter world, they break down and can't understand it. In other words, they're afraid to step outside the box, which means they're less likely to think outside the box.

    The typical 'litmus-test' of this type for me is a sliding scale based on their past/current experience with other languages and willingness to work with them.

    * - I do some contribution work to Linq2Db, so my opinion may be a little biased.

    [0] - https://github.com/dotnet-foundation/Home/discussions/39#

  • Pixelorama

    Unleash your creativity with Pixelorama, a powerful and accessible open-source pixel art multitool. Whether you want to create sprites, tiles, animations, or just express yourself in the language of pixel art, this software will realize your pixel-perfect dreams with a vast toolbox of features. Available on Windows, Linux, macOS and the Web!

  • There seems to be some people writing UI applications with the Godot game engine. Given the dismal state of desktop UI frameworks, this seem to make more and more sense (very light binaries, solid cross-platform support, a WYSIWYG toolkit with good scripting functionality, access to C/C++ if you wan to go low-level, you name it.)

    Examples:

    https://www.wonderdraft.net/

    https://github.com/Orama-Interactive/Pixelorama

  • v

    Simple, fast, safe, compiled language for developing maintainable software. Compiles itself in <1s with zero library dependencies. Supports automatic C => V translation. https://vlang.io

  • Yeah, nim ticks all the boxes, but the ecosystem around it should grow a bit more until I can develop comfortably with it.

    vlang[0] also seems like a nice golang "fork" that I'd be willing to spend time on.

    [0]: https://github.com/vlang/v/blob/master/doc/docs.md

  • EdgeSharp

    Build .NET Win32/WinForms/WPF WebView2 HTML5 Desktop Apps

  • zerosharp

    Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.

  • You can get C# to run without the stdlib, and use it as a native language with some effort. Here's an example running Hello World as a C# EFI boot program: https://github.com/MichalStrehovsky/zerosharp/tree/master/ef...

  • MoreLINQ

    Extensions to LINQ to Objects

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts