Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Create your own Mini Web Server in F#
Rating: 4.2 out of 5(19 ratings)
131 students
Created byTamizhvendan S
Last updated 5/2017
English

What you'll learn

  • Functional-First Programming with F#
  • Internals of the Suave, a popular web library in F#
  • Application of Combinator Pattern
  • Three Step Approach - An effective technique to develop applications using Functional Programming

Course content

1 section15 lectures53m total length
  • Introduction0:43

    This video introduces the Author and his experiences in using F# in production. He also explains how why he has created this course and how you can approach this video tutorial to get the most out of it.

  • Introducing MiniSuave1:58

    This video will provide an overview of what to expect from the course, what you will be creating and prerequisites.

  • Getting started1:23

    This video presents three characters roleplaying in the development of MiniSuave

  • Implementing HTTP OK Response Handler5:49

    In this video, we will be implementing our first function "OK" to enable Mark to send a response with the status code "Ok".

  • Adding Internal Error and Not Found Error Handlers3:36

    This video adds two more functions to send Internal Error and Not Found responses.  It also teaches how to remove duplicate code using partial application.

  • Adding Request Filters5:46

    We will learn how to implement request filters to send responses only if the HTTP method matches. 

  • Adding Path Filter4:37

    During the previous video, we learned how to filter requests based on HTTP methods. Now, we'll be extending it to filter based on resource path.

  • Fixing Broken Parts2:53

    The implementation of request filters has broken the response function that we have implemented in the introductory videos. So, let's spend some time to fix it.

  • Adding Response Header2:10

    In this video, we will be extending the MiniSuave library by adding an API to deal with headers in the Response. 

  • Revisiting MiniSuave APIs2:23

    How about some time off to reflect? In this video, we will evaluate our MiniSuave design and see how can we make it better. 

  • Composing Functions - A Primer5:05

    Function Composition is an integral part of functional programming. This video will help us to understand what we need to change in MiniSuave to enable Function Composition

  • Composing WebParts7:41

    In this video, we will be making a significant amount of changes in MiniSuave to make it elegant and easier to use.

  • Adding Choose5:48

    We need to handle multiple kinds of requests in a web application. But MiniSuave is not yet designed for it. Let's add a new function "Choose" to make it happen.

  • Combinator Pattern2:15

    This video explains about the combinator pattern and how it has been applied in MiniSuave

  • What's Next1:19

    Congratulations for completing the course. Let's see where you can go from here. 

Requirements

  • This course aimed at students with beginner to intermediate skill in F#, basic understanding of the F# syntax and a light functional understanding would be beneficial.

Description

In this latest course from FSharp.TV, we are going to learn Functional-First Programming with F# and explore what it takes to build a web server library in F#. 

How has the course been structured?  

We all know reading the source code of a widely used library/project will help us to learn a programming language better. But how about learning a language by (re)building the project itself from the ground up? Sounds interesting, isn't it? 

In this course, we are going to build a minimal version of the Suave library, a popular web development library in F#. 

We will be creating the library by focusing on one requirement at a time, and evolve it incrementally.

Note: To get most out of this course, code side by side with the videos and experience the essence of functional programming.

What is Suave?

Suave, a simple web development library in F#. It provides a lightweight, non-blocking web server and a set of combinators to manipulate route flow and task composition. The non-blocking I/O model is efficient and suitable for building fast, scalable network applications.

By Completing this course, You will learn

  • Three-Step Approach - A useful technique to develop applications using Functional Programming
  • A real world application of Combinator Pattern
  • Internals of the Suave library
  • Last but not the least, you are going to experience how to put the pieces together and build a complete project using functional programming principles and techniques

Who this course is for:

  • Anyone who wants to wants to apply functional programming in real world
  • Anyone that wants to learn the internals of serving data over HTTP