Evan You On Vue 3 and On Creating an Open Source Framework

Monterail Team

Evan You on Vue 3 and On Creating an Open Source Framework featured image

On 18 September 2020, Vue 3 was released — a big event for JavaScript frontend developers.

Why is that? Because it introduced some new and cool features.

  • The new version gets even smaller! Streamlined libraries result in a lightweight package (10kb), weighing in around 50% less than version 2.6. Output file sizes have also been reduced using tree-shaking, which removes unused features from your code.
  • It’s faster. Upgrades to many aspects of the framework, including a rewrite of the Virtual DOM, have resulted in speed improvements.
  • Composition API allows for Vue components to be shared across multiple devices and apps with less hassle. It also does wonders for code organization by keeping code for individual features together. At the end of the day, this means cleaner, easier to read, and shared code.
  • The Teleport feature allows you to render code from one component to another in the DOM tree. Previously known as portals, teleport is now built into Vue 3.

A full list of the changes is available in the official Vue 3 introduction document.

To peek a little deeper into the new Vue, how it’s evolving, and how it’s being built, we’ve talked with the framework’s creator — Evan You.

Cta image

Vue 3 Community, Challenges, and Opportunities

How big is the Vue community right now?
It’s hard to measure the community size, but our devtools extension has 1.37 million current users so I think that’s a lot :)

Is Vue being adopted at the same rate as it has been in the past?
Judging from the npm download growth and devtools user growth, the curve doesn’t seem to be slowing down!

NPM stats for Vue popularity

 

Source: https://npm-stat.com/charts.html?package=vue&from=2014-12-12&to=2020-09-29

What are the challenges and opportunities for Vue 3?
The biggest challenge is making it a more solid choice for large-scale applications while retaining the same beginner-friendly learning curve. I think we are making really good progress on this front with the Composition API and better TypeScript support in Vue 3.

Vue has been praised for its low entry threshold and flexibility compared to React. Has this perception changed over the years?
I think that perception still holds. Vue 3 mostly adds new features so the low entry threshold is still there, and in fact, Vue 3 is even more flexible than Vue 2. The biggest recent change in React is the introduction of hooks, but personally, I don’t think it lowers the entry threshold since it actually requires a very solid grasp of JavaScript to use it effectively.

Are there any projects built with Vue that stand out as exceptionally exciting in your eyes?
Guillaume (@Akryum) is working on our new devtools (built using Vue of course) which brings some really exciting new features :)

Vue Telemetry website

There is also a website called VueTelemetry where you can see websites that leverage this framework (like TikTok, Adobe, or Zoom.us.)

Vue 3 Team and Contributors

How big is the core team?
Currently around 20 active members.

In the era of remote working, it might be good to learn from organizations like yours. How does the team work together? What tactics and tools do you use to deal with time zone differences?
The team is fully remote, but the time zone difference isn’t that big of a problem because we don’t do meetings very often. We hold a bi-weekly team meeting with voluntary attendance and meeting notes, and the rest of the communication happens via Discord (internal) or GitHub (public).

What does the decision process look like? Is it team-based? Is it community-driven? Is it bottom-up or top-down? How do you decide which features to introduce, and which bugs to fix?
Higher-level direction is typically top-down, but individual features are often bottom-up. Major new ideas are usually explored and discussed inside the team first, in order to validate and polish them without too much distraction. Once we make an idea public though (via our RFC process), it becomes community-driven and we iterate based on community feedback. As the team lead, I make the final calls on what to ship, but every decision takes team and user feedback into account.

Working on Vue — the Future, the Benefits, Funding, and Lessons Learned

What is your main focus now in terms of evolving Vue?
I believe there are still more interesting things we can do with the compiler + runtime combined approach, both in terms of performance and authoring experience. Another area with big potential improvements is server-side rendering, where we can leverage the compiler to drastically reduce duplicated JS payload and hydration cost.

What are the future plans?
For now, we want to make sure Vue 3 is stable and help the ecosystem adapt to the new version. We also plan to backport compatible features to 2.7 for users who can’t afford to do a major migration. I do have some ideas in the backlog but we will probably give it some time before introducing major new features.

In the documentary about Vue by Honeypot, Thorsten Lunborg and Scott Tolinski talk about the freedom that comes with being an organization not tied to any corporations and not fixating on Return on Investment. What is your take on this freedom?
I believe such freedom is important, since it ensures the technical direction of the framework is completely independent of business decisions, so that the project can really be focused on serving its users.

After leaving your 9-5 job to do something that resonates with you deeply, what is the biggest reward for you? Building something that people find helpful or being able to set your own course and make big decisions, etc.?
I’d say it’s the feeling of being in control - once I’ve experienced that I can never imagine going back to big companies again.

How do you fund your efforts? Is Patreon enough? Is the core team maintained through this funding?
Today my income sources are a mix of Patreon, GitHub sponsors, revenue share from our educational content partners, and ads. It’s a pretty healthy mix that can fully sustain my full-time work on Vue. Core team members have varying levels of time commitment — we fund one full-time (@sodatea) via OpenCollective, and core team members taking on major part-time commitments can also expense from OC. Most of the core team members have their own full-time jobs and participate on a voluntary basis.

If someone was to ask you what are the most important aspects of building an open-source framework, what would you advise?
Know what you are getting into. Writing the code is the easy part - most of the work is in maintenance and community building.

Looking back, what would you have done differently?
I’d start building a team earlier. Vue wouldn’t be where it is today without the amazing team members and contributors.

Monterail Team avatar
Monterail Team
Tags