- [Instructor] Over the next several videos,
we're going to talk about some of the conceptual aspects
of working with Vue, as well as the practical.
Let's start with some basic questions and answers.
First, what is Vue?
It's a JavaScript library for creating user interfaces,
and specifically identifies as progressive.
Now progressive web apps is its own set of terminology.
When Vue talks about being progressive,
it means you can take your existing site
and add Vue onto it easily without having
to make a lot of changes.
So who uses Vue?
The Laravel project, which is a very popular php framework,
is where I personally first heard about Vue,
and I think that's probably true for a lot of developers
who use both JavaScript and php.
If you want to do front-end work in your Laravel php apps,
Vue is what you're encouraged to use,
and that has driven adoption to an extent.
Vue is also used at places like MIT, NBC Sports, Trustpilot,
among other large brands.
The main attraction to me, though, is that Vue seems
to be most popular with smaller businesses.
It doesn't have the same degree of usage and popularity
as React, but it's gaining, and the fact that it's
so approachable makes it very popular for people working
on smaller projects.
Okay, so where does Vue work?
Vue requires ECMAScript 5, which is pretty much
any web browser these days, except for older versions
of Internet Explorer.
Vue supports rendering components on the server
using the library vue-server-renderer,
so you can serve any page that uses Vue
with its components fully rendered as html,
letting the browser take over from there.
There are also frameworks for building native apps with Vue.
Weex and NativScript are the main ones as of this recording.
This is one area where Vue is not quite as far along
as React is with React Native,
but there are some very large companies
supporting these efforts, and I expect them
to continue to mature.
For our purposes today, though, we're mainly interested in
running Vue in the browser.
How do I work with Vue?
Well, pretty much any way you want.
You can build an entire site or app using Vue,
or you can just build one or more smaller pieces.
The one or more smaller pieces version
is what we'll be going with in this course.
What is Vue good for?
It's good for all the same things
that React or Angular are good for.
Making repeatable, reusable UI elements,
or displaying any kind of data that will change over time
as a user is interacting with a page.
And of course, if you want to build a site or an app
that's mostly or entirely JavaScript based, it works great.
And again, having built a site this way you can still
serve fully rendered html if you want to,
with JavaScript taking over after the initial download
for the smoothness and speed in the UI
that we expect from JavaScript.
And you can also use static site generators, like VuePress,
to create a Vue based site and prerender it
to static html files, so you don't have to deal with
running a node based web server.
One more note is that web components are different.
Web components are a set of web standards
for creating reusable components, which are just
starting to come together.
Vue derives some of its inspiration
from the nascent custom elements APIs,
which are part of the web component standard
for how it's built.
But when we talk about Vue components,
they're different from standard web components.
You can check out the course Learning Web Components
for more on this.