Skip to content

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.

License

AlexBoehm/Bolero

 
 

Repository files navigation

Bolero - F# Tools for Blazor

Build status 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.

Bolero is an early stage project, and Blazor itself is considered experimental, so expect the API to fluctuate.

Getting started with Bolero

To get started, you need the following installed:

  • .NET Core SDK 3.1. Download it here.

Then:

  • Run build.cmd

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.

About

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.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • F# 97.5%
  • HTML 1.1%
  • Other 1.4%