Why I'm Ditching F# + Giraffe For Falco For Building WebApps
Date: 2025-01-29 | build | cloudseed | create | falco | fsharp | giraffe | webapps |
I recently released version 3 of CloudSeed - my F# webapp project boilerplate. The release contains various changes but the biggest is migrating webframeworks from Giraffe to Falco.
In this post I wanted to share a little background on why I'm making the change.
F# + Giraffe
I want to start off by saying that Giraffe remains a solid webframework. It's fast, it's straightforward, it's battle-tested, and it still gets regular updates.
There is nothing wrong with using Giraffe to build webapps with F#. I've been happily building webapps with F# + Giraffe for the past few years and there's not much reason to migrate my existing projects off it (in fact this blog runs on F# + Giraffe currently).
More on how I built this blog: Build a Simple Markdown Blog with F# / Giraffe
But the library isn't without its downsides. I find some of the APIs a bit cumbersome, there's sharding in the community ab best practices around things like endpoints, and while it gets small updates it rarely gets big ones. These aren't big issues really - the framework is battle-tested, production-ready, and is feature complete. But it is to say it's not perfect.
F# + Falco
I've had my eye on the Falco web framework for awhile (here's my 2023 F# web framework roundup that highlights Falco). It's a web framework that focuses clear and straightforward APIs.
I've followed the creator's journey and was intrigued with the updates in v5 so gave it a try.
Overall I liked the ergonomics of the APIs, was happy to see it similarly performant, and wanted to support its ongoing development so decided to take the plunge.
I've since built several side projects with Falco and liked it enough to make it the default for my projects going forward. So that's what I did.
CloudSeed Going Forward
CloudSeed aims to be a Simple Scalable System for starting, running, and scaling webapps.
Largely this means it provides what I currently believe is the best foundation for most webapps - an 80/20 approach including core features, tech stack, and patterns.
So I've updated CloudSeed to reflect my current philosophy for building webapps - and that includes using Falco as the core web framework.
Next
Before I wrap up I want to call out that there are several other production-ready F# web frameworks including Saturn, WebSharper, and Oxpecker (see official F# docs). I've decided Falco is right for me but it's possible another one will work better for you so worth giving them a look.
Get up and running with a fullstack F# webapp in minutes with CloudSeed.
If you liked this post you might also like:
Want more like this?
The best way to support my work is to like / comment / share for the algorithm and subscribe for future updates.