Documentation

Learn how Fable works & how to use it

Here you will learn how to quickly get started with Fable, what is supported from FSharp.Core and .NET, as well as how to seamlessly interact with native JavaScript APIs or libraries. If you want to learn about the F# language, check the fsharp.org site for more resources.

Getting started

Come here to start developing a web app with F# in a few minutes. You will learn to setup your environment, to download Fable templates using the dotnet SDK and to bootstrap a simple web app. After that, we will see a quick overview of how Fable works underneath.

F# language and library compatibility

This page lists the F# and .NET classes available in Fable and how they are translated into JS, highlighting the small semantic differences you need to be aware of. You may be surprised to know how many F# features are supported in Fable (even reflection!) with almost no overhead.

Interacting with JavaScript

How to call JavaScript libraries? With Fable, you can use either foreign interfaces or dynamic typing when invoking external code. Fable also complies with ES2015 module semantics when importing JS code, playing really well with development tools like Webpack. There are a couple of special attributes too, like Emit to embed JS directly in your F# code. Learn more here!

Community

Learning about Fable doesn't end here, there are many great tutorials and videos created by Fable community members. The list grows every day so make sure to check fable-awesome regularly and follow our Twitter account for the latest news.