• Stars
    star
    955
  • Rank 47,869 (Top 1.0 %)
  • Language
    F#
  • License
    Apache License 2.0
  • Created about 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Bolero brings Blazor to F# developers with an easy to use Model-View-Update architecture, HTML combinators, hot reloaded templates, type-safe endpoints, advanced routing and remoting capabilities, and more.

Bolero - F# Tools for Blazor

Build Nuget

Bolero is a set of tools and libraries to run F# applications in WebAssembly using Blazor.

It includes:

  • HTML functions using a familiar syntax similar to WebSharper.UI or Elmish.React.
  • Templating to write HTML in a separate file and bind it to F# using a type provider.
  • Elmish integration: run an Elmish program as a Blazor component, and Blazor components as Elmish views.
  • Routing: associate the page's current URL with a field in the Elmish model, defined as a discriminated union. Define path parameters directly on this union.
  • Remoting: define asynchronous functions running on the server and simply call them from the client.
  • F#-specific optimizations: Bolero strips F# signature data from assemblies to reduce the size of the served application.

Getting started with Bolero

To get started, you need the following installed:

  • .NET SDK 6.0. Download it here.

Then, to create and run a sample application:

  • Install the Bolero project templates:

    dotnet new -i Bolero.Templates
  • Create a new project:

    dotnet new bolero-app -o MyBoleroApp
  • Run it:

    cd MyBoleroApp
    dotnet run --project src/MyBoleroApp.Server

To learn more, you can check the documentation.

Contributing

Bolero welcomes contributions! If you wish to report issues, propose ideas, or submit pull requests, please use the issue tracker. See also the contributing guide to get started on working on this repository.