O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Mastering Functional JavaScript Libraries

Video Description

Master the art of Web application development using popular functional Javascript Libraries

About This Video

  • 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.

  • In Detail

    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.