Flutter from Google is the most successful framework for cross-platform app development.
The problem is for some unknown reason, it uses Dart programming language.
.NET MAUI from Microsoft is another major cross-platform framework.
Surprisingly, Microsoft does not support F#.net much in MAUI.
[Enhancement] F# Support from Day 1
Therefore, for F# developers, these major frameworks are unusable.
There is another option: Hybrid app.
Capacitor is a Hybrid app framework that is based on the Web technology.
The vast and versatile web development ecosystem provides us with the variety of options such as MaterialUI etc..
WebAssembly (WASM) is certainly a future of the web.
The challenge with WASM is that it's still maturing. The most critical issue is the limited number of options available due to the small ecosystem, especially for F#.
The vast ecosystem of web technology empowers us to build almost anything.
The web language is JavaScript, and thanks to Fable, we can now compile F# code that runs seamlessly in the browser.
F#
⬇ Fable Compiler running on .NET (dotnet fable
)
JavaScript running in the browser
VanJS: About - the Story behind VanJS
But I think, in a nutshell, the best way to describe it is: VanJS is the scripting language for UI, just like bash is the scripting language for terminal.
Being the scripting language for UI , is the fundamental principle that guides the design of VanJS . It's based on JavaScript so that it can work in as many environments as possibles, not only for websites, but also for webviews which most major OSes support.