Using F# for Web Applications
Option 1: Use Fable
Fable is an F# to JS compiler designed to generate clean
and standard JavaScript code in order to maximize interoperability in both ways. It integrates with most
of JS development pipelines like Babel, Webpack
or React Hot Loader. Fable allows you develop
not only web apps but also node.js, desktop with Electron
or mobile with React native.
Option 2: Use WebSharper
WebSharper allows end-to-end web applications with both client and server developed in F#.
It includes TypeScript interoperability, mobile web apps, getting started material, templates and much more.
Option 3: Use SAFE Stack
SAFE Stack is an end-to-end, functional-first stack for cloud-ready web development that
emphasizes type-safe programming. It is an application development stack that brings several technologies together into a single,
coherent stack for type-safe, flexible, web-enabled applications that can be written almost entirely in F#.
Option 4: Use WebAssembly with Bolero
Bolero - F# on the client side, no JavaScript - Bolero uses Blazor to bring F# to WebAssembly. Create dynamic HTML content using syntax familiar from WebSharper and Fable, in a full-fledged client-side .NET web framework.
There are other options, see also F# Web Programming.