Hardcore Functional Architecture Patterns in JavaScript

Brian Lonsdorf
Salesforce
4 hours, 10 minutes CC
Hardcore Functional Architecture Patterns in JavaScript

Course Description

Learn patterns to architect your JavaScript programs using functional programming techniques. In this course, you'll learn to build libraries and applications using functional programming patterns. You'll also learn new tools to apply, such as Monoids, Monad Transformers, Free Monads, and Lenses. See functional programming in action!

Preview

Course Details

Published: April 3, 2020

Rating

4.2

Learn Straight from the Experts Who Shape the Modern Web

Your Path to Senior Developer and Beyond
  • 250+ In-depth courses
  • 24 Learning Paths
  • Industry Leading Experts
  • Live Interactive Workshops

Table of Contents

Introduction

Section Duration: 17 minutes
  • Introduction
    Brian introduces the course by explaining that architecture is about grouping things, and gives a refresher on the main functional programming properties.
  • Naming & Grouping
    Brian introduces the identity functor, and explains that it takes a value and returns a value. The identity functor is founded on category theory, which states that functional programming necessitates both composition and identity.
  • Composition Architecture
    Brian compares working with one big function that does all the work with little functions that represent small functionalities from a given application, and says that this course will focus on composition involving multiple small functions.
  • Normalize Effect Types
    Brian explains that normalizing the effect types within the app is a good guiding principle to allow every element within the app to compose, and says that different ways to solve this issue will be reviewed in the next sections.

Semigroups & Monoids

Section Duration: 1 hour, 17 minutes

Function Modeling

Section Duration: 1 hour, 31 minutes

Monadic Web Apps

Section Duration: 59 minutes

Wrapping Up

Section Duration: 3 minutes
  • Wrapping Up
    Brian wraps up the course, explains that the purpose of this class was to give examples of functional architecture that can be reused at work, and explains when to use JavaScript vs when to use TypeScript in functional architecture.