-
```
To get self-contained binaries (that don't need .NET to be installed locally) for those platforms.
There is a decent multi-platform UI framework called Avalonia: https://github.com/fsprojects/Avalonia.FuncUI
There are good actively maintained web frameworks: https://fsharp.org/guides/web/#web-frameworks
There are some passionate people writing great books about F#: https://fsharpforfunandprofit.com/ddd/
Most of F#'s adoption issues seem to be because:
1. It's tough to convince people outside of the .NET community to use .NET.
2. Most of the people using .NET use C#.
3. It's hard to convince C# users to adopt F#. (See https://www.reddit.com/r/dotnet/comments/16m0wdj/why_dont_yo... and similar threads.)
I'd love to work with F# full-time, but — short of starting my own company using it or convincing Microsoft to pay me to help them showcase its benefits — it's been hard to find work with F#, which drove me to spend time with other languages.
-
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.
-
Bolero
Bolero brings Blazor to F# developers with an easy to use Model-View-Update architecture, HTML combinators, hot reloaded templates, type-safe endpoints, advanced routing and remoting capabilities, and more.
For WebAssembly, there is Bolero:
https://fsbolero.io/
Unfortunately, maintenance seems to have stopped since Jan,
https://github.com/fsbolero/Bolero/releases
(I tried creating a sample project on Linux which didn't work to begin with)
-
Fabulous
Declarative UI framework for cross-platform mobile & desktop apps, using MVU and F# functional programming
There are a few options:
https://github.com/fsprojects/Avalonia.FuncUI
https://fabulous.dev/ (which targets Avalonia/MAUI/Xamarin)
https://github.com/kekyo/epoxy (similar to Fabulous)
> companies
If you're interested I can ask around.
-
There are a few options:
https://github.com/fsprojects/Avalonia.FuncUI
https://fabulous.dev/ (which targets Avalonia/MAUI/Xamarin)
https://github.com/kekyo/epoxy (similar to Fabulous)
> companies
If you're interested I can ask around.
-
fslang-design
RFCs and docs related to the F# language design process, see https://github.com/fsharp/fslang-suggestions to submit ideas
Damn. It's only for nulls: https://github.com/fsharp/fslang-design/blob/main/RFCs/FS-10...
Wonder if they will generalize:
-
VisualFSharp
The F# compiler, F# core library, F# language service, and F# tooling integration for Visual Studio
Thanks for the tips! I had thought there were still some other gotchas with AOT and F# but it looks like the list is smaller than last time I looked. https://github.com/dotnet/fsharp/issues/13398
-
FSharp.Control.TaskSeq
A computation expression and module for seamless working with IAsyncEnumerable<'T> as if it is just another sequence
This has been addressed in F# 6: https://learn.microsoft.com/en-us/dotnet/fsharp/whats-new/fs...
Asynchronous sequences (IAsyncEnumerable) support is provided via https://github.com/fsprojects/FSharp.Control.TaskSeq
F# is a very capable language and there is a broad spectrum of tasks that can be solved by just implementing a new CE, something I could not even think of in C#.
-
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.
-
It's an open-source project with its own F# Software Foundation. If Microsoft drops it, I think it would continue.
https://fsharp.org/
-
Here are 2 possibilities:
- https://monazita.gitlab.io/monazita/ (i developed it for a project of mine while learning fsharp. Basically works but could be more polished and is pgsql only)
- https://github.com/jacentino/DbFun (more polished than previous project, and multi db)
-
Not pretending my project is large or important, but it is an example of a non trivial project written in fsharp: https://gitlab.com/myowndb/myowndb/
-
fslang-suggestions
The place to make suggestions, discuss and vote on F# language and core library features
That would be a breaking change; certainly it's impossible to do that in the presence of reflection, and I imagine there are simpler cases. (See discussion on the similar https://github.com/fsharp/fslang-suggestions/issues/884 .)
-
I mean, this really depends on what you're looking at.
Here's a sample from the MongoDB client: https://github.com/mongodb/node-mongodb-native/blob/main/src...
Here's a sample from Storybook: https://github.com/storybookjs/storybook/blob/next/code/core...
Here's a sample from Prisma: https://github.com/prisma/prisma/blob/main/packages/client/s...
Here's a sample from Cal.com: https://github.com/calcom/cal.com/blob/main/packages/core/Ev...
It's rather the specific use case that determines the style of the code that's written. In the examples above, there's no need for the teams to choose JavaScript classes and inheritance to model the logic, yet it likely better fits the programming model of those modules.
Look at Nest.js as well: https://github.com/nestjs/nest/blob/master/packages/core/rou...
The whole codebase of Nest.js looks an aweful lot like Spring or ASP.NET (controller syntax) probably because there's a lot of crossover in terms of what APIs need at scale.
It just so happens that most use cases for C# and Java favor applications at a larger scale. Another key difference being object scope and lifecycles -- something that rarely comes into play in the generally single-threaded Node runtime. This being one of the key reasons why dependency injection is a thing in C# and Java land.
-
storybook
Storybook is the industry standard workshop for building, documenting, and testing UI components in isolation
I mean, this really depends on what you're looking at.
Here's a sample from the MongoDB client: https://github.com/mongodb/node-mongodb-native/blob/main/src...
Here's a sample from Storybook: https://github.com/storybookjs/storybook/blob/next/code/core...
Here's a sample from Prisma: https://github.com/prisma/prisma/blob/main/packages/client/s...
Here's a sample from Cal.com: https://github.com/calcom/cal.com/blob/main/packages/core/Ev...
It's rather the specific use case that determines the style of the code that's written. In the examples above, there's no need for the teams to choose JavaScript classes and inheritance to model the logic, yet it likely better fits the programming model of those modules.
Look at Nest.js as well: https://github.com/nestjs/nest/blob/master/packages/core/rou...
The whole codebase of Nest.js looks an aweful lot like Spring or ASP.NET (controller syntax) probably because there's a lot of crossover in terms of what APIs need at scale.
It just so happens that most use cases for C# and Java favor applications at a larger scale. Another key difference being object scope and lifecycles -- something that rarely comes into play in the generally single-threaded Node runtime. This being one of the key reasons why dependency injection is a thing in C# and Java land.
-
Prisma
Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB
I mean, this really depends on what you're looking at.
Here's a sample from the MongoDB client: https://github.com/mongodb/node-mongodb-native/blob/main/src...
Here's a sample from Storybook: https://github.com/storybookjs/storybook/blob/next/code/core...
Here's a sample from Prisma: https://github.com/prisma/prisma/blob/main/packages/client/s...
Here's a sample from Cal.com: https://github.com/calcom/cal.com/blob/main/packages/core/Ev...
It's rather the specific use case that determines the style of the code that's written. In the examples above, there's no need for the teams to choose JavaScript classes and inheritance to model the logic, yet it likely better fits the programming model of those modules.
Look at Nest.js as well: https://github.com/nestjs/nest/blob/master/packages/core/rou...
The whole codebase of Nest.js looks an aweful lot like Spring or ASP.NET (controller syntax) probably because there's a lot of crossover in terms of what APIs need at scale.
It just so happens that most use cases for C# and Java favor applications at a larger scale. Another key difference being object scope and lifecycles -- something that rarely comes into play in the generally single-threaded Node runtime. This being one of the key reasons why dependency injection is a thing in C# and Java land.
-
I mean, this really depends on what you're looking at.
Here's a sample from the MongoDB client: https://github.com/mongodb/node-mongodb-native/blob/main/src...
Here's a sample from Storybook: https://github.com/storybookjs/storybook/blob/next/code/core...
Here's a sample from Prisma: https://github.com/prisma/prisma/blob/main/packages/client/s...
Here's a sample from Cal.com: https://github.com/calcom/cal.com/blob/main/packages/core/Ev...
It's rather the specific use case that determines the style of the code that's written. In the examples above, there's no need for the teams to choose JavaScript classes and inheritance to model the logic, yet it likely better fits the programming model of those modules.
Look at Nest.js as well: https://github.com/nestjs/nest/blob/master/packages/core/rou...
The whole codebase of Nest.js looks an aweful lot like Spring or ASP.NET (controller syntax) probably because there's a lot of crossover in terms of what APIs need at scale.
It just so happens that most use cases for C# and Java favor applications at a larger scale. Another key difference being object scope and lifecycles -- something that rarely comes into play in the generally single-threaded Node runtime. This being one of the key reasons why dependency injection is a thing in C# and Java land.
-
Nest
A progressive Node.js framework for building efficient, scalable, and enterprise-grade server-side applications with TypeScript/JavaScript 🚀
I mean, this really depends on what you're looking at.
Here's a sample from the MongoDB client: https://github.com/mongodb/node-mongodb-native/blob/main/src...
Here's a sample from Storybook: https://github.com/storybookjs/storybook/blob/next/code/core...
Here's a sample from Prisma: https://github.com/prisma/prisma/blob/main/packages/client/s...
Here's a sample from Cal.com: https://github.com/calcom/cal.com/blob/main/packages/core/Ev...
It's rather the specific use case that determines the style of the code that's written. In the examples above, there's no need for the teams to choose JavaScript classes and inheritance to model the logic, yet it likely better fits the programming model of those modules.
Look at Nest.js as well: https://github.com/nestjs/nest/blob/master/packages/core/rou...
The whole codebase of Nest.js looks an aweful lot like Spring or ASP.NET (controller syntax) probably because there's a lot of crossover in terms of what APIs need at scale.
It just so happens that most use cases for C# and Java favor applications at a larger scale. Another key difference being object scope and lifecycles -- something that rarely comes into play in the generally single-threaded Node runtime. This being one of the key reasons why dependency injection is a thing in C# and Java land.
-
louthy/language-ext [1] is a C# library which does its darndest to build a fully functional language inside C#. I found it very interesting and used it for an experimental project (which ended up failing, not sure if my usage of language-ext was partially to blame). People told me I should have just used F#.
Anyone familiar with both that can compare them?
[1]: https://github.com/louthy/language-ext
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Related posts
-
The Case for C# and .NET
-
Targeting Node, Bun and Deno With F#
-
10 Performance Tips for Scaling Your Node.js API
-
If you’ve upgraded boto3 or the JavaScript S3 client in the last week, uploading files won’t work. Here’s how to fix it.
-
How to Build a Fullstack AI Agent with LangGraphJS and NestJS (Using Agent Initializr)