The Case for C# and .NET

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

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
  1. FrameworkBenchmarks

    Source for the TechEmpower Framework Benchmarks project

  2. SurveyJS

    JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor. Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.

    SurveyJS logo
  3. CleanArchitecture

    Clean Architecture Solution Template for ASP.NET Core

    FluentValidation and Swashbuckle are two great libraries for the tasks you referenced. This is a good enough reference repository should your curiosity be piqued again in the future: https://github.com/jasontaylordev/CleanArchitecture

  4. Fable.Remoting

    Type-safe communication layer (RPC-style) for F# featuring Fable and .NET Apps

  5. tonehub

    Provides an API for your personal collection of music, audio books and podcasts

    Well, while I understand, what you are trying to say (a simple crud web api should be easy to accomplish), I think that you were just overwhelmed by amount of possibilities, tutorials and outdated information, because C# / .NET is evolving fast.

    That said, you may take a look at my small very early state pet project `tonehub`[1], which can be seen as pretty modern CRUD Web API in 2022, utilizing swashbuckle for OpenAPI, JsonApiDotNet for CRUD, Entity Framework 6 for Database, HostedServices for background tasks and some other nice concepts (DI / IoC, Options Pattern, FileStreams, etc.). I could also use SignalR for WebSockets / Realtime, integrated OpenID/OAUTH2 Authentication and much more.

    [1] https://github.com/sandreas/tonehub

  6. Paket

    A dependency manager for .NET with support for NuGet packages and Git repositories.

    I'm not sure if it will help in your scenario, but faced with a similar problem (~80 project solution, mixed c#/f#, with varying dependencies), I found success with Paket (https://github.com/fsprojects/Paket)

    It is much more prevalent in the f# community (at this point `dotnet restore` is a perfectly fine default until you hit trouble), but isn't limited to just being applied there.

  7. ionide-vscode-fsharp

    VS Code plugin for F# development

    I don't disagree but it owes a lot of that to OCaml. That said, since we're talking about C#, F# and VS Code I'm gonna talk about a pet peeve I have. If you open a C# project in VS Code when the "Ionide" (basically the F# plugin for Code) is installed then Ionide thinks it's a F# project and will open some F# stuff after a few seconds (or prompt you to setup some F# stuff in its gitignore). The root cause has been identified (plugin activates when it sees a ".sln" file), a PR have been opened and rejected with no mention as to why (https://github.com/ionide/ionide-vscode-fsharp/pull/1401) and the developers behind it are frustratingly non-communicative about it, closing issues about it (https://github.com/ionide/ionide-vscode-fsharp/issues/1701). Usual rules about OSS maintainers apply, they don't technically owe us users anything ... but man it feels like we're being trolled by now :D

  8. BaGet

    A lightweight NuGet and symbol server

    Yeah I know all this, you can even use BaGet[1] symbol server to cache or manage private dependencies in an enterprise network. That is not the point... I think that the most used tool / platform should provide more flexibility for non-enterprise or less expierienced developers.

    No offense, I like nuget, but I recently made a typo and checked in 0.0.23 instead of 0.0.2. Now, everytime I add a dependency that is < 0.0.23 to a project, that has not been synchronized / validated yet (the other problem I described), it automatically takes the best match, which is 0.0.23 assuming to be the newest package, even if unlisted.

    I also burned a 1.0.0 because of a failing script like that... not really bad, but annoying...

    https://github.com/loic-sharma/BaGet

  9. Stream

    Stream - Scalable APIs for Chat, Feeds, Moderation, & Video. Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.

    Stream logo
  10. .NET Runtime

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

    > I use Java because there's OpenJDK

    Which is mostly (~95%) developed by Oracle and is about the same in its openness and community participation as

    https://github.com/dotnet/runtime/

    is.

    FWIW I also use Linux exclusively, develop (and host) dotnet applications on it, and have my own gripes with it (mostly with Linux still being treated as a second-tier platform which is only good for servers as far as MS is concerned — I'm not talking about the abomination that VS is — try to compare the official profiling & debugging tooling).

  11. aws-lambda-runtimes-performance

    AWS Lambda Performance comparison

  12. docs

    This repository contains .NET Documentation. (by dotnet)

    You might be able to do something with this: https://github.com/dotnet/docs

    The browsy bits seem to require a server, but the documents themselves are markdown.

  13. dotnet6-openapi

    An example of using .NET 6 Web APIs with client code generation

    This will scaffold a project which is more or less the exact same as Flask, Express, or any other "easy" framework.

    OpenAPI output is built-in, but tooling for development does require a bit of knowledge (agree that Microsoft would benefit from making this work out of the box).

    A small repo here showing how to connect OpenAPI and front-end TypeScript client generation: https://github.com/CharlieDigital/dotnet6-openapi

  14. apollo-client

    The industry-leading GraphQL client for TypeScript, JavaScript, React, Vue, Angular, and more. Apollo Client delivers powerful caching, intuitive APIs, and comprehensive developer tools to accelerate your app development.

    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  15. storybook

    Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation

    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  16. Nest

    A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀

    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  17. MongoDB

    The official MongoDB Node.js driver

    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  18. Prisma

    Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB

    If you look at how major backend projects structure their code, it's almost always object-oriented TypeScript.

    I submit for the record:

    - Apollo Client: https://github.com/apollographql/apollo-client/blob/main/src...

    - Storybook: https://github.com/storybookjs/storybook/blob/next/lib/chann...

    - Nest: https://github.com/nestjs/nest/blob/master/packages/core/nes...

    - MongoDB Driver: https://github.com/mongodb/node-mongodb-native/blob/main/src...

    - Prisma: https://github.com/prisma/prisma/blob/main/packages/engine-c...

  19. InfluxDB

    InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.

    InfluxDB 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

  • What's New in F# 9

    19 projects | news.ycombinator.com | 10 Nov 2024
  • 7 Reasons for Startups to Choose ASP.NET Over Node.js

    2 projects | /r/dotnet | 22 Nov 2022
  • 10 Performance Tips for Scaling Your Node.js API

    9 projects | dev.to | 9 Jul 2025
  • Minimal Linktree-style web app built with Next.js 15, Prisma, BetterAuth, and ShadCN/UI.

    2 projects | dev.to | 21 Jun 2025
  • The Backend Shift: Leveraging Open Source Powerhouses for Faster, Leaner Apps

    15 projects | dev.to | 10 May 2025

Did you know that TypeScript is
the 1st most popular programming language
based on number of references?