We may earn an affiliate commission when you visit our partners.
Course image
Anthony Gore

If you're looking to learn and master Vue.js with an expert instructor, look no further than Vue.js Essentials.

Read more

If you're looking to learn and master Vue.js with an expert instructor, look no further than Vue.js Essentials.

In this series of three courses, you'll build three real-world Vue.js apps that take you from the very basics of Vue to the cutting edge.

With over 6000 past students, this course bundle includes 10 hours of high-quality video with English closed captions.

Keep reading to see what's included...

Course 1: Build Your First Vue.js App

This first course is an introduction for those who've never used Vue.js or who need to brush up on the basics.

We'll cover key Vue concepts such as:

  • Installing Vue

  • Adding Vue to a web page

  • Template syntax (interpolations and directives)

  • Lifecycle hooks

  • Transitions

And more.

The best way to learn is by doing, so we'll put this theory into practice and build a simple but powerful eCommerce user interface complete with products and a shopping cart called Vue.js Poster Shop.

Course 2: Build A Vue.js Single-Page App with Vue Router

Now that you know the basics of Vue, you're ready to learn Vue's most powerful features.

By the end of this second course, you'll be able to build a high-performing, feature-rich Vue.js app using the single-page application (SPA) architecture.

Topics covered in this course include:

  • Components

  • Vue Router

  • Slots

  • Single-file components

  • Custom plugins and directives

  • Webpack configuration for Vue.js projects

And more.

Together, we'll build a movie session times app called Vue.js Cinema that, unlike the app from the first course, includes multiple pages managed with Vue Router.

Building this app will introduce you to the power and versatility of components-based app design. You'll also learn how to utilize Webpack for an enhanced Vue development experience.

Course 3: Build A Professional Vue App with Vuex & Server-Side Rendering

Are you ready to become a Vue expert?

Now that you're comfortable building Vue.js SPAs, you're ready for Vue's advanced concepts.

In this course, I'll show you the tools and techniques that front-end experts use to build highly optimized, high performing web UI.

Firstly, we'll cover the Vuex state management pattern, which is a special method for storing data in your app that's essential for bigger and more complex sites. We'll then set up server-side rendering (SSR) from scratch. This is where we compile our app on the Node.js server in order to drastically improve page load time.

The case-study project for this course is our most ambitious yet; a Google Calendar clone called Vue.js Cinema that utilizes Vuex, SSR and a host of other optimizations.

Enroll now

What's inside

Learning objectives

  • Understand all vue concepts from beginner to advanced
  • Build three real world applications using vue.js utilising every vue feature
  • Use the vuex statement management library
  • Write basic vue with es5 and also modern vue with es6
  • Setup vuejs environment with development tools including webpack
  • Create a universal application with server-side rendering
  • Use popular plugins from the vue ecosystem like vue-router and vue-resource
  • Cutting-edge features like single file components, render functions and server-side rendering

Syllabus

Introduction & Crash Course
Introduction overview
What is Vue.js?
What can you build with Vue.js?
Read more
What do I need to know before learning Vue.js?
Vue basic feature crash course
Advanced features
Ecosystem tools
Vue.js frameworks and plugins
Framework comparison
Vue.js Essentials preview
Build Your First Vue.js App - Introduction

Welcome to Build Your First Vue.js App. This is a hands-on course for web developers who've never used Vue.js before, or want to brush up on the fundamentals.

My name is Anthony Gore and I'll be your instructor on this course. Let me tell you a little bit about it!

In this course we're going to cover many of the fundamental features of Vue, including stuff like:

  • Installing Vue

  • Adding Vue to a web page

  • Creating Vue data and methods

  • Template syntax

And so on.

We'll also build a simple app called Vue.js Poster Shop, which will allow you to practice all the theory you've learned in a real-world app.

Let's take a look at the finished product so you can get a sense of what you're going to be able to do with Vue by the end of the course.

Demo of the finished product

This is Vue.js Poster Shop. It allows you to search for a kind of poster you might want to buy. For example, here's a search for "cat", because who doesn't want a poster of a cat, right?

If you're more of a dog person, though, you can use the search bar at the top and search for that.

Cart

When you see a poster you want to purchase, you can add it to the cart like that.

From the cart, you can increase the quantity of an item if you want more than one. You can also decrease the quantity, and if you decrease it to 0, it's going to be removed from the cart entirely.

So you can see we have complete shopping cart functionality here, and you'll be surprised at how easy it is to do all this with Vue.

Scroll loading

There are also a variety of other subtle features of the app that give it a really nice user experience.

One I'll show you now is the scroll loading feature.

So you can see from the message at the top of the page that a search for "cat" has returned 11 results.

As I start to scroll down the page to view the results, notice the scroll bar over here on the right of the page.

You'll see that it suddenly jumps up as I scroll toward the bottom of the results.

The reason is that not all 11 of the results are added to the page at once; in fact, only 4 are added at a time, and more get added as we keep scrolling.

This feature that makes the page load faster and run smoother.

You'll be able to advanced Vue.js features like this by the end of the course as well.

Build Your First Vue.js App - Setting up the project
Starter code installation
Running the server and viewing the project
Touring the project files
Build Your First Vue.js App - Up and running with Vue
Including Vue in the project
Creating an instance of Vue
Rendering data on the page
Understanding directives
Adding a method
Rendering the list of products
Adding key to iterated products
Build Your First Vue.js App - Building the shopping cart
Creating the cart
Understanding reactivity
Vue Devtools
Adding products to the cart
Displaying cart items
Hiding cart if empty
Adding quantity to cart items
Cart items quantity logic
Understanding filters
Formatting price
Adding quantity buttons to template
Implementing inc and dec logic
Build Your First Vue.js App - Adding product search
Adding search button
Adding search input
Overview of vue-resource
Overview of API
Adding vue-resource to project
AJAX call for products
Build Your First Vue.js App - Building the product list
Replacing dummy items
Adding product image & price
Adding search result count to product list
Adding the loading message
Understanding lifecycle hooks
Default search on page load
Understanding transitions
Fading in cart total
Fading in cart items
Build Your First Vue.js App - Scroll loading products
How scroll load works
Adding a sensor element
Scroll monitor setup
Triggering code with scroll monitor
Appending items
Fixing search results
Build Your First Vue.js App - Adding finishing touches
Loading indicator with v-cloak
Build A Vue.js Single-Page App with Vue Router - Introduction
Introduction
Build A Vue.js Single-Page App with Vue Router - Overview & setup

Demo the completed app features:

  • Overview
  • Filters
  • Detail page
  • Route
  • keep-alive
  • Responsive app, day selector
  • Tooltips
  • Demonstration of OMDB API
  • Visit Github project
  • Clone repo
  • npm install
  • Open code in IDE
  • Customising .env file
  • Examine start and build scripts in package.json
  • Start server with npm run start
  • Exit server with Ctrl+C
  • Public folder used for favicon and logo
  • src folder is main working folder
  • Sass/CSS is already provided
  • Overview of server.js which uses Node Express
  • Overview of API module
  • Examine webpack config entry and output and loaders
  • Test webpack by running a build
  • Test babel loader
  • Test SASS import and style loader
  • Discussion of webpack middleware
  • Discussion of hot module replacement middleware
  • Import Vue package into script
  • Create Vue instance with hello world message as a data property
  • Render message in index.html file
  • Import style file for CSS
Build A Vue.js Single-Page App with Vue Router - Setting up components
  • Discussion of components
  • Components extend basic HTML elements
  • Components are mini instances of Vue
  • How to register a component
  • Components make it easier to architecture app
  • Examine the DOM of the finished product to understand hierarchy components of app
  • Delete hello world from app
  • Add components movie-list and movie-filter and provide basic template
  • Add mock data to movie-list component
  • Discussion of why data option in a component should be a function that returns an object
  • Render mock data in template
  • Discussion of why hot module replacement doesn’t work in Vue components out of the box
  • Demonstrate filters on finished app
  • Examine component hierarchy diagram
  • Create nested component check-filter
  • Add genres object from util file
  • Loop through genres object and create corresponding filters
Build A Vue.js Single-Page App with Vue Router - Filters
  • How do components share data? With props
  • Props are custom HTML properties
  • Passed from parent to child only. One way flow.
  • Props can be dynamic by using v-bind
  • Add prop to check-filter
  • Bind prop on parent (movie-filter)
  • Flesh out check-filter component with more markup and classes
  • Add data function to check-filter with data property checked
  • Listen to click and toggle checked property
  • Bind object to class attribute allowing dynamic active class
  • Custom events allow child components to communicate data change to parent
  • Use $emit instance method in child
  • Parent listens using v-on directive
  • Examine component hierarchy slide and discuss prop/event relationships between components
  • check-filter emits custom event when component is clicked
  • Received by movie-filter
  • Available from Chrome Store
  • Discussion of component tab. Shows hierarchy and data properties
  • Discussion of events tab. Logs events and their payload
  • Event can’t be sent directly to root, must go via movie-filter
  • Now emit from movie-filter and receive in root instance
  • Send a payload from check-filter in initial event including the category, the filter title and state
  • See it works with devtools
  • Receive payload in root instance
  • Add genre and time arrays to store checked filters
  • Respond to event by adding/removing filters to appropriate array
  • Observe reactive changes using console.log
  • Use component hierarchy diagram to explain how to get event from root instance down to movie list
  • Bind genre and time filter arrays to movie-list
  • Add genres to dummy movie data
  • Add filteredMovies computed property
  • Change in template and return movies
  • Add moviePassesGenreFilter method to filter movies based on genre filters
Build A Vue.js Single-Page App with... - Refactoring with single file components
  • Problems with components: a lot of configuration in one filter, template strings in Javascript
  • Single file components (SFC) uses .vue file
  • Includes HTML tags template, script and style
  • Requires a build tool like Webpack or Browserify
  • Use vue-loader if using Webpack
  • Hot module replace works with SFCs
  • Move each component from main file and put into own .vue file
  • .vue files use CamelCase file name
  • Need to import each file in main.js
  • Vue knows to convert CamelCase file name into kebab-case component name
Build A Vue.js Single-Page App with Vue Router - Getting data from API
  • Examine /api route. Easier to see with api_sample.json
  • Look at different data properties used from API
  • Examine api.js which calls OMDB API and also generates session times by algorithm based on ID
  • Get data from API using HTTP client library called Vue Resource
  • Add created hook on root instance
  • Use Vue Resource get method
  • Get method is Promise based and allows chained then
  • Add movies property to root instance and replace when API call completes
  • Add prop on movie-list
  • Movie data reactively updates movie-list
  • Remove dummy data
  • Update movie-list template to read correct title
  • movie-item job is to display movie data
  • movie-list is responsible for filtering movies
  • Generate movie-items for every movie object
  • Bind movie object to each movie-item via props
  • Display image
  • Component template requires a single root element
  • Update prop to just pass through nested movie property
  • Include title and ratings in template
  • Multiple comma separated genres are used in OMDB API
  • Split genre list using split method
  • Use forEach to iterate genre list
  • Genre filtering requires every selected genre to be present on movie item

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Introduces learners to Vue.js concepts from beginner to advanced, making it a great fit for learners of any experience level
Teaches three real-world Vue.js applications, which helps learners gain a practical understanding of how Vue.js is applied
Provides support for Vuex state management, Single File Components, and Server-Side Rendering which allows learners to enhance their Vue.js skills
Helps learners cover Vue.js basics, such as installing Vue, adding Vue to a web page, and templating syntax
Develops advanced Vue.js concepts, such as components, Vue Router, and slots, providing learners with the knowledge and skills for more complex Vue.js applications
Builds a foundation for beginners by starting with Vue.js basics and gradually introducing more advanced concepts

Save this course

Save Vue.js Essentials - 3 Course Bundle to your list so you can find it easily later:
Save

Reviews summary

Decent vue.js course

Learners say that this course provides good foundational Vue.js knowledge, has engaging lessons, and is a helpful introduction to the topic, although the instructor can be distracting at times.
Keeps you engaged.
"The lessons in this course are well-structured and engaging, which makes learning Vue.js fun."
Helpful for beginners.
"This course provides a great intro to Vue.js."
Rambles sometimes.
"The instructor rambles a bit too much."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Vue.js Essentials - 3 Course Bundle with these activities:
Review essential Vue.js concepts
Refreshes your understanding of key Vue.js concepts, such as reactivity, components, and data binding, ensuring a stronger foundation for the course.
Browse courses on Vue.js
Show steps
  • Revisit the basics of reactivity, including computed properties and watchers.
  • Review the fundamentals of Vue components, their lifecycle hooks, and event handling.
  • Explore data binding techniques, such as v-model and v-bind, to ensure a solid grasp of data flow.
Show all one activities

Career center

Learners who complete Vue.js Essentials - 3 Course Bundle will develop knowledge and skills that may be useful to these careers:
Front-End Developer
Front-End Developers are responsible for designing, creating, and maintaining the portions of websites and applications that users see and interact with. These professionals work with designers and other developers to implement the look and feel of a website or application, as well as its functionality. Knowledge of Vue.js is especially useful for Front-End Developers because it allows them to create complex and interactive user interfaces more easily. With this framework, they can build responsive and dynamic websites and applications that adapt to different devices and screen sizes.
JavaScript Developer
JavaScript Developers are responsible for developing and maintaining JavaScript code for websites and applications. These professionals work with other developers and designers to create interactive and dynamic web experiences. Knowledge of Vue.js is beneficial to JavaScript Developers because it allows them to create complex and interactive user interfaces more easily. With this framework, they can build responsive and dynamic websites and applications that adapt to different devices and screen sizes.
Front-End Engineer
Front-End Engineers are responsible for designing, creating, and maintaining the front-end of websites and applications. These professionals work with other engineers and designers to create user-friendly and visually appealing interfaces that meet the needs of the user. Knowledge of Vue.js is especially useful for Front-End Engineers because it allows them to create complex and interactive user interfaces more easily. With this framework, they can build responsive and dynamic websites and applications that adapt to different devices and screen sizes.
Web Developer
Web Developers design and create websites and applications for the internet or intranets. These professionals work closely with designers, content specialists, and end-users to define site requirements, create dynamic and interactive elements, and ensure that sites are user-friendly and visually appealing. Knowledge of Vue.js will be helpful to Web Developers especially if they want to work with content management systems (CMS), e-commerce platforms, or other web-based applications. Since Vue.js is a popular JavaScript framework used for building interactive web interfaces, those who master this tool will increase their value to an organization's development team.
Software Engineer
Software Engineers design, develop, test, and maintain software systems. These professionals work with other engineers, designers, and users to create software that meets the needs of the organization. Knowledge of Vue.js may be helpful to Software Engineers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
Interaction Designer
Interaction Designers are responsible for designing and creating the interactions between users and websites or applications. These professionals work with other designers and developers to create user-friendly and intuitive interfaces that meet the needs of the user. Knowledge of Vue.js may be helpful to Interaction Designers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
UI/UX Designer
UI/UX Designers are responsible for designing and creating the user interface (UI) and user experience (UX) of websites and applications. These professionals work with other designers and developers to create user-friendly and visually appealing interfaces that meet the needs of the user. Knowledge of Vue.js may be helpful to UI/UX Designers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
Product Designer
Product Designers are responsible for designing and creating the overall user experience of a product, including both the physical and digital aspects. These professionals work with other designers, engineers, and marketers to create products that meet the needs of the user. Knowledge of Vue.js may be helpful to Product Designers, especially those who work on web-based products. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging products.
Quality Assurance (QA) Engineer
Quality Assurance (QA) Engineers are responsible for testing and evaluating software to ensure that it meets the required standards. These professionals work with other engineers and developers to identify and fix bugs, as well as to improve the overall quality of the software. Knowledge of Vue.js may be helpful to QA Engineers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
Technical Writer
Technical Writers are responsible for writing and maintaining technical documentation, such as user manuals, white papers, and training materials. These professionals work with other engineers and designers to create documentation that is clear, concise, and easy to understand. Knowledge of Vue.js may be helpful to Technical Writers, especially those who write documentation for web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging documentation.
UX Researcher
UX Researchers are responsible for conducting research and user testing to evaluate the user experience of websites and applications. These professionals work with other designers and developers to create user-friendly and intuitive interfaces that meet the needs of the user. Knowledge of Vue.js may be helpful to UX Researchers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
Web Designer
Web Designers are responsible for designing and creating the visual appearance of websites. These professionals work with other designers and developers to create websites that are both visually appealing and user-friendly. Knowledge of Vue.js may be helpful to Web Designers, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging applications.
Data Analyst
Data Analysts are responsible for collecting, analyzing, and interpreting data to identify trends and patterns. These professionals work with other stakeholders to create data visualizations and reports, and to make recommendations for improvement. Knowledge of Vue.js may be helpful to Data Analysts, especially those who work on web-based data visualization tools. This framework can help them create complex and interactive data visualizations more easily, which can lead to more user-friendly and engaging reports and recommendations.
Business Analyst
Business Analysts are responsible for analyzing business processes and identifying opportunities for improvement. These professionals work with other stakeholders to define business requirements, create business cases, and develop solutions. Knowledge of Vue.js may be helpful to Business Analysts, especially those who work on web-based applications. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging solutions.
Project Manager
Project Managers are responsible for planning, coordinating, and executing projects. These professionals work with other stakeholders to define project requirements, create project plans, and track project progress. Knowledge of Vue.js may be helpful to Project Managers, especially those who work on web-based projects. This framework can help them create complex and interactive user interfaces more easily, which can lead to more user-friendly and engaging projects.

Reading list

We've selected seven books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Vue.js Essentials - 3 Course Bundle.
Comprehensive guide to testing Vue.js applications. It covers everything from unit testing to integration testing, and it's a great resource for developers of all levels.
Comprehensive guide to Vue.js for web developers. It covers the basics of the framework and provides step-by-step instructions for building real-world applications.
Collection of recipes that will help you solve common problems and implement advanced features in your Vue.js 2 applications. It's a great resource for experienced Vue.js developers who want to take their skills to the next level.
Covers design patterns for Vue.js applications. It provides practical guidance on how to solve common problems and implement best practices in your Vue.js projects. It's a great resource for experienced Vue.js developers who want to improve the quality and maintainability of their code.
Practical guide to building Vue.js applications. It covers all the essential topics, from setting up a development environment to building and deploying a production-ready application. It's a great resource for anyone who wants to learn how to build Vue.js applications.
Practical guide to building Vue.js applications. It covers common challenges and best practices, making it suitable for developers who want to improve their skills and build more efficient and scalable applications.
Shows you how to build large-scale Vue.js applications. It covers a variety of topics, including how to architect a Vue.js application, how to manage state in a Vue.js application, and how to test a Vue.js application.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Vue.js Essentials - 3 Course Bundle.
Quasar V1: Cross-Platform Apps (with Vue 2, Vuex &...
Most relevant
Vue.js 3 Fundamentals
Most relevant
Nuxt.js 2 - Vue.js on Steroids
Most relevant
Vue JS 2.0 - Mastering Web Apps
Most relevant
State Management with Vuex 4
Most relevant
Fundamentals of VueJS
Most relevant
Complete Vuejs Course: Vue.js + Nuxt.js + PHP + Express.js
Most relevant
Vue JS Essentials with Vuex and Vue Router
Most relevant
Vue - The Complete Guide (incl. Router & Composition API)
Most relevant
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser