Description
Become a functional programmer by building and testing web applications
Functional programming has been around for decades, but it only got adopted by the JavaScript community in recent years. The benefits of using functions as the building blocks of a language are manifold, and when it comes to JavaScript, the advantages are only exponential.
This Video Learning Path delivers the building blocks of the functional paradigm in a way that makes sense to JavaScript developers. We’ll look at animated visualizations that’ll help explain difficult concepts such as higher-order functions, lenses and persistent data, partial application, currying, ES6, asynchronous code with promises, and ES2017 async/await.
While we anchor these techniques into your mind with the practical usage, you will also learn about techniques to write maintainable software, test-driven development, top-down design, and bottom-up design. Finally, we will use Mocha and Chai to write unit tests for the functional part of the applications.
By the end of this Video Learning Path, you will get a hands-on functional application development experience.
For this course, we have combined the best works of this esteemed author:
Michael Rosata has been a professional JavaScript Developer for 4 years now. He started building web pages. He has worked on a couple of large web apps using JavaScript as well as Apache Cordova. He loves the JavaScript ecosystem and the web community and adopted functional programming as his passion.
Zsolt Nagy is a web development team lead, mentor, and software engineer living in Berlin, Germany. As a software engineer, he continuously challenges himself to stick to the highest possible standards when improving his own knowledge. The best way of learning is to create a meaningful product on the way.
Basic knowledge
You should have basic JavaScript knowledge
You should have Node installed on your system (version>=6.9.0)
What will you learn
Understand pure functions and how to refactor impure functions
Work with nested immutable data with lenses using Ramda
Write pure functions to model the DOM and then drop JSX on top of it
Build JSX & Virtual DOM into functional ES2017 apps without using React
See how to rewrite nested asynchronous callbacks with generator functions in a linear fashion
Understand how to model and use infinite sequences with lazy evaluation
Unit test your functional code with Mocha and Chai using test-driven development
Understand the theoretical background of wrapped sets in jQuery, the map function, and flatMap