Full-stack, functional reactive web programming for .NET
Develop microservices, client-server web applications, reactive SPAs, and more in C# or F#.
DSL & AI Integration
Lorem ipsum dolor sit amet consectetur adipiscing elit. Quisque faucibus ex sapien vitae pellentesque sem placerat. In id cursus mi pretium tellus duis convallis. Tempus leo eu aenean sed diam urna tempor. Pulvinar vivamus fringilla lacus nec metus bibendum egestas. Iaculis massa nisl malesuada lacinia integer nunc posuere. Ut hendrerit semper vel class aptent taciti sociosqu. Ad litora torquent per conubia nostra inceptos himenaeos.
Learn moreTrusted by fast-growing companies around the world
Functional, reactive applications with WebSharper.UI
Bind composite data models to your reactive user interfaces. The flow of reactive values through the code yet concise, 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.
Learn moreBuild 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.
Learn moreWeb 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.
Client-side routing
Write SPAs with the same routing API on the client side as you would use on the server side.
Learn moreUse powerful language constructs on the client side
F#: Query expressions, async workflows, sequence expressions...
C#: LINQ queries, asynchronous Tasks, generators...
Type-safe HTML templating
Use HTML templates to keep your logic and UI clearly separate and facilitate the collaboration between programmers and designers.
Learn moreRemoting 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 WebSharper Forms.
Web Workers without hassle
Write client-side parallel code directly in your code.
The compiler automatically creates the separate trimmed JavaScript file for the web worker.
let worker = new Worker(fun self ->
// This code runs in the worker:
self.OnMessage <- fun e ->
Console.Log(
"Received message from main thread: "
+ string e.Data
)
)
// This code runs in the main thread:
worker.PostMessage("Hello, worker!")
var worker = new Worker("worker.js");
worker.postMessage("Hello, worker!");
self.onmessage = function (e) {
console.log(
"Received message from main thread: "
+ e.data.toString());
}
Get Started
Instant access to the power of WebSharper