/elmish

Elm-like abstractions for F# apps

Primary LanguageF#OtherNOASSERTION

Elmish: Elm-like abstractions for F# applications targeting Fable.

Gitter Windows Build status Mono Build Status Fable package NetCore package

Elmish implements core abstractions that can be used to build applications following the “model view update” style of architecture, as made famous by Elm. The library however does not model any "view" and is intended for use in conjuction with a DOM/renderer, like React/ReactNative or VirtualDOM. Those familiar with Redux may find Elmish a more natural fit when targeting React or ReactNative as it allows one to stay completely in idiomatic F#.

Elmish abstractions have been carefully designed to resemble Elm's "look and feel" and anyone familiar with post-Signal Elm terminology will find themselves right at home.

See the docs site for more information.

Using Elmish

v2.x releases of Elmish target both Fable 1.x and netstandard2.0 and can be installed with paket:

  • paket add nuget Fable.Elmish -i for Fable package or
  • paket add nuget Elmish -i for NetStandard2.0

For v1.x release information please see the v1.x branch For v0.8 release information please see the v0.8.x branch

Building Elmish

As part of Fable 1.x ecosystem, elmish depends on dotnet SDK. Unless the SDK is installed and is in the path the build will download and install it locally:

Just run fake:

./build.sh or build

Contributing

Please have a look at the guidelines.