My 20 tips recipe for #fsharp web dev for fairly complex app, @fsharponline 1- Go MultiPage, Micro-frontends: A good book is here manning.com/books/micro-fr…
2-Use HTMX with giraffe but not Giraffe.HTMX, nor any engine just plain string interpolation with
Highlight templates in F#
3- For htmx use my fork as it supports shadow dom with more proper form validation, just grab the js file github.com/OnurGumus/htmx…
Use with alpine not hyperscript as alpinejs supports shadow dom 4- For shadow dom support you need to call process elements and alpine's initTree
5- Use Fable.Lit along with Vite for dynamic parts of app. Just bring your tag from serverside via htmx and Lit will render it. Bam!
6- Use Monolithic Elmish but also use Elmish store to break monolithsm where desired.
7- Separate state section (init and update) functions and render (view) into separate projects, so you can test your init update from a .net test project.
8- Use alt.cover for test coverage with CRAP score
9-For Fable.Lit use both shadowed and not shadowed elements
10- For backend, consider using CQRS via actors. For database if not required, choose SQLite with SQLProvider
11- Use DevContainers as on MacOS http2 is not supported but only on linux. Required for proper web benchmarking.