This is a good summary. Sometimes I too forget how much stuff Django provides out of the box for free. But now it is an old and boring tech, apparently. Oh well.
One of the issues I have with Giraffe is that it gives you too many ways to deal with routing while also asking to use custom operators. And yet I cannot get a list of all defined routes.
Honestly, I do not find their goal of being a functional interface to ASP.NET Core sufficiently compelling. Maybe they should be a bit more specific?
I just wanted to mention that I considered FastApi but the amount of reflection and magic required to go this route was a bit too much to my liking in F#. Just a personal preference.
I mostly agree with you on Django though. But as you said - most apps are CRUD apps.
I was frustrated with the verbosity of ASP.NET Core, especially as an F# user. Don’t get me wrong, it is insanely powerful, performant and customisable web framework. And it is also one of the most USER-UNFRIENDLY things I have ever encountered in the web development.
Therefore, I decided to wrap it in some helper functions to make it as pleasant to work with for the new F# web developers as possible. And ... I’ve got somewhat carried away. This is the true origin of this project.
Before F# I was primarily into the Python, and I had really good experience with Django. I wanted to make my helper look more like Django but more I wrote, more it resembled Flask instead.
I have recently open sourced it under the MIT license on GitHub. I hope this will help with making other web developers more interested in seemingly niche language of F#.
I use it for a side project (some SPA app) I work on over the weekends. Therefore, I frequently change and update it as I encounter more missing things or parts that do not please me.
So, all the feedback is welcome! I am especially interested if you find the framework API intuitive enough for non-F# folks.