AMA with Evan You, Creator of Vue.js – LIVE Now. Ask Your Questions

— Questions —

How do you manage building and supporting a successful library outside of your day job? Have you considered having a company sponsor your development work?

It does takes a lot of time and effort – I think during the 1.0 release process I worked until 1~2am almost every day. But I guess the biggest reason is because I am passionate about it so I enjoy working on it most of the time.

I definitely hope some company would sponsor me so that I can work on Vue fulltime – in fact I just recently started a Patreon campaign: https://www.patreon.com/evanyou

If any company wants to discuss some custom sponsorship arrangement, I’m also happy to talk :)

Director of Engineering at Pop Art

Looking over the list of contributors on GitHub, it looks like 99% of the work is you. Have you thought about the ongoing governance of the project if you get hit by a bus / take a demanding job / loose interest / etc? Is there a logical successor?

Yes, this is indeed a problem I have been thinking about lately, especially as the scope of the project grows. However, there are already numerous passionate users who are contributing occasionally – what I need to do is probably empower them and give them more incentive to contribute. That’s why I just started an open call for collaborators and already received 30+ applications so far. I’m hoping to build a team so that it’s no longer just me :)

BTW if anyone is interested, here’s the application link: https://docs.google.com/forms/d/1SgDgKZqyivEf5xl0EOWNfs68Xy3f4oBzLXIlwlS0BIs/viewform

What is you typically day like? How do you manage your work and open source?

I worked remotely for Meteor, so my day is usually quite flexible. I don’t really have a strict working schedule, and I mostly work by picking off items from my todolists/inboxes. We tracked work stuff in Asana and I tracked personal stuff in Google Keep, and I also use Google Inbox to treat GitHub emails like a todolist. So I’d pick a task, focus on it until it’s done, then enter the next. It’s kinda like unrolling a callstack 😉

Coder and Dreamer

Hi Evan.. What’re your thoughts on unidirectional data flow and flux architecture? The React world and front-end developers are growing crazy about it. Wondering what are your thoughts on this.

I think the idea behind Flux/unidirectional data flow is actually simple and is a natural way to manage shared state between view components. But the original description/implementation from Facebook made it more complex than necessary, which is why there came so many different flavors of flux implementations.

The primary problem that Flux solves is shared state. Without a mechanism to hold shared state, we naturally tend to store state inside view components. We would then often find state being scattered across view components and resort to two-way binding or cross-component communication to synchronize the state between components. The problem with that these synchronization attempts makes reasoning about state changes very hard. With Flux, because the only way to affect shared state is by dispatching actions, this ensures all changes to the state are trackable, thus making the data flow much easier to understand.

Notice that the above explanation has nothing to do with what view layer you are using. The same principles can be applied equally well to both React and Vue (or any other declarative view layers). For example, it’s possible to use Redux with Vue via simple bindings such as revue . But in fact Vue now has its own Flux-inspired state management solution, Vuex .

Vuex is heavily inspired by Redux, but with some design tradeoffs to focus on simplicity and compatibility with Vue. It’s also hot-reloadable, and supports time-travel debugging via vue-devtools, and it takes full advantage of Vue’s reactivity system to ensure the performance is optimized by default.

Little personal. What happened to meteor? :) What are future plans? Is your newborn baby girl or boy? :)

So yes, I’ve left Meteor. This is a combination of quite a few things:

  • Meteor as a framework is now front-end agnostic (which makes the frontend work mostly just integrating React/Angular) and the company doesn’t seem interested in supporting Vue strategically.

  • Meteor as a company is now primarily positioned as a PaaS (because Galaxy is currently its primary revenue source), and the focus of the company has a increasingly smaller overlap with my technical interest.

  • Vue is growing faster than I thought.

I don’t have a very clear plan at the moment, just exploring the possibilities of working on Vue fulltime while focusing on the baby. Oh and it’s a boy :)


Do you have some ambitious plans for the next major release of Vue?

Or plans for Vue ecosystem, like test utils.

I don’t foresee a major release in the near term – but 1.1 will likely see some improvements to the current transition system to make it even more useful.

For the ecosystem, the next step is a new release for vue-router and an example of how it is supposed to work with vuex. After that, server-side rendering and test utils both seems like good ideas to tackle.

If I really do run out of ideas, I might try vue-native 😉

My long term vision for the project now is to make it a progressive framework: starting with a simple view layer as the core, with incrementally adoptable tools and libraries that enables large and ambitious applications. I want to make great ideas in web development accessible to as many people as possible.

You know better than us that Vuejs is at the same level of other more famous view models (like react, angular, polymer, etc.), many times even superior.

Although the evident dominance of those frameworks, Vuejs’ growth looks like a hockey stick so far… What do you think is still needed for Vuejs to continue sustaining the exponential growth, go mainstream and be massively adopted?

Have you been ever been tempted to make it a full stack framework?

The sad truth is for a lot of enterprises, their criteria for picking React/Angular is first because Facebook/Google is behind them. Their choices in turn affect the job market and it’s a marketing advantage Vue simply doesn’t have.

However, I believe Vue can compete with any major frameworks out there technically, and the advantage of Vue is its intuitiveness of the API and how easy it is to onboard a new dev to the team. I think Vue’s current growth is primarily coming from individual developers and small teams, and there’s still some marketing work to be done to make it more "adoptable" from an enterprise perspective.

I have messed around with paring up Vue with RethinkDB for a reactive stack, but at this moment there’s enough work on the frontend alone, and also because Vue’s beauty is that it works with any backend, so I’m probably not going that route any time soon.

Coding is my passion, profession and hobby

What are some good resources for getting started with Vue.js? How is Vue.js learning curve as compared to React.js?

Web Developer

At one point I believe I read that the vuex API was still in consideration and that it may change. Recently I updated from 0.2.0 to 0.4.2 and there were some revisions to the API, which took some time to port over and figure out (for the better, btw). I haven’t been able to find the message about the API possibly changing, do you consider vuex to be more stable now and less likely to have heavy revisions that require refactoring when updating?

It’s all about software.

How do you see the role of vuex in the vue.js ecosystem? When can we expect to see the first version of devtools for vuex? :)

How soon can we expect vue-router 0.8.0? ^_^

Web Developer

What are the daily tools you use? Programming / Productivity / etc.


Is there any tutorial to build backend (REST) API for SPA, especially those built on vue + webpack? As far as I can see, for the backend, the authorization has to support CORS and JWT. Is there any alternative? I have projects built on flask, pyramid, rely heavily on templating lang like jinja2. Some of them have grown very big. I think vuejs can take most of their work and make the code much nicer. Some refactory guide would be much helpful.


What is the most important thing you have learned as a developer?

something JS and something Ruby!

Why did you leave Meteor? Is it because you want to pursue Vue.js development full-time?

Knows, that he knows nothing.

Why did you actually start Vuejs? Was it planned as a replacement for Blaze in Meteor? Did you feel uncomfortable with the way Meteor’s front-end was heading?

Budding JS developer

Do you see ReactJS as a competitor for Vue.jS?

Node.js/RethinkDB developer

Seeing the direction Components are taking with getters and vuex, do you see a future where computed properties are deprecated?

Node.js/RethinkDB developer

By the way, not exactly a question, but RethinkDB will release a Meteor/Firebase-killer in April called Horizon, there are already examples using Vue.js on the secret repo, stay tuned 😀

frontend development

What do you think about Angular2? Did you take a look? Tried to compare it with Vue in terms of usability and performance?

转载本站任何文章请注明:转载至神刀安全网,谢谢神刀安全网 » AMA with Evan You, Creator of Vue.js – LIVE Now. Ask Your Questions

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址