F# Applied

A Practical Guide For Web Development In F# Using Suave






What you’ll learn

How to create complete application using Functional Programming Principles using F#

An in-depth understanding of Web development in F# using Suave

How to develop applications using EventSourcing, CQRS, and DDD in F#

How to set up continuous integration and continuous deployment using FAKE and Docker

How to leverage libraries like Rx, FSharp.Data and Paket

Who this book is for

This book targets "intermediate" users of F#. If you are a beginner, I recommend you to checkout the following resources to get the most out of the book

F# Workshop

Thinking Functionally

A recipe for a functional app

Introduction to F#

If you are someone who is familiar with the basics of F# and wants to develop some complex applications beyond the basics, this book will be an excellent companion.


In the first chapter, Understanding Suave, you are going to build a minimal version of Suave called MiniSuave. This chapter uses one of the powerful learning technique called Learning by Synthesis. You are going to learn the design principles of Suave library by building a minimal version of it.

The second chapter introduces the Suave library and helps you to get started with the Web development.

The third chapter is one of the important chapters of this book. It is going to help you on how to build bigger applications by composing smaller functions. This chapter will also help you to get a solid understanding of Suave.

In the fourth chapter, you will be learning how to create middlewares in Suave. You will be developing a JWT authentication and authorization middleware for Web APIs.

The fifth chapter introduces you to the wonderful world of the Functional Reactive Programming(FRP). We will be implementating an API Gateway by writing a beautiful code using Rx

The last chapter reveals the magic of this book. We will be developing a business application end to end. You are going to witness Domain Driven Development (DDD), EventSourcing, CQRS, FAKE (for CI), Paket and Docker (for CD) in action!


Tamizhvendan has written a book that will blow your mind (in a good way) – beginner or intermediate alike. In a lucid and clear manner, He walks through creating a full web app. He shows you how to build a website that instantaneously updates in response to what happens on the server.

Through this, you’ll learn not only good patterns for writing functional web APIs and web apps but also get a taste of how it works end-to-end. Typically books that try this get lost on the way; some descend into a single piece of functionality that gets overworked, some into obsessive testing and others simply skip over it. In F# Applied, you’ll learn how it’s done for realTM, instead.

The strength of this book is its focus on the end-to-end scenario of using Suave, thereby letting you learn like you were pair-programming with a benevolent senior developer by your side.

Read this. You’ll enjoy it.

Henrik Feldt, Co-author of Suave and CEO of qvitoo.com

As the designer of F#, I’m delighted to recommend this book to you. “F# Applied” is an excellent introduction to applied, modern programming for the web. Starting with Suave, the F# server-side web framework, this book will teach you how to create complete applications using Functional-First Programming with F#. Tamizhvendan teaches you how to write simple, clear code and to use the latest web development techniques.

Functional Programming is highly suited to the era of the Web and Cloud. If you are a web programmer, you need to be thinking functionally – so make the shift now!

I also personally invite you to contribute to the F# community through participation in the F# Software Foundation. I am a member of the organization and am proud to contribute my part to the community. I encourage you to learn how to contribute to the technologies you use – don’t just be a “user”, but be a “maker” as well.

Don Syme, Designer and Architect of F#, Principal Researcher at Microsoft Research

Tamizhvendan is an early Suave adopter and has often written about Suave micro-services. In this book, he does a great job explaining the basic principles on which Suave is built on. I found the style easy to follow.

This book will teach you how to create Suave-based web applications using modern application development techniques; from start to finish, including setting up Continuous Integration and deploying containers to the cloud!

Ademar Gonzalez, Co-author of Suave, Lead Programmer at Code Maker Inc