Falco.OpenApi
1.0.0-alpha1
dotnet add package Falco.OpenApi --version 1.0.0-alpha1
NuGet\Install-Package Falco.OpenApi -Version 1.0.0-alpha1
<PackageReference Include="Falco.OpenApi" Version="1.0.0-alpha1" />
paket add Falco.OpenApi --version 1.0.0-alpha1
#r "nuget: Falco.OpenApi, 1.0.0-alpha1"
// Install Falco.OpenApi as a Cake Addin #addin nuget:?package=Falco.OpenApi&version=1.0.0-alpha1&prerelease // Install Falco.OpenApi as a Cake Tool #tool nuget:?package=Falco.OpenApi&version=1.0.0-alpha1&prerelease
Falco
open Falco
open Microsoft.AspNetCore.Builder
let wapp = WebApplication.Create()
let endpoints =
// associate GET / to plain text HttpHandler
[ Routing.get "/" (Response.ofPlainText "Hello World!") ]
// activate Falco endpoint source
wapp.UseFalco(endpoints)
.Run()
Falco is a toolkit for building fast and functional-first web applications using F#. You can think of it as minimal API on steroids.
- Built upon the high-performance components of ASP.NET Core.
- Optimized for building HTTP applications quickly.
- Seamlessly integrates with existing .NET Core middleware and libraries.
Key Features
- Asynchronous request handling.
- Simple and powerful routing API.
- Fast, secure and configurable web server.
- Native F# view engine.
- Uniform API for accessing request data.
- Authentication and security utilities.
- Built-in support for large uploads and binary responses.
Design Goals
- Provide a toolset to build a working full-stack web application in F#.
- Should be simple, extensible and integrate with existing .NET libraries.
- Can be easily learned.
Learn
The best way to get started is by visiting the documentation. For questions and support please use discussions. The issue list of this repo is exclusively for bug reports and feature requests. For chronological updates refer to the changelog is the best place to find chronological updates.
If you want to stay in touch, feel free to reach out on Twitter.
Have an article or video that you want to share? We'd love to hear from you! To add your content, visit this discussion.
Related Libraries
- Falco.Markup - an XML markup module primary used as the syntax for authoring HTML with Falco.
- Falco.Htmx - An experimental Falco integration with htmx JS package.
- Falco.Template - a .NET SDK project template to help get started with Falco quickly.
Community Projects
- FalcoJournal - A bullet journal built with Falco, .NET 5.x and ASP.NET Core.
- Falco GraphQL Sample - A sample showing how to use GraphQL on Falco using .NET 6.
- Falco API with Tests Sample - A sample project using Falco and unit testing.
- Falco + SQLite + Donald - A demo project using Falco, Donald, and SQLite
- FShopOnWeb - An adaptation of the classic ASP.NET Core sample application using Falco and an F# architecture.
Articles
Videos
- Ben Gobeil - Why I'm Using Falco Instead Of Saturn | How To Switch Your Backend In SAFE Stack | StonkWatch Ep.13
Contribute
Thank you for considering contributing to Falco, and to those who have already contributed! We appreciate (and actively resolve) PRs of all shapes and sizes.
We kindly ask that before submitting a pull request, you first submit an issue or open a discussion.
If functionality is added to the API, or changed, please kindly update the relevant document. Unit tests must also be added and/or updated before a pull request can be successfully merged.
Only pull requests which pass all build checks and comply with the general coding guidelines can be approved.
If you have any further questions, submit an issue or open a discussion or reach out on Twitter.
Why "Falco"?
Kestrel has been a game changer for the .NET web stack. In the animal kingdom, "Kestrel" is a name given to several members of the falcon genus. Also known as "Falco".
Find a bug?
There's an issue for that.
License
Built with ♥ by Pim Brouwers in Toronto, ON. Licensed under Apache License 2.0.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
-
net8.0
- Falco (>= 5.0.0-alpha3)
- FSharp.Core (>= 6.0.0)
- Microsoft.AspNetCore.OpenApi (>= 8.0.10)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.0-alpha1 | 48 | 10/17/2024 |