Fable brings some .NET familiarity
Since it's F# you probably wonder how Fable interacts with your .NET environment.
For starters, using F# for fable apps is very similar to using F# for .NET apps:
- Fable projects use standard
.fsprojproject files (which can also be part of
- You can use well-known .NET/F# tools like NuGet, Paket or Fake to manage dependencies or your build
- You can use any F# editor like Visual Studio, Ionide or Rider
- Many common classes and routines from the System namespace have been mapped to Fable to provide a familiar interface for very common things, such as
- Most of FSharp.Core is also supported. Check the ".NET and F# Compatibility" section.
- Your web UI dependencies will be NPM dependencies, not .NET dependencies
- Your build tools will include web app development tools (e.g., webpack)
There are some NuGet packages you can add into an F# project, but these packages have to also target Fable. Otherwise, your dependencies will directly be NPM dependencies. Please check the "Author a Fable library" section to learn more, especially if you are a library author and would like to make your package compatible with Fable.