Join 4k+ WebSharper developers
Receive the newsletter.
Experimental tools and extensions: CodeMirror, ThreeJS, Slickgrid, and many more.
Get started in just minutes
On Windows, Mac and Linux with .NET Core.
Install the WebSharper project templates:
Create a project of your choice:
Build and run:
Explore different application architectures
and a slew of other samples
PeopleAPI / PeopleClient (F#)
REST service backend and SPA client to consume it
Full-stack, client-server application with OAuth
SPA using the Model-View-Update (MVU) pattern
SPA built with React components
Functional, reactive applications with WebSharper.UI
in C# or F#
Bind composite data models to your reactive user interfaces.
The flow of reactive values through the code is explicit yet concise, for maximum readability.
Model-View-Update architecture with WebSharper.Mvu
Structure client-side applications with clear separation of concerns between logic and display.
Based on WebSharper.UI, Mvu brings Elm-like architecture to WebSharper.
Build React components
You can also use widespread libraries such as React to build applications.
The syntax is as convenient as JSX, with the added benefit of strong typing.
Web APIs and server-side JSON and HTML
Declare your URLs as a C# or F# endpoint type, and WebSharper handles the dispatch. Create safe internal links from endpoint values.
You can share the same rendering code and templates between the server and the client.
Automatically parse JSON requests and generate JSON responses based on your types.
Write SPAs with the same routing API on the client side as you would use on the server side.
Use powerful language constructs on the client side
C#: LINQ queries, asynchronous Tasks, generators...
F#: Query expressions, async workflows, sequence expressions...
Type-safe HTML templating
Use HTML templates to keep your logic and UI clearly separate and facilitate the collaboration between programmers and designers.
Remoting with ease
Seamlessly call server-side asynchronous functions from the client side.
AJAX call, JSON serialization... Everything is handled automatically.
Powerful UI abstractions
Declare full interactive forms in just a few lines of code with Formlets and Piglets.
Web Workers without hassle
Write client-side parallel code directly in your code.
Compile your C# or F# to TypeScript to easily interact with your TypeScript codebase.