pimbrouwers / Falco

A toolkit for building fast and functional-first web applications using F#.
https://www.falcoframework.com
Apache License 2.0
522 stars 37 forks source link

WebHost Builder - do we need/want this? #21

Closed pimbrouwers closed 4 years ago

pimbrouwers commented 4 years ago

Tabling this discussion since there's enough of us now using, or at least watching this project from a distance.

I originally wrote the comp expr for the web host to avoid the need for so much boiler plate code around creating a new web host. I'm beginning to feel as though I'm not a fan of hiding away the complexity, and the additional API that now needs to be maintained.

So what do you think?

pblasucci commented 4 years ago

So, speaking purely for myself, the longer I work with F#, the less I care about custom wrappers over C# libraries -- unless the wrapper manages to seriously alter the paradigm (or if the C# API is especially egregious). And, no, I don't think simply re-exposing tupled methods as curried functions meets the bar for "seriously alter the paradigm" (i.e. object-centric programming is fine sometimes). :wink:

For example, the HttpHandler approach offered by Falco/Giraffe/Suave is great. It creates a very different paradigm (rather then using controllers). But for the host setup, I don't think a custom layer adds very much (even if it is quite pretty). So, I'd be fine with deprecating it (aside: I've actually gone back to using a Startup class for all but the simplest scenarios).

pimbrouwers commented 4 years ago

Thanks Paul! So glad to have your feedback here.

I completely agree with you. My goal has ways been to create the skinniest set of tools possible which allow for meaningful work to get done. I'll admit it felt out of place when I first added the builder, more or less chasing the sexy "5 line hello world".