Mastering Functional JavaScript Libraries [Video]

More Information
  • Learn how to use Underscore, LoDash, and Lazy.js as well as the ins and outs of using immutable data structures with Immutable.js
  • Learn the basics of using functional programming languages that compile to java script: Scala, Elm, PureScript, and ClojureScript
  • Link functional programming principles with their implementations in different libraries
  • Implement a web application with LoDash and RxJS
  • Understand functional reactive programming in depth and how to connect your application with the Slack API
  • Master several refactoring steps to get an idea of how to make your code more maintainable

The goal of this course is to give you hands-on experience with JavaScript functional programming libraries. You will discover throughout the course how easy it is to apply functional programming concepts in practice.

In the first section, you will learn how different functional programming libraries implement automatic currying, partial application, lazy evaluation, higher-order functions, promises, cloning, chaining, function composition, and immutable data structures. You will execute code in Underscore.js, LoDash, Lazy.js, Ramda.js, Immutable.js, Scala, Elm, PureScript, and ClojureScript.

In order to learn how to use functional programming libraries in depth, in the second and third sections you will learn how to implement two web-applications using LoDash and RxJS.

The LoDash application shows you how to process matrixes with LoDash, by implementing a Sudoku game in JavaScript. We will model the Sudoku table with LoDash, collect all the constraints of the table, and validate it. The Sudoku table will be rendered using Underscore templating, and DOM events will help you manipulate state space with user interactions.

The third section introduces functional reactive programming using RxJS. Functional reactive programming deserves its own section, as it is a comprehensive topic providing you with a different developer experience from most of the other functional programming libraries. After learning the fundamentals of functional reactive programming and RxJS, you will learn how to put the theory into practice by implementing a web application. This web application uses the Slack API to monitor the activity of different Slack channels. Beyond submitting Ajax requests, you will also learn how to use web sockets to display live updates on your site using event streams.

Style and Approach

Expect a smooth action-packed course. Your time is valuable, so expect no clutter. Code examples will illustrate all important concept in the course and encourage you to implement them yourself, guided by the course. You will also learn how to implement web applications that go beyond small introductory examples. This course will show you how to get started with implementing web applications on your own, how to make modeling decisions, and how to structure your code.

  • Apply functional programming principles to implement complex JavaScript applications as well as introductory examples using functional programming libraries
  • Learn functional reactive programming with RxJS in practice by implementing an application that interacts with the Slack API.
  • Practice learning any JavaScript functional programming library quickly, including Underscore, LoDash, Lazy.js, Ramda.js, and Immutable.js.
  • Understand the basics of functional programming languages that compile to JavaScript.
  • Develop two web applications with the help of functional programming libraries.
Course Length 2 hours 47 minutes
ISBN 9781788292429
Date Of Publication 28 Jul 2017


Zsolt Nagy

Zsolt Nagy is an engineering manager in an ad tech company heavy on data science. After acquiring his MSc in inference on ontologies, he used AI mainly for analyzing online poker strategies to aid professional poker players in decision making. After the poker boom ended, he put extra effort into building a T-shaped profile in leadership and software engineering.