What does HackerNews think of Giraffe?
A native functional ASP.NET Core web framework for F# developers.
Even if you eventually decide you can't commit a team to F#, it's highly worth it because doing at least one app in F# will vastly improve your C# and how you structure applications. [2] I personally just got addicted to the expressive power, it's hard to replicate with any other ecosystem given the full power of .NET under the hood. Giraffe is also a great place to start if you know ASP.NET Core. [3]
[1] https://www.amazon.com/dp/1680502549
Giraffe: https://github.com/giraffe-fsharp/Giraffe Saturn: https://github.com/SaturnFramework/Saturn Falco: https://github.com/pimbrouwers/Falco Wiz: https://github.com/samueleaton/wiz
Not to discourage you or anything - always good to see alternatives. Personally, for FP web programming, the closer to the "your server as a function" ideal the better - so I'd prefer Giraffe in this case, for things like the router being an HttpHandler instead of being a property on the app instance. It's just way more intuitive from an FP standpoint and produces neater, more self-contained code, IMO.
https://github.com/giraffe-fsharp/Giraffe
As an added bonus you'll learn a very popular tool for sticking a web interface in front of your F# app.
The major difference I would say, is that you are required to use botnet alongside of node. (dotnet to compile to JS, then node to bundle with wepback or anything else)
Also, you can use the same language to build high performance backend with giraffe [2] (better than node). And build performant native application with fabulous [3].
There is an experimental typescript compilation. Which will be great, because it will make using F# less hostile in an environment where the winner takes all.
[1] https://fable.io
I'm not sure about any C#-focused efforts.
1: https://github.com/fsprojects/Fabulous
2: https://github.com/fable-compiler/Fable (transpiles F# to JS)
3: https://github.com/elmish/elmish
https://github.com/giraffe-fsharp/Giraffe <- thin layer on top of ASP.NET Core
https://safe-stack.github.io/docs/intro/ <- slightly more opinionated but also .NET Core based.
I tend to mix F# and C#, Giraffe is great for sticking a slim web API or interface in front of .NET Core applications that use a combination of F# and C#.
Do you remember the library? The landscape has changed dramatically in the past ~6 months with .NET Core 2.0 support. For example, I can use Fable[0] and Giraffe[1] with the .NET CLI[2] to build full-stack F# apps on my machine which runs .NET Core. The big remaining blocker for most people to just jump wholesale onto .NET Core and forget anything Windows-based is the lak of Type Provider support, but we're quite close to finishing that.
[0] http://fable.io