Web development courseware · 2 days

Professional Vue.js

Build a real-world front-end application with Vue.js: components and the Composition API, Vue Router, Pinia, Vitest and modern tooling, with an optional JavaScript review.

In this 2-day course, students will start with an optional review of advanced JavaScript, followed by the fundamental concepts and structures of Vue.js development. Students will use Vue.js to build a real-world frontend application through a series of hands-on labs.

Audience

This course is designed for experienced front-end web developers who wish to begin using Vue.js.

Objectives

After taking this course, students will be able to:

  • Install, configure, and use modern web tooling
  • Learn to create test suites for Vue with Vitest
  • Understand what Vue.js is and what problem it solves
  • Explore the basic architecture of a Vue.js application
  • Gain a deep knowledge of Vue.js components and the Composition API
  • Build a Single Page Application with Vue Router
  • Use Pinia for maintaining state in a Vue.js application
  • Learn Vue.js best practices

Topics

  • Modern JavaScript tooling
  • Debugging JavaScript
  • Object-oriented JavaScript
  • All the basic Vue capabilities and features
  • Communication between components
  • Data binding
  • Communication with the server via Ajax
  • State management with Pinia
  • Creating SPAs with Vue
  • Asynchronous JavaScript: promises, async/await (time permitting)
  • Animation and transitions in Vue (time permitting)

Prerequisites

Before taking this course, students should have solid experience with HTML5, CSS3, and JavaScript.

Outline

1. JavaScript Review (Optional)

  1. JavaScript Syntax
  2. JavaScript Data Types
  3. Variable Scoping
  4. JavaScript Operators
  5. Template Literals
  6. Functions
  7. Arrow Functions
  8. JavaScript Objects
  9. Prototypal Inheritance
  10. Default Parameter Handling
  11. Rest and Spread
  12. Tagged Template Literals
  13. Enhanced Object Properties
  14. Method Notation
  15. Array Matching
  16. Object Matching
  17. Symbol Primitive
  18. User-defined Iterators
  19. For-Of Operator
  20. Creating and Consuming Generator Functions
  21. Class Syntax
  22. Understanding this
  23. Array Methods
  24. Promises
  25. Async / Await

2. Vue.js

  1. Virtual DOM
  2. Lab 01: Get Started with Vite
  3. Lab 02: Your First Component
  4. Lab 03: Create More Components
  5. Lab 04: Testing Vue
  6. Lab 05: Manual In-Browser Testing and Debugging
  7. Creating and Mounting an App
  8. The Composition API and <script setup>
  9. Vue Template Syntax
  10. Vue.js Directives
  11. Reactivity Fundamentals
  12. Loops and Lists
  13. Lab 06: Static Version
  14. Binding HTML Classes
  15. Adding Styles Conditionally
  16. Binding Styles
  17. Outputting Raw HTML
  18. Lab 07: Styling Vue Components
  19. Computed Properties
  20. Lab 08: Computed Properties
  21. Reactive State with ref and reactive
  22. Lab 09: Methods and State
  23. Event Handling
  24. Lab 10: Events
  25. Watchers
  26. Component Lifecycle
  27. Using Lifecycle Hooks
  28. Composables (replacing Mixins)
  29. Lab 11: Component Lifecycle
  30. Vue and Forms
  31. Lab 12: Forms
  32. Vue Components
  33. Content Distribution with Slots
  34. Lab 13: Slots
  35. Using Pinia
  36. Lab 14: Implementing Pinia
  37. Creating an SPA with Vue Router
  38. Lab 15: Routing
  39. Lab 16: AJAX with Pinia
  40. Transitions and Animations
  41. Optional Lab: Transitions and Animation