Updated to Blazor 3.2.0 final release, with improvements to server-side hosting and component attributes.
Updated for .NET Core 3.1 and Blazor 3.2, introducing lazy components, improved data binders, and more.
In my previous article about "F# metablogging: introducing BlogEngine for your static markdown-based F# blog", I briefly outlined a quick strategy to switch a WebSharper HTML project to a hosted, client-server app, and vice versa. In this article, I will walk through some suprises that came along the way and what I did to resolve them.
In this article, I want to show you another way of keeping your SSG in F#: using WebSharper. Armed with the full power of a .NET web framework and its templating features (see the HTML templates section), this has numerous advantages, most importantly, among others, that you can embed dynamic features written in F# or C# to give you a truly impressive and dynamic blog, despite being statically generated.
The Bolero homepage starts off with a video that shows you how to create your first client-server app with three simple commands, ...
Authenticate users and authorize remote functions with standard ASP.NET Core auth.
WebSharper 4.5.9 has client-side support for F# anonymous records and build fixes.
WebSharper 4.5.8 has client-side support for FSharp.Core 4.6 functions and templates for VS2019
Designing a Bolero page is much quicker with HTML content live editing.
Just a short week ago, we announced the first release of Bolero, enabling full-stack F# web development on WebAssembly. Since then we have been working on a small side project to see what it would take to implement a fully client-side implementation of the F# compiler: basically, to embed FSharp.Compiler.Services (FCS) in a small Bolero application.
A new library to create F# web applications in WebAssembly via Blazor.
A brief outline of the historical circumstances around WebSharper (just some notes in no particular order) that **position it for a bright future outlook**, and a quick glimple of what we are working on with it to advance the current state of F# web programming.