Oreilly - Implementing and Testing Applications using Functional JavaScript
by Zsolt Nagy | Released June 2017 | ISBN: 9781788291743
See how to build and test your application using functional programmingAbout This VideoConfigure and structure a web application written in the functional styleLearn the ins and outs of unit testing a functional web application with popular automated testing librariesOptimize the performance of your applications using functional programmingUnderstand functional programming by learning about concepts in a simple and practical wayIn DetailYou will get an in-depth overview of how to handle asynchronous code with promises, generator functions, and the ES2017 async-await construct. These tools will help you set up communication with a server via an API later, when implementing a web application.Lazy evaluation will allow you to optimize performance of retrieving a collection of data, where you may need to process and retrieve just a fraction of the available elements. This powerful technique will not only allow you to write performant code, but it also makes it possible for you to handle infinite sequences.We will also implement a web application together, demonstrating the practical usage of most of the features you learned in this course, and in the previous volume of this course, Deep Dive into Functional JavaScript. You will see higher order functions, currying, partial evaluation, recursion, ES6, asynchronous code with promises and ES2017 async-await, and many more language construct and functional programming ideas in practice. While we anchor these techniques into your mind with the repeated practical usage, you will also learn about techniques to write maintainable software: test driven development, top-down design, and bottom-up design. We will use Mocha and ChaiJs to write unit tests for the functional part of the application Show and hide more
- Chapter 1 : Bridging Functional Programming Theory and Practice
- The Course Overview 00:04:07
- Functors in JavaScript 00:08:43
- Monads 00:07:06
- Chapter 2 : Asynchronous Code and Promises in Depth
- Escaping the Pyramid of Doom 00:09:50
- ES6 Promises and Functional Programming 00:14:10
- Asynchronous Functional Programming with ES6 Generator Functions 00:10:58
- Functional Programming with Async-Await 00:07:16
- Chapter 3 : Lazy Evaluation
- What Is Lazy Evaluation? 00:10:30
- Using ES6 Generator Functions for Evaluating Lazy Sequences 00:09:22
- Chapter 4 : Implementing a Web Application Using Functional Programming
- Introduction 00:04:41
- Weather App 00:04:23
- Application Setup 00:06:05
- Bottom-Up Design Using Test Driven Development 00:12:31
- Bottom-Up Design and TDD (Continued) –Parsing the Response 00:06:41
- Handling Timezones 00:15:19
- Getting Weather Data with Promises and Async-Await 00:11:53
- Rendering the Weather App 00:06:51
- Course Summary and Next Steps 00:05:49
Show and hide more