Giter Site home page Giter Site logo

First time using Falco about falco HOT 3 OPEN

nojaf avatar nojaf commented on June 30, 2024 1
First time using Falco

from falco.

Comments (3)

nojaf avatar nojaf commented on June 30, 2024 1

Oh and maybe one example of grabbing a logger inside an HttpHandler would also be interesting.

from falco.

pimbrouwers avatar pimbrouwers commented on June 30, 2024

Hey Florian,

Nice to meet you officially.

I appreciate the time taken to provide all of this feedback. It's invaluable to the progress of the library.

Some of the things you bring up are things I've thought about as well for some time. But, as a dad of two young kids and a demanding job, things don't always get the attention they deserve. I like to think I do a solid job on the critical stuff, and hopefully can continue to improve on the remainder as my time continues to free up.

Now, on to your questions.

  • Re: Search feature
    • This is a good idea. I'll look into incorporating a Google Search widget.
  • Re: Server configuration
    • I recognize I'm taking for granted that the user has prior experience with ASP.NET Core. I came to F# after a decade using ASP.NET MVC with C#. Building this framework was my way of battling my "MVC fatigue". But my bias is evident, and I'll look to provide better documentation on that.
    • For most server configuration, including yours about the port number, I recommend using the appsettings.json file which gets incorporated automatically for you. Documentation for this specifically can be found here.
  • Re: Webhost initialization
    • This would be more familiar if you had background in ASP.NET Core. Basically, when you stand up a web host (now web application), you can optionally pass in the command line arguments for runtime configruation.
    • I have never loved the builder, which is why I have removed it in v5, in favour of a fluent builder that trues to provide a more broad working API versus a poorly designed DSL.
  • Re: Barebones HttpHandler
    • Checkout the second code block, on this page.
  • Re: Scripting
    • I had never thought of this as a thing. What exactly is the use case?
    • I don't see why having two files (App.fs, App.fsproj) and invoking with dotnet run is limiting?
  • Re: CORS
    • Adding middleware that isn't contained in the DSL is best done using the add_middleware function and the extension method(s) found in Microsoft.AspNetCore.Builder.
    • I don't plan to offer these shortcuts in the future, they are a maintenance nightmare.
  • Re: FSDOC
    • It's on my radar, mostly a time thing.
  • Re: Examples
    • Better examples (after 4 years you learn a few things haha!) are coming with v5.

Thanks again for your time and interest. Really appreciate it.

from falco.

nojaf avatar nojaf commented on June 30, 2024

Hi Pim,

Thanks for your response to this post! I was hesitant to post it due to its detailed criticisms.

I understand time constraints might be an issue for you with this project. Life happens, and I completely understand. I'm not expecting any immediate actions; I'm simply curious about a few things.

Have you considered building a community around Falco, such as finding co-maintainers to help the project grow beyond your efforts? More contributors can be beneficial in the long term.

Regarding my interest, I'm looking for an excellent framework to build web servers in F# and see potential in Falco. The documentation is impressive, and such developer-first experiences are what F# needs more of.

Re: Search feature

fsdocs includes this feature. I might put together a small PR to demonstrate some capabilities.

Re: Server configuration, appsettings.json file

It's disappointing that an additional file is needed just to change the port. I understand this is more related to ASP.NET Core, but in a simple Node.JS project, everything could fit in a single file. That's the appeal of the scripting approach when all requirements fit into one file.

Re: Scripting

Sometimes, I need a quick, temporary web server. I'm not aiming for production or longevity, which is why Suave is appealing—it fits into a script file for fast iteration. You might suggest dotnet watch, but scripting is still quicker.

Re: CORS

Understood. I appreciated finding the exact documentation snippet I needed.

Re: Examples

I always appreciate a "recipes" page for quick learning.

Lastly, why is there an empty array in webHost?

Keep up the great work, Pim!

from falco.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.