F# WEB PROGRAMMING OPTIONS FOR .NET CORE
 ASP.NET Core MVC
 Giraffe
 Saturn
 Suave
 Freya
ASP.NET CORE MVC
 In the box (SDK and Visual Studio 2017)
 Object Oriented programming
 Wire up the API like you would in C# but connect it to a functional F# core
 Best to start with if you’re coming from a C#/ASP.NET MVC background
GIRAFFE
 Functional ASP.NET Core
 Lightweight – it’s a library, not a framework
 Use Kleisli composition to define API routes
 Recommended if you have functional programming experience
SATURN
 “Batteries included” functional ASP.NET Core
 Built atop Giraffe
 Comes with database migrations
 Modeled after Phoenix web framework in Elixir ecosystem
 Uses Computation Expressions to model everything
 Recommended for people looking for opinionated functional programming
SUAVE
 Lightweight functional web server and HTTP abstractions
 Can be hosted atop Kestrel
 Predecessor to Giraffe and pioneered the APR routing syntax
 Designed also to embed its web server into applications
 Recommended for people looking for an alternative to ASP.NET
FREYA
 Purely functional F# web framework
 Pure as in functional purity!
 Uses its own HTTP abstractions
 Uses Computation Expressions and Lenses to model an HTTP pipeline
 Recommended for experienced functional programmers

F# web programming options for .NET Core

  • 1.
    F# WEB PROGRAMMINGOPTIONS FOR .NET CORE  ASP.NET Core MVC  Giraffe  Saturn  Suave  Freya
  • 2.
    ASP.NET CORE MVC In the box (SDK and Visual Studio 2017)  Object Oriented programming  Wire up the API like you would in C# but connect it to a functional F# core  Best to start with if you’re coming from a C#/ASP.NET MVC background
  • 3.
    GIRAFFE  Functional ASP.NETCore  Lightweight – it’s a library, not a framework  Use Kleisli composition to define API routes  Recommended if you have functional programming experience
  • 4.
    SATURN  “Batteries included”functional ASP.NET Core  Built atop Giraffe  Comes with database migrations  Modeled after Phoenix web framework in Elixir ecosystem  Uses Computation Expressions to model everything  Recommended for people looking for opinionated functional programming
  • 5.
    SUAVE  Lightweight functionalweb server and HTTP abstractions  Can be hosted atop Kestrel  Predecessor to Giraffe and pioneered the APR routing syntax  Designed also to embed its web server into applications  Recommended for people looking for an alternative to ASP.NET
  • 6.
    FREYA  Purely functionalF# web framework  Pure as in functional purity!  Uses its own HTTP abstractions  Uses Computation Expressions and Lenses to model an HTTP pipeline  Recommended for experienced functional programmers