Vue.js: Advanced Features from the Ground Up
WEBRip | English | MP4 + Project Files | 1920 x 1080 | H264 ~1000 kbps | 29.97 fps
AAC | 127 Kbps | 48.0 KHz | 2 channels | 3h 48mn | 1.15 GB
Genre: Video Tutorial
Learn from Evan You the creator of Vue.js - how to build more accessible routing, state management, form validation and internationalization libraries from the ground up! This course is for developers who have some experience with Vue.js and want to understand its internals better so they can author your own Vue plugins and use Vue more effectively.
You'll build simple versions of advanced features of Vue.js from the ground up composing basic Vue features. This course will help you better understand the nature of common problems and how to better leverage Vue's reactivity system to come up with elegant solutions.
Advanced Vue.js Features from the Ground Up
Introduction
00:00:00 - 00:02:50
Introduction
Introducing Reactivity
00:02:51 - 00:08:27
Introducing Reactivity
After clarifying the term reactivity in the context of working in Vue.js as changing the state and how the state reflects the update the DOM system, Evan walks through a simple example of how Vue.js's rendering system works.
Challenge 1: Getters and Setters
00:08:28 - 00:13:39
Challenge 1: Getters and Setters
Evan reviews Object.defineProperty() and its get and set functions. In this challenge, students implement observe() and autorun(), which triggers re-computation when object is mutated. -
Challenge 1: Solution
00:13:40 - 00:23:49
Challenge 1: Solution
Evan provides a starting point to the Challenge 1 by showing dependency tracking, when an inner update function executes, the dependency class has access to the currently active update.
Challenge 2: Dependency Tracker
00:23:50 - 00:26:35
Challenge 2: Dependency Tracker
Evan walks through the solution to Challenge 1.
Challenge 3: Mini Observer
00:26:36 - 00:29:01
Challenge 3: Mini Observer
In this challenge, students combine the previous two solutions to create a mini observer.
Writing Plugins
Introducing Writing Plugins
00:29:02 - 00:32:54
Introducing Writing Plugins
After reviewing a high-level understanding, Evan examines the makeup of a Vue plugin. - -
Challenge 4: Writing a Simple Plugin
00:32:55 - 00:37:02
Challenge 4: Writing a Simple Plugin
In this challenge, students write a plugin that teaches Vue components to handle a custom "rules" option.
Challenge 4: Solution
00:37:03 - 00:41:38
Challenge 4: Solution
Evan walks through the solution to Challenge 4.
Render Functions
Introducing Render Functions
00:41:39 - 00:44:50
Introducing Render Functions
Evan illustrates how Render Functions help in the process of managing state by tracking changes from DOM and virtual DOM.
Virtual DOM
00:44:51 - 00:50:41
Virtual DOM
Evan reviews virtual DOM, which is a lightweight representation of what actual DOM should like at a given point in time. Virtual decouples rendering logic from actual DOM allowing rendering capabilities in non-browser environments such as server-side and native mobile rendering. -
Putting Everything Together
00:50:42 - 00:53:07
Putting Everything Together
Evan illustrates how to render function and reactivity work together.
JSX vs. Templates
00:53:08 - 00:55:32
JSX vs. Templates
While templates are the default API, Evan explains why Vue.js supports both templates and JSX in reviewing their respective benefits.
Render Function API
00:55:33 - 01:03:16
Render Function API
Evan reviews the Render Function API by examining a component with an "h" function. The "h" function is a convention based on hyperscript, a method for writing HTML through JavaScript. Evan takes questions from students. - -
Challenge 5: Dynamically Render Tags
01:03:17 - 01:06:17
Challenge 5: Dynamically Render Tags
In this challenge, students implement an example component to render HTML output.
Challenge 5: Solution
01:06:18 - 01:10:47
Challenge 5: Solution
Evan walks through the solution to Challenge 5.
Challenge 6: Dynamically Render Components
01:10:48 - 01:11:54
Challenge 6: Dynamically Render Components
In this challenge, students iterate through implementations of rendering a component.
Challenge 6: Solution
01:11:55 - 01:23:17
Challenge 6: Solution
After discussing functional components prompted by a student question, Evan walks through the solution to Challenge 6.
Challenge 7: Higher-Order Components
01:23:18 - 01:29:09
Challenge 7: Higher-Order Components
In this challenge, students create a helper that takes an inner component that expects prop and returns a higher-order component.
Q&A: Higher-Order Components
01:29:10 - 01:32:11
Q&A: Higher-Order Components
Evan takes questions from students about mixins and higher order component.
Challenge 7: Solution
01:32:12 - 01:45:12
Challenge 7: Solution
Evan walks to the solution to Challenge 7 and takes questions from students. Then Evan adds a class to util.js that will be needed later.
State Management
Introducing State Management
01:45:13 - 01:53:14
Introducing State Management
Evan reviews the problems and evolution of state management as applications grow in more complexity. -
Challenge 8: Passing Props
01:53:15 - 01:56:10
Challenge 8: Passing Props
In this challenge, students pass props to control states in small component structures.
Challenge 8: Solution
01:56:11 - 01:57:35
Challenge 8: Solution
Evan walks through the solution to Challenge 8.
Challenge 9: Shared Object
01:57:36 - 01:59:17
Challenge 9: Shared Object
In this challenge, students create a counter component where all its instances share the same count state.
Challenge 9: Solution
01:59:18 - 02:01:39
Challenge 9: Solution
Evan walks through the solution to Challenge 9.
Challenge 10: Shared Instance
02:01:40 - 02:02:32
Challenge 10: Shared Instance
In this challenge, students employ a Vue instance as a shared store.
Challenge 10: Solution
02:02:33 - 02:09:16
Challenge 10: Solution
Evan walks through the solution to Challenge 10.
Challenge 11: Mutations
02:09:17 - 02:11:31
Challenge 11: Mutations
In this challenge, students use a Vue instance to fit the API requirements.
Challenge 11: Solution
02:11:32 - 02:15:13
Challenge 11: Solution
Evan walks through the solution to Challenge 11.
Challenge 12: Functional
02:15:14 - 02:21:40
Challenge 12: Functional
In this challenge, students manage state with functional JavaScript.
Q&A: Type-based API and Nested Objects
02:21:41 - 02:25:03
Q&A: Type-based API and Nested Objects
Evan takes questions from students about type-based API and nested objects.
Challenge 12: Solution
02:25:04 - 02:33:02
Challenge 12: Solution
Evan walks through the solution to Challenge 12.
Routing
Challenge 13: Basic Hash Router
02:33:03 - 02:35:38
Challenge 13: Basic Hash Router
In this challenge, students build a simple hash routing system.
Challenge 13: Solution
02:35:39 - 02:38:52
Challenge 13: Solution
Evan walks through the solution to Challenge 13.
Challenge 14: Route Table
02:38:53 - 02:40:22
Challenge 14: Route Table
In this challenge, students implement a route table.
Challenge 14: Solution
02:40:23 - 02:43:53
Challenge 14: Solution
Evan walks through the solution to Challenge 14.
Path to Regular Expressions
02:43:54 - 02:52:22
Path to Regular Expressions
Evan illustrates the need to convert a path string such as `/user/:username` using regular expressions for web applications to use. -
Challenge 15: Dynamic Routes
02:52:23 - 02:54:43
Challenge 15: Dynamic Routes
In this challenge, students create a dynamic routing system with regular expressions.
Challenge 15: Solution
02:54:44 - 03:05:56
Challenge 15: Solution
Evan walks through the solution to Challenge 15.
Form Validation
Markup-based vs. Model-based
03:05:57 - 03:08:04
Markup-based vs. Model-based
Evan reviews form validation in markup-based and model-based different styles. - -
Validation Library
03:08:05 - 03:24:34
Validation Library
Evan creates a simple model-based form validation library.
Internationalization
Internationalization Approaches
03:24:35 - 03:28:32
Internationalization Approaches
Evan introduces three approaches to add internationalization to Vue applications. -
Internationalization Plugin
03:28:33 - 03:33:41
Internationalization Plugin
Evan demonstrates how to set up an internalization plugin.
Wrapping Up Advanced Vue.js
Q&A: Onboarding Speed and Web Components
03:33:42 - 03:42:10
Q&A: Onboarding Speed and Web Components
Evan takes questions from students about onboarding speed and how important it is when selecting a framework, leveraging features in web components, and when to use Vuex.
Q&A: SSR and Vue Custom Element
03:42:11 - 03:48:19
Q&A: SSR and Vue Custom Element
Evan reviews the benefits of Server Side Rendering (SSR), Vue Custom Element, and future of Vue.js. -
Wrapping Up
03:48:20 - 03:49:22
Wrapping Up
Wrapping up the "Advanced Vue.js Features from the Ground Up" course, Evan talks about financial sponsorship of Vue.js help move the open source project forward.
Screenshots Download link:
Só visivel para registados e com resposta ao tópico.Only visible to registered and with a reply to the topic.Links are Interchangeable - No Password - Single Extraction