Learning Path: Modern Web Apps With Functional Javascript
Last updated 3/2018
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.24 GB | Duration: 11h 45m
Last updated 3/2018
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.24 GB | Duration: 11h 45m
Master professional web application development with functional JavaScript
What you'll learn
See how impurities break that modal and how to isolate them
Create reusable functions by writing higher-order functions
Write more declarative and expressive code without loops
Create your own higher-order functions to replace native JS Array methods
Build JSX & Virtual-DOM into functional ES2017 apps without using React
Discover the simplicity of FP Types that can handle the most difficult application concerns
Learn to use Google Firebase and add Real-Time NoSQL power to a web-app
Integrate professional functional code into JSX, React and Redux style web-apps
Understand how basic functional programming concepts are woven into rich declarative JavaScript
Build a web app with JSX and Virtual-DOM
Requirements
Prior working experience of functional JavaScript is needed
Description
JavaScript is a multi-paradigm language, meaning that it supports programming in many different patterns. Functional programming has been around for decades, but it overtook the JavaScript community in recent years. The impact is undeniable and yet with all the material available it still isn’t always easy to growsss. It is the technique of building software by constructing pure functions, avoiding shared state, mutable data, and side-effects. Functional programming is analytical and the application state flows through pure functions. If you're interested to learn the concepts required to be a functional programmer and write functional web-apps using modern JavaScript, then go for this Learning Path.
Packt’s Video Learning Paths are a series of individual video products put together in a logical and stepwise manner such that each video builds on the skills learned in the video before it.
The highlights of this Learning Path are:
Understand pure functions and how to refactor impure functions
Learn to handle management patterns like React and DOM events
Elevate yourself to a level of comfort writing production level functional apps
Let’s take a quick look at your learning journey…
The primary idea of this Learning Path is to help you build code to run your App in Functional JavaScript.
This Learning Path delivers the building blocks of the functional paradigm in a way that makes sense to JavaScript developers. Animated visualizations help explain difficult concepts such as higher-order functions, lenses and persistent data, partial application and currying and then write code so you understand concepts before trying to apply the knowledge.
In this Learning Path you’ll learn techniques like combining smaller units of code into composition pipelines. You’ll learn how to reason about these composed functions and learn the laws of compositionality to deal with common issues that come along when writing compositional logic. You’ll continue building code that mirrors popular framework thinking. Students will learn how to create a state management pattern like React and how to handle DOM events (and other I/O) by encapsulating logic inside generic containers.
Finally, you’ll learn about maybe, either, future and even reactive streams with observables to write asynchronous code that looks more like synchronous FP.
After completing this Learning Path, you’ll have learned the concepts required to be a functional programmer and write functional web-apps using modern JavaScript.
Meet Your Expert:
We have the best work of the following esteemed author to ensure that your learning journey is smooth:
Michael Rosata is a professional JavaScript developer and the author of three courses on Functional JavaScript. He’s written multiple JavaScript applications for internal use at large companies. Michael is the founder of the Massachusetts Web Devs meetup. He has a great passion for learning, and teaching. You can find him answering questions in the Ramda gitter channel or at michael.rosata@gmail.com. I’d like to thank my family for giving me the opportunity to explore things I enjoy learning, and to the team at Packt Publishing, especially Sunny Kandre and Anish Dsouza for making this course possible.
Overview
Section 1: Learn to Write Functional Javascript
Lecture 1 The Course Overview
Lecture 2 The Unbreakable Function
Lecture 3 Thinking of Functions in Terms of Their Return Values
Lecture 4 How to Identify and Encapsulate Impurities within Our Programs
Lecture 5 Promoting Reusability with Higher-Order Functions
Lecture 6 Replacing Loops with Higher-Order Functions
Lecture 7 A Better Way to Map and Filter
Lecture 8 Reasoning with Reduce
Lecture 9 Rendering UI Components with Higher-Order Functions
Lecture 10 What Partial Application and Curry Mean?
Lecture 11 Improving Higher-Order Functions with Partial Application
Lecture 12 Writing a Utility to Curry Functions
Lecture 13 Combining Map, Filter, and Reduce with Curried Functions
Lecture 14 Understanding Mutable and Immutable Data
Lecture 15 Simplifying Immutability Using Lenses
Lecture 16 Rendering Our Data into the DOM
Lecture 17 Using JSX and Virtual-DOM for Readability and Performance
Section 2: Building Declarative Apps using Functional Javascript
Lecture 18 The Course Overview
Lecture 19 Connecting Functions with Basic Composition
Lecture 20 Implementing N-length Composition with Reduce
Lecture 21 Formalizing Types with Hilney-Milner
Lecture 22 Refactoring Using Laws of Compositionality
Lecture 23 Combinators
Lecture 24 Tap to Inspect Composition
Lecture 25 Non-linear Composition Using Join Combinators
Lecture 26 Using Combinators with Partially Applied Higher-order Functions
Lecture 27 Encapsulate I/O Using Generic Containers
Lecture 28 Lazy Evaluation Using Generic Containers
Lecture 29 Connecting Impure Code to Pure Composition
Lecture 30 Overview and Benefits of a Single Object State
Lecture 31 Build a Functional Data Store Like Redux
Lecture 32 Create a History of Changed State to Rewind/Fast-forward The App
Lecture 33 Link Events in App to Actions on the Data Store
Section 3: Mastering Your Web Application Using Functional Javascript
Lecture 34 The Course Overview
Lecture 35 Introduce Functors to Encapsulate Data in Composition
Lecture 36 Functors Laws
Lecture 37 Introducing the Monad, Big Sister to the Functor
Lecture 38 I/O Monad
Lecture 39 Implementing the Maybe Monad
Lecture 40 Unexpected Values Within Composition
Lecture 41 Implementing the Either Monad
Lecture 42 Left or Right (Handling Errors)
Lecture 43 The Promise as a Monad
Lecture 44 Task Monad
Lecture 45 Streams
Lecture 46 Logging into Google Firebase
Lecture 47 Registering an App and Grabbing The API Key
Lecture 48 Add Quick Rules and Mock Data to Firebase
Lecture 49 Adding Firebase to the App
Lecture 50 Add a Stream to Connect Firebase to App Data Store
Lecture 51 Update Firebase From DOM Events in App
Lecture 52 Show How App is Updating in Real Time From Firebase
Lecture 53 Talk About Testing With Functional Programming
This Learning Path is designed for JavaScript developers who want to learn functional programming concepts and how to apply them in modern web-apps.