~/talk

Frontend in F#? Hold my beer!

Talkat NDC London 2020 · 2020-01-27..01-31· [frontend-architecture]
slides:none on file

Backend codebase becomes a working web UI using Fable + Elmish MVU compiled to JavaScript, with HTTP via JS interop and React components for JSON/XML viewing. Styling uses the Fulma wrapper so minimal CSS knowledge is needed, with targeted tweaks (overflow:auto for a vertical scrollbar, responsive column sizes). State is immutable and debuggable with Redux devtools time-travel. A legacy 1,000+ line mixed app is replaced by 7 F# files (~400 lines) and the approach proves practical in production.

AI-written summary · about

  1. 0:00Introduction
  2. 1:56Motivation for F# frontend
  3. 6:50Why functional frontend
  4. 12:36Elm architecture basics
  5. 15:12Fable: F# to JS
  6. 19:12F#/Fable app build
  7. 22:44Setting up the development environment
  8. 23:26App model in F#
  9. 25:18State update messages
  10. 26:50Update function
  11. 28:43Initial view with Fable React
  12. 30:08UI with Fulma
  13. 33:55Layout and responsiveness
  14. 38:56JSON formatting with React
  15. 40:18Redux DevTools debugging
  16. 43:13Live coding summary
  17. 45:55Conclusion and Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.