State of Vue - Js 2019 PDF
State of Vue - Js 2019 PDF
State
Brought to you by Monterail
of Vue.js
2019 1
What’s Inside?
1 Preface 3
a Behance 27
Yuriy Nemtsov
c GitLab 31
Clement Ho
d Livestorm 33
Thibaut Davoult
4 Case Studies 35
a Fathom 37
c Laravel 54
2
STATE OF VUE.JS 2019 PREFACE
Preface
Vue.js has brought us business worth around €1M since we first adopted
it in 2016.
But financial stability isn’t the only thing that Vue has helped us with: hap-
piness among our employees has soared and so has our sense of community,
and the quality of the end results—all of which are priceless for a software
The first State of Vue.js report was downloaded over 8,000 times by people
from all around the world. The NPS (net promoter score) from that edition
equaled 8.3 which is an amazing score for a book like that. It was apparent
that such a report was needed and we thought it would be a good idea
Like its predecessor, this new, revised edition of the report was created
for three main reasons. One, it was to serve as a reliable source of Vue.
als who have never heard of Vue and provide them with good reasons
to give the framework a closer look. Three, with the report at our disposal,
we’d never again have to convince our clients that Vue.js is a ready-to-use
3
STATE OF VUE.JS 2019 PREFACE
But things have changed for Vue and it’s become much more stable
and comprehensive than it has been in 2017. Plus, we believe that start-
ups and SMBs have finally realized the power of Vue.js and understand
the value it brings. So we made it our mission to send the same message
already adopted the framework to great success—hence the IBM case study
With Vue in our tech stack we can efficiently deliver better prod-
ucts—it helps us drive our business and make clients happy, and so we
believe it deserves all attention and love. With that in mind, we embarked
the word about Vue. That’s how we ended up curating the week-
The report you’re reading is yet another milestone in that mission. It was
of Vue.js business use cases so anyone can get a sneak peek at how other
companies use Vue.js. Two, to reach more individuals who have never heard
of Vue and provide them with good reasons to give the framework a closer
look. Three, to never, ever again have to convince our clients that Vue.
of applications.
4
STATE OF VUE.JS 2019 PREFACE
er’s perspective on Vue. We surveyed over 1,500 specialists from all around
the world to find out their experiences with Vue, and what they like
and dislike about the framework the most. We also asked the companies
featured in the 2017 edition to provide an update on their journey with Vue.
js, and included four new case studies. Just like a year ago, we also included
a sneak peek of what’s coming next for Vue penned by Evan You, the creator
Szymon Korzeniowski
Head of Frontend
at Monterail
Contributors
We wouldn’t be able to pull this off if it wasn’t for them. Thank you for your
5
STATE OF VUE.JS 2019 PREFACE
6
How Developers
Use Vue.js?
7
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
L
ike its predecessor, the 2017 State of Vue report, this new, up-
an online survey, we sourced data from both software developers and Chief
• the reasons behind adding Vue to their tech stack and the doubts that ac-
Report Data
All data used to draft the report was collected in a survey conducted over a five-
mainly from software developers and Chief Technology Officers (88% of the re-
spondents held one of these roles) whose organizations currently use Vue.
We also asked Evan You, Vue creator, and Szymon Korzeniowski, Head
context.
We also asked Evan You, Vue creator and Chris Fritz, Vue Core Team mem-
8
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Key Insights
94%
of the survey participants used
the official documentation to
learn about Vue
75%
of the respondents pointed to
ease of integration as the big-
gest advantage of Vue.js
60%
of the survey participants be-
lieve Vue.js will become even
more popular within their orga-
nizations in the next 12 months
58%
decided to add Vue to their
tech stack because it’s a pret-
ty easy framework to start with
9
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Survey Questions
More than a half of the respondents describes Vue.js as easy to start with.
companies its adoption is usually driven by its its ease of integration with
existing CMSes.
THE MOST IMPORTANT REASON BEHIND ADDING VUE TO THE TECH STACK
Other 3%
of the respondents chose the same reason behind adding Vue.js to their
technology stack, implying that key adoption drivers have remained mostly
What were the doubts you and your team had when planning
to add Vue.js to your tech stack?
Almost 50% of the respondents say that lack of former Vue-related expe-
rience was their main doubt when planning to add Vue.js to the tech stack.
10
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
This number is pretty similar to the one we saw in 2017 when the answer
It bears noting, however, that in the span of nearly fifteen months that sep-
arated the two survey, trust in the future of the framework grew by nearly
19%
Doubts about its scalability
15%
14%
Other
12%
45%
Evan You
11
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
76%
Ease of integration
81%
75%
Great documentation 45%
45%
51%
Performance
56%
50%
Progressiveness
49%
36%
Highly involved community
29%
5%
Other
4% 45%
637 respondents (up from 481 in 2017) shared their suggestions through
the survey. Again, we decided to pool these comments and requests in order
Over 130 people pointed to Vue’s lack of a mobile solution as one of its big-
gest flaws. This was also the top suggestion the last time we ran this survey.
12
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Evan: NativeScript’s Vue integration is pretty solid now. Maybe not enough
people are actually aware of it because it’s not“official” - but I’ve only been
hearing good things about it from those who have tried it. And Progress
in it. In the hybrid app space, Quasar has really matured and is close to 1.0, plus
Ionic 4 is now fully compatible with Vue as well. So I believe we’ve got a solid list
of solutions for anyone wants to build mobile apps with Vue today.
50 replies mentioned the need for a bigger Vue ecosystem that would pro-
Evan: I think our current docs has been serving us really well so far. But
we do plan to revamp the docs together with 3.0—there’s always room for
42 of the pooled replies mention better testing tools and libraries’ need for
to today’s because the custom renderer API allows easy creation of custom
in enterprise apps. However, the last time we asked, this need was brought up by
67 people, so the decrease in this particular area seems to show that the number
13
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
1% 2% 5%
18% 74%
probability of them using Vue.js for their next project. A framework can
ask for no better review than that. Having this many developers with
undoubtedly impressive.
Last time we asked, 46% of the people we polled have been using Vue.
js for less than six months. This particular metric saw the biggest shift
14
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
dents declare to have between one and two years of experience with
Vue. This would indicate that those developers who started using Vue.
js during or just before our last survey decided to stick with it.
37%
1–2 years
19%
33%
0,5–1 year 45%
34%
19%
Less then 0,5 year
45%
11%
More than 2 years
2%
Like two years prior, the official documentation continues to be the most
15
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
LEARNING RESOURCES
Percentages do not sum up to 100% due to the multiple choices.
Official
94%
documentation
Conferences and
24%
meetups
Books 17%
Other 3%
Books 1%
16
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Over 59% of respondents are convinced Vue.js is going to get even more
in 2017, the number was 54%. It is also worth stressing that among those
over 73% are certain that Vue is going to be widely adapted inside their
companies.
Typescript 20%
Other 2%
Szymon: With major new features introduced in ES2015 and newer versions,
where. Tools like Babel, which can be easily added to a project thanks to Vue
CLI, allow for effortless transpilation to ES5 for older browsers. Therefore,
86% respondents have been using modern JavaScript in their Vue projects,
TypeScript is also fast becoming a popular option in the Vue ecosystem, with
stronger support for the language introduced in Vue 2.5 and first-class sup-
17
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
port in Vue CLI. This number is likely to rise even further in the future, as Vue
In Vue projects over the past year, which of the following have
you used to write HTML?
String templates
(i.e. written in strings within JavaScript or 82%
in the <template> of .vue files)
In-DOM templates
(i.e. written in HTML files or backend view 44%
files, e.g. .ejs, .php, .erb)
18
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
trum of possible use cases, is reflected in the results of our survey. 85%
single-page app, with 23.1% going even further using it together with serv-
er-side rendering. On the other hand, “drop-in” use cases for Vue—adding
common, with 36.5% and 32.6% respondents, respectively, using it this way.
In Vue projects over the past year, which of the following have
you used for routing?
Server-side routing 9%
Szymon: As the official Vue routing library, Vue Router is a strong leader
here, with nearly 85% respondents having used them in their projects over
the past year. About 10% keep their routing on the server side, while 4% use
no routing at all.
19
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Vuex 87%
Redux 2%
Other 4%
Szymon: Similarly to Vue Router, Vuex is the official state management solution
nearly 87%, to be precise. Not all projects require complex state management,
al state, and around 11% have opted for using a shared state.
A manual scoping
31%
strategy (e.g. BEM)
20
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Szymon: The ability to create scoped styles in .vue files with a simple HTML
using it to scope CSS. Only less than a third of developers are still using manual
In your last Vue project, how much of the CSS was global?
CSS GLOBALISATION
Percentages do not sum up to 100% due to the multiple choices.
1–20% 38%
81–100% 19%
21–40% 17%
61–80% 13%
41–60% 13%
Szymon: Despite the popularity of scoped styles, global CSS is still a thing.
Even though 38% of respondents use little to no global styles, for nearly 20%
Which CLI tool did you use to create your last Vue project?
Szymon: 2018 saw the stable release of Vue CLI 3, which has made it super
tiple integrations, and an awesome graphical user interface. More than half
of the respondents were quick to jump on the Vue CLI 3 bandwagon, using
21
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
CLI TOOLS
Percentages do not sum up to 100% due to the multiple choices.
Vue CLI 3
(i.e. @vue/cli-service is listed in your package.json) 51%
Nuxt 9%
Quassar 2%
Other 3%
LIBRARIES OR FRAMEWORKS
Percentages do not sum up to 100% due to the multiple choices.
Vue.js 96%
jQuery 42%
ReactJS 26%
AngularJS 13%
22
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Backbone.js 4%
Other 7%
Node.js 53%
PHP 44%
C#/.Net 19%
Java 19%
Other 10%
23
STATE OF VUE.JS 2019 HOW DEVELOPERS USE VUE.JS
Demographics
Medium Enterprise
20%
(100-999)
Small team
74%
(2–10 people)
Solopreneur 14%
Medium team
11%
(11-25 people)
Large team
3%
(25+ people)
ROLE IN ORGANIZATION
Chief Technology
13%
Officer
Other 8%
Project Manager 4%
24
One Year Later
with Vue.js
25
STATE OF VUE.JS 2019 ONE YEAR LATER
Y
ou may be wondering what’s going on with the companies
Behance, Clemenger BBDO, GitLab, and Livestorm all decided to share what
was happening with their products and what’s changed over the past year.
• How many devs use Vue.js in your company now vs. a year ago?
• How did your company grow since we last spoke and how has Vue.
js contributed to this?
Check out their case studies from 2017 and then dive into the second chap-
26
STATE OF VUE.JS 2019 ONE YEAR LATER BEHANCE
Behance
Yuriy Nemtsov
Software Engineer
& Manager
at Behance
Yes, we do. And there are two reasons why I think Vue.js continues to be
the best technology for Behance: SSR and ergonomics. We care about hav-
ing a low TTI and wouldn’t be able to achieve ours without Vue’s superb
SSR support. It’s well thought out and helpfully documented. From
the vue-loader, bundle renderer, full support in the vue-router and vuex,
all of our modules were registered at initialization time. Only later did
we realize that for the size of our application, and specifically the fact
that it is a website with independent sections, this approach did not scale
well. Accessing any page of the site made the user download the Vuex
27
STATE OF VUE.JS 2019 ONE YEAR LATER BEHANCE
ies) for the entire application. A page that only needed a few KB of state
and unregister them when they aren’t. In conjunction with async compo-
nents and vue-router, we now only load the components and Vuex modules
that are required for that specific page and dynamically import others when
needed.
How many devs use Vue.js in your company now vs. a year
ago?
How did your company grow since we last spoke and how has
Vue.js contributed to this?
Since last year, we’ve re-written our login homepage in Vue (a success,
based on the overwhelmingly positive user feedback and the data we see).
By the time you read this, we’ll be done with two more major sections
of Behance; all using efficient, server-side rendered Vue, allowing the peo-
ple using Behance to showcase their work and be inspired by the beautiful
work of others.
28
STATE OF VUE.JS 2019 ONE YEAR LATER CLEMENGER BBDO MELBOURNE
Clemenger
BBDO Sylvain Simao
Melbourne
Technical Lead
ences at pace. As of today, Vue.js is still the one framework on the market
that gives us the required velocity and flexibility to deliver on this type
The biggest game-changer for us probably happened after Vue CLI 3 has
before the stable version was released. Vue CLI 3 helped improve our speed
29
STATE OF VUE.JS 2019 ONE YEAR LATER CLEMENGER BBDO MELBOURNE
During the past year, we’ve started using the framework to create desktop
apps in combination with Electron, and more recently to build a native mo-
How many devs use Vue.js in your company now vs. 2017?
In 2017, our entire developer team was already using Vue.js, and this
hasn’t changed except our team is now almost twice as large. Six developers
This coming year, we plan to go hard on voice, AI, IoT, and the experiential
Web. Our technical expertise with Vue.js and its ecosystem will be decisive
How did your company grow since we last spoke and how has
Vue.js contributed to this?
the fastest growing area of our agency. This year alone, we’ve launched
some of our best campaigns and projects, using Vue.js as the central piece.
Snickers Hungerithm US, the stock exchange for Snickers chocolate bars;
30
STATE OF VUE.JS 2019 ONE YEAR LATER GITLAB
Gitlab
Clement Ho
Frontend
Engineering
Manager
Yes! We are using more Vue this year than ever before. Vue.js continues
Our original vision for Vue at GitLab was to use it to help implement
a large Rails + jQuery application and we didn’t want to do a Vue rewrite for
the sake of iterating quickly. Over the past year, we’ve started using Vue.
another project called gitlab-ui and have designated that as our Vue
component library. Although the library is still pretty new, we’ve been
able to set up a healthy ecosystem thanks to the tools provided by the Vue
31
STATE OF VUE.JS 2019 ONE YEAR LATER GITLAB
on the component level. This enables us to improve the quality of our prod-
How many devs use Vue.js in your company now vs. 2017?
GitLab to help keep up with the product demands. We expect to double our
How did your company grow since we last spoke and how has
Vue.js contributed to this?
GitLab has had an amazing 2018. The company has grown a lot in size
and it’s great to see people understand GitLab as more than just source
off. Our involvement in the Vue.js community has helped us source great
talent. Vue’s fantastic documentation and guides also make it very easy
for new team members to onboard quickly and start contributing code
to our codebase.
32
STATE OF VUE.JS 2019 ONE YEAR LATER LIVESTORM
Livestorm
Thibaut Davoult
Growth Engineer
customer training.
We still use Vue.js for all the frontend of Livestorm. That is true for every
part of our Web conferencing software: the webinar and conference rooms
When we chose Vue in early 2016, our challenge was to build a stable MVP
as fast as possible. After release day, with actual customers trusting Lives-
torm with their online events, our main task shifted to building for reliabil-
ity and growth. We started in 2017, but the challenge of expanding to new
users and new employees while keeping Livestorm reliable at all times was
Vue keeps confirming to us that it’s a great choice for scaling a team
and product. That’s why we’ve stuck with Vue and never even considered
we’ve inherited from the early days, and making the most of the entire Vue.
js toolbox.
33
STATE OF VUE.JS 2019 ONE YEAR LATER LIVESTORM
In 2018, we kept working to make the most of what Vue.js has to offer.
We also made more use of state management via Vuex to rely even more
How many devs use Vue.js in your company now vs. 2017?
We started 2017 with 1 dev on Vue.js and ended with 2. In 2018 we had 3 devs
focused on Vue.js.
How did your company grow since we last spoke and how has
Vue.js contributed to this?
We’ve expanded from “just” live webinars to Web conferencing with Lives-
used by customers to automate the webinar process and let their events run
by themselves. All these products are built on the same codebase and bene-
January 2018 and November 2018. Obviously a lot of things enter into ac-
count here and it’s not all thanks to Vue, but the frontend definitely plays
a big role in keeping our users happy, avoiding bugs and responding fast
34
Case studies
35
STATE OF VUE.JS 2019 CASE STUDIES
C
ase studies are the best way to demonstrate the value of any
They were proof that Vue was used commercially in multiple companies,
and to great success, so we interviewed four more companies that were kind
Note that when Evan sent a call out on Twitter for companies that would
like to share their case studies with us, he received over 70 valid responses
in total. And it was just one Tweet. Selecting just a few from the submis-
sions was a difficult task, but those four we put down in this chapter seem
36
Fathom Andrew Courtice
Lead front-end developer
at Fathom
isting accounting product and provide you with ity for any developer to create rich
applications with ease. To anyone
insightful analysis and reports.
considering it at the moment—go
for it and wait for the results, it’s
worth the investment
Challenge
bane, Australia. Using Aurelia and Vue.js, they deliver a useful tool for
I wasn’t content with the performance of the Fathom app. It was written
using legacy tools such as old versions of ASP.NET MVC and most notably
Adobe Flash, which was due to get deprecated in July 2018, Andrew says.
This was not only having a negative performance impact, it was also
tion. What also concerned us was the risk attached to using old or poorly
supported libraries. I definitely saw the need for a prime framework for
38
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
my Angular background but I tossed it out pretty quickly. React was appeal-
ing as it was growing pretty quickly at that time. To be honest, it was a close
call between Vue and React. But what tipped the balance was Vue’s syntax
Besides, we were (and still are) using Aurelia as our framework for our re-
Solution
Transitioning to Vue.js was not really part of Fathom’s plans for the future.
Vue to replace the front-end codebase. But I soon realized that the current
approach wasn’t going to scale as intended and I was confident that Vue
would be the right choice for the company going forward,” he felt. “Besides,
at that point, Vue had been updated to version 2 which was a huge step up.
39
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
features nor fixing bugs, I was essentially putting to Vue to create some kind
of a demo. I worked on that for about three months and got a few features
I put the decision to the team but as lead developer, I needed to make the fi-
nal choice. And we shared a common feeling that React and Angular were
generally nice while Vue had a really, really nice and growing community.
But it was the documentation that was probably the huge winner for us.
As there was no Vue expert on the board, the team and the management
Two developers were somewhat familiar with Vue.js but the rest have never used
it. However, probably the main hesitation was that the framework was back then
pretty much maintained by one person, Evan You, plus maybe a few core mem-
bers. React, on the other hand, had a really strong community and was backed
by Facebook, and Angular by Google. So questions about the future arose, wheth-
the strengths and weaknesses of each framework. Things like API, docu-
40
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
for rewriting the app was a crucial step. It took a few weeks, lots of research,
talks, and business cases for a double check, but it managed to convince
Once Vue joined their stack, parallel development began in full swing.
When we made that decision, I continued rewriting the app myself for
the first few months, while our two prime developers continued implement-
ing new features because we couldn’t stop growing as a company nor could
we ignore bugs,” he says. Then I parceled the work out gradually to other
developers who worked on that legacy code. And we also started hiring
some more developers so that I could introduce them to the new architecture.
It terms of getting up to speed, it all went very, very quickly. It wasn’t until
early 2018 the rest of the team finally migrated on to the new architecture.
We adopted Vue and split front-end code into a dedicated single page
application repository and wrote new features into the new architec-
ing etc). What’s more, we used Vuex to create a high performance report
41
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
codebase that is easy to test and code-split. This has the added benefit
style guide, using Yarn Workspaces, Webpack, vue single file components,
What the team cherished the most about Vue.js were its single file compo-
nents.
The aspect that we rely on most would be Vue’s single file components. They
have drastically changed the way in which we can implement atomic design
Being able to have a template, script and style in one place is great. Other parts
we really like about Vue are v-nodes, scoped slots, and state management.
to bend Vue in ways that it probably shouldn’t be bent,” Andrew adds with
a laugh. “We needed to do some more complex things so I spent a lot time
in the source code, so we could get in a little bit deeper. We use scoped slots
of drawbacks.
The one thing that was somewhat irritating, which I believe Evan has fixed
42
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
given the complexity around the virtual DOM. Another way we can achieve
get a little bit painful, particularly when there are a lot of components
Outcome
The main pain point solved with Vue was successfully completing the re-
writing process.
to design, develop, and test a complete rewrite of one of the core features
build complex interfaces with relative ease. It would have been quite difficult
to pull that off before. We also managed to improve debugging and mainte-
43
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
patterns. Vue’s component structure works really nicely for us in keeping styles
and templates really encapsulated. The front-end team can now operate
The Codebase is now separated into modular packages that can be easily
maintained, tested, and shared across multiple applications. This has also
Since we implemented Vue, we’ve been able to cut our app’s memory usage
by half which is a pretty big change for us. Also, by switching to a strict
and usability. Vue helps us save time through its simplicity and great tooling,
When we initially rolled the app out after the first product rewrite with Vue,
it works way faster. We also gained some nice comments about the refreshed
design, saying that it looks, works, and feels better. So the feedback has been
44
STATE OF VUE.JS 2019 CASE STUDIES FATHOM
Developers love Vue.js. They come from various backgrounds, having used
jQuery or Angular in the past and getting to use Vue is a breath of fresh air.
It’s easy for junior developers to use these components prewritten in Vue.
of time. We are fixing bugs and implementing new features faster than ever.
forward to getting and testing Vue 3.0 until it’s stable. We’re also going
45
IBM Stephane Rodet
Senior UX Engineer
at IBM Design
Hybrid
Cloud
Vue.js is the technology that actual-
ly helps us just do stuff. When I use
Vue, I spend very little time googling
things, I can focus on writing the
code. Besides, because of its inde-
pendence, we have guarantee that it
will continue to develop and that its
licensing is completely safe which is
IBM Hybrid Cloud offers full-stack IT man- crucial for IT companies like IBM.
agement solutions that spans public, pri-
twenty industries.
Outdated design of
the website
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
Challenge
IBM Hybrid Cloud Design is a big organization, with more than 200 design-
ers on board (over 1,000 designers in total), in studios around the world. Its
goal is to design IBM Cloud platform and associated products. Keeping their
work organized and communication smooth was quite the challenge with
sponsors, etc. They all needed to be in the loop. And it was tough to exchange
Cloud to have a one single place to share our tools, design processes, updates,
47
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
We already had something based on Wordpress but it was not able to keep
up with our growth, and didn’t allow for fast coding. So that one question
popping up was: ‘How can we further expand the existing website and make
it usable for a bigger number of people?’ That’s when we started looking for
alternatives, he recalls.
as-a-service kind of cloud to simplify our job, to keep our frontend developers
focused on the frontend and not caring about the backend or PHP stuff.
Back then, React was already out there, but its learning curve felt too
high. Angular wasn’t exactly the popular favorite because of its complexity
and weight. We even investigated using vanilla Javascript and Web Compo-
nents. Eventually, we started investigating Vue.js at the end of 2016 and de-
cided to go for it. As it turned out, Vue became a way to satisfy all the inter-
Solution
The decision to go with Vue dates back to mid-2015, when Stephane first
A colleague showed Vue to me, saying that it seemed cool and neat. But
I didn’t explore the idea right away because at that time I was oriented to-
48
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
create a system that would be reusable in terms of code. We help the engi-
neers by translating what the designers had in mind. So for a while, we were
searching for a fitting technology that would be easy for engineers and de-
signers to understand, and port to their own stack whenever needed, he says.
Working towards more cohesion between code and design made Stephane
thought about Vue. We did the research and had a couple of lengthy dis-
cussions in the team to assess if Vue would be working for us. We consulted
our manager and actually got him very enthusiastic about Vue.js. We then
They started the transition by deviating a bit from some Agile methods.
Due to the number of things that had to be discovered, learned and solved
to follow, where you have small stories and a developer works one or two
weeks on an end-to-end story. What we did was split the technical work
49
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
I worked on integrating the API, handling the router, and defining data
The old team and new hires took up Vue really quickly.
New team members usually start making pull requests after a few days.
It took us around three, four months to get our new website together
working in a basic form. From there on, we could iterate features one after
the others.
of the web standards: CSS, JavaScript, browser APIs. It was much more im-
portant that they knew CSS and how to organize it properly. We didn’t have
many React or Vue ninjas. We all built up skills over time, as we expect peo-
ple to learn the framework if needed. And it’s possible due to having more
by using it as a headless CMS, and with Vue, VueX, and animations libraries
50
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
that enterprise doesn’t mean boring, and we wanted our designers to have
Outcome
First and foremost, Vue helped the IBM organization achieve their intended
goals.
Our team built a design management system for our Hybrid Cloud design
We stay focused on our design work, educate our stakeholders about our
design practice, and showcase the impact and benefits that design can bring
to the overall success of products and offerings. The site is used on a daily
For us, as the design organization, it’s quite natural to use much more of CSS
it feels much like native HTML while providing a lot of additional value.
51
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
The project turned out to be such a success in terms of design and mission
ing awareness about the design process, the team’s various deliverables,
and the design disciplines within the organization. It’s also a management
system for our team to track the execution of the various design initiatives
and to share project work with each other and our various stakeholders.
We see positive reactions when we tell candidates that we’re using Vue. And
we’re still seeing people interested in Vue in the organization who really
grow to enjoy it. Developer satisfaction is very high, we often hear many
devs wishing that more frameworks were similar to Vue.js. But once they get
Even though Vue.js was accepted and warmly welcomed in the organization
Developers within the company often choose React because of its wide
usage and popularity, especially for bigger projects. But at the same
time, I see many people who like Vue.js and would want to use it more.
52
STATE OF VUE.JS 2019 CASE STUDIES IBM HYBRID CLOUD
are missing from our internal ecosystem. Once we have that, adopting
There are some things that Vue.js slightly lacks and some things that are hard
for people to grasp, e.g organizing (sometimes complex) code through many
components in big applications. But I’m really looking forward the upcoming
Vue 3.0 release with class components which I find a major improvement.”
and Webpack side of things. Before we ship things outside, we are required
to show proper due diligence of the libraries with their licensing, etc. Con-
sequently, the more dependencies you have in your package.json, the more
issues you have to discuss and resolve. This is always a bit of a problem but
is quite straightforward.
nies have a guarantee that it will continue to develop, that its licensing
53
Laravel Taylor Otwell
Founder of Laravel
that makes development a delightful and tru- Actually, it’s the fastest way to start
to building applications. If it hadn’t
ly fulfilling experience.
been for Vue in the first place, we
wouldn’t have released a frontend
integration with Laravel at all.
Challenge
worldwide. Since its launch in 2011, it has been installed 52M times and cur-
in 2015, when Taylor started building Laravel Spark, it turned out that their
and in the case of such apps you gain hundreds of users monthly.
I knew that thousands of people were gonna use it, people with different lev-
have been out of the game for like 20 years. It’s always the issue we’re facing
Another challenge they faced was finding a solution that would be really
I wanted to make something really robust but also simple so that advanced
As I’m not really a JavaScript expert myself but more of a PHP programmer,
I was looking for a framework to pick up and use almost in no time. And
it wasn’t the most obvious feature of the frameworks out there,” Taylor re-
flects. “On the technical side, I needed the framework to ship logs and make
55
STATE OF VUE.JS 2019 CASE STUDIES LARAVEL
Other frameworks might be powerful but not simple, or are simple but
. Solution
What I liked about Vue is that our stories are similar. Both frameworks
to a shared philosophy of being easy to learn and scale,” Taylor adds. “Vue.
js is used by lots of developers, there are lots of tutorials out there and its
syntax is so easy to build with. It’s easy to get feedback from the community
I had a lot of discussions with Evan You, Vue.js creator, and Jeffrey Wey
who’s the creator of Laracast.com. We all agreed that making Vue.js a de-
fault framework for Laravel was the best answer to Web developers’ needs.”
The biggest advantage of Vue.js that Taylor mentioned was its consistent
simplicity.
and the model binding data is easy. The helpers for looping through the data,
like HTML helpers, allowing the user to customize, are gold. All those char-
56
STATE OF VUE.JS 2019 CASE STUDIES LARAVEL
acteristics are much nicer than what any other framework offers. It made
tend, and billing screens where you could download your invoices. And
the whole process with Vue was really nice because we didn’t have to add
any compilation steps to the Laravel installation process. We could just in-
clude the Vue pile. And we didn’t need to worry like about React compiling
Outcome
The integration brought more benefits to Laravel that the team had antici-
pated.
To be honest, Vue.js was so polished that I never had to ask for any
pretty well. Vue and Laravel turned out to be a really magic formu-
that’s where both Laravel and Vue shine, a lot. And merging those aspects
combination of Vue itself, Vue Router, Vuex, Vue Debugger DevTool, etc.
57
STATE OF VUE.JS 2019 CASE STUDIES LARAVEL
the quality of the tools is very consistent because they are all maintained
Vue.js helps Laravel build apps really fast and smooth on the frontend,
licenses and Laravel Nova has sold over 5,000 licenses. Laravel Horizon has
been downloaded 1.2 million time and Laravel Telescope, released only
win for our company. And we wouldn’t really have that if it hadn’t been for
Vue.js features.
People buy it, download it and once it gets set up, they have access
to the code. They can modify it but it’s all kind of prebuilt so they have
user management access. It’s very comfortable and attracts a lot of devs.
Many of them have been using it to build their apps since 2015 and Vue.
neers who work with the Laravel+Vue combo convey only positive feedback
58
STATE OF VUE.JS 2019 CASE STUDIES LARAVEL
If asked in 2019, the Laravel team would still have made the same decision.
Three years later and we still love Vue.js. We only use a lot more components
like Vuex and other features. The whole time we’ve been working with Vue,
I’m working on Laravel Vapor right now. Hopefully I will release it next
summer at Laracon. It helps people deploy the Web app really easily, it sets
all your hosting and SSL certificates up. Basically, with Laravel, I try to build
a new machine and then I try to provide a nice way to deploy it when
59
The Future
of Vue.js
Evan You
Creator of Vue.js
60
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
Technical Evolution
V
ue.js grew into the framework it is today thanks to the its
by the interest and needs of its users. We learn from the prob-
lems our users are trying to solve, and our ultimate goal is to help you solve
tage of the new emerging platform features and community patterns. There
are a lot of exciting things going on in the frontend world, and you certainly
run into them every single day. Here we will outline what some of the most
ES2015+
In 2019, we are now seeing much more mature native support for ES2015
full support for ES2015, and are generally very fast in implementing new
61
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
be able to take full advantage of these new language features. For Vue, there
• Core: Vue 3 will be able to leverage native Proxies for more perfor-
mant change detection and fewer edge cases. Class fields getting closer
to stage 4 also means we can provide a native class-based API that works
nicely for both plain ES and TypeScript. Finally, shipping Vue itself
in native ES2015+ also results in smaller file size and better performance.
• CLI: Vue CLI 3 already provides a “modern mode” that allows you to ship
hint. But it also works equally well with native dynamic imports,
derlying implementation.
TypeScript
in larger scale projects. This is partly due to TypeScript itself being a solid
language paired with great IDE support, and partly due to the rising amount
62
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
in every project, but we do acknowledge its importance for those that find
Vue’s current TypeScript integration story still has a lot of room for im-
provement, and we are planning to tackle them in 3.0. The new major
TSX support, and in general more solid type definitions due to us switching
rience for those that do not use it. Plain JavaScript usage is always going
to be our baseline. We will always make sure to keep the base API simple
for a smooth learning curve, and will never force you to go with TypeScript
Web Components
We often see articles suggesting that native web components will be able
to replace existing frameworks in the future - but that is not the case. The
finalized web components standards only provide very low level primitives
for defining custom elements with its own isolated (shadow) DOM. They
do not provide the necessary structure, patterns and tooling needed to build
a real application. Instead, you will still need a framework to fill these gaps
63
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
4 and Onsen UI to support multiple frameworks at the same time. Vue CLI
3 also provides the ability to build and distribute your Vue components
HTML Modules
but the Edge team from Microsoft has posted an intent to implement
ule in their JavaScript. Each HTML document can in turn export a JavaScript
module together with an HTML template and styling. This would bring
the development experience very close to what Vue developers are used
to today. We are keeping a close eye on it and are involved in the feedback
process. We hope that HTML Modules will enable Vue to provide a near-na-
tive workflow for single-file components, which will be great for small
64
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
WebAssembly
have to constantly communicate back and forth with the main thread,
and the cost of such communication likely outweighs the potential per-
support.
sembly in Vue is server-side rendering. Due to the fact that Vue projects
Mobile Apps
Vue 2.0 was designed to decouple the core runtime with platform-specif-
are projects like NativeScript Vue and Weex that allows users to build truly
native applications using Vue’s syntax and API. In China, there are also
multiple solutions that leverage Vue’s such ability to target multiple “mini
65
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
However, Vue 2.x lacks a first-class API for building custom renderers. This
requires the authors of the solutions mentioned above to fork Vue’s source
In 3.0, Vue will provide a first-class custom renderer API. Users can use
Vue’s core runtime as a dependency and build on top of it. The API will al-
low easy bridging to iOS/Android native renderers, or other use cases such
solutions such as Quasar Framework, Ionic 4, or Onsen UI, all of which have
We are always keeping an eye out for emerging new patterns in the larger
frontend ecosystem and thinking about how Vue can learn from them.
Some of the recent prominent examples include React’s new Hooks API,
new capabilities enabled by its new Fiber architecture, and the compil-
compiler. We have been investigating how these new ideas can benefit Vue
users without deviating from Vue’s own idiomatic usage, and we have made
some good progress in the 3.0 prototypes. We will share more details once
An open source project is more than just the code. It’s also the people,
the process and the ecosystem around it. As the project grows, we are learn-
66
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
ing along the way. Here are the things we are working on in 2019 to ensure
RFC Process
To truly understand the needs of our users and help them, the users
the future of Vue. This is why we adopted an open RFC (Request for
and its impact on existing users. This ensures the long term stabil-
ity of the framework. The RFC process is also conducted in the open,
3.0 we also plan to provide detailed technical explainers for the in-
ternal architecture so that more users can land PRs in the codebase.
67
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
Sustainability
As the creator of Vue.js, this is the third year I have been working full
ly, aggressive growth is not our goal. We aim to find a balance where we can
be sustainable for the long run while being able to focus on the project itself
Reliability
As Vue’s adoption keeps growing, more and more developers want to use
to use isn’t always a purely technical decision, and we want to make sure
that Vue is a suitable choice for businesses of any size. In 2019, we plan
More robust and predictable release cycles: with 2.6 shipped, we plan
to transition into a 3-month minor release cycle so users can better prepare
for updates.
68
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
and eventually provide a workflow for users to subscribe and run cus-
Conclusion
We’ve worked really hard to make Vue one of the most approachable,
and with the support from the community, we are confident we can keep
it that way for a long time to come. We are excited to grow the project to-
69
STATE OF VUE.JS 2017 THE FUTURE OF VUE.JS
www.monterail.com
hello@monterail.com
70