WebSharper DocumentationBuild full-stack web apps in F# and C#
WebSharper compiles your .NET code to JavaScript and gives you type-safe client–server communication, a reactive UI library, sitelets, remoting and WebSockets — all from a single, strongly-typed code base.
dotnet new install WebSharper.TemplatesGet started
Go from zero to a running WebSharper project in three steps.
Install the WebSharper project templates:
Create a project — pick F# or C#:
Run it and open the printed URL:
Follow the Getting started guide for the full walkthrough.
Browse the docs
WebSharper Core
Sitelets, routing, JSON, remoting, WebSockets, bundling, configuration and more.
WebSharper.UI
Functional-reactive HTML, reactive documents and type-safe templating.
WebSharper Forms
Declarative, composable web forms with retargetable rendering and validation.
Model-View-Update
An Elm-like architecture for composing client-side applications.
Metaprogramming
Macros, generators and the compiler API for advanced code generation.
C# support
Using WebSharper from C#: language support, LINQ, sitelets and testing.
CLI
The WebSharper command-line tools for building and serving projects.
Contribution guide
How to build, test and contribute to WebSharper.
Why WebSharper
Typed routing with sitelets
Parse requests and generate links from a typed endpoint value — no dead links, no string routing.
Typed client-server
Call server-side functions from the client with a plain await, sharing the same types.
Reactive UI
Let data flow through your UI with WebSharper.UI's functional-reactive abstractions.
WebSockets
Exchange automatically serialized messages between the server and the client.
Web workers
Create a web worker from a function call; dependencies are discovered and bundled for you.
JavaScript bindings
Bind any JavaScript library with a concise, readable F# DSL.
Looking for the product site?
Features, examples and downloads live on websharper.com. These pages are the documentation for the framework and its libraries.