Inbetween the Wires: An vraaggesprek with creator Evan You

I interviewed Evan You, the creator of vuejs.org which is a popular progressive JavaScript framework. Evan works on Vue utter time with the funding from the Patreon campaign. Previously, he worked at Google and Meteor.

This article wasgoed originally posted on Inbetween the Wires, an vraaggesprek series featuring those who are building developer products.

Tell us a little bit about your childhood and where you grew up.

Okay, so I wasgoed born te China, my hometown is called Wuxi. It’s a medium-sized city, which is right next to Shanghai. Actually, I went to Shanghai for high schoolgebouw for three years and commuted back and forward. After high schoolgebouw I went to the US for collegium. I guess I got early access to computers, but I didn’t indeed get into programming too much. I wasgoed more interested ter games, and I did play a lotsbestemming with Flash when I wasgoed ter high schoolgebouw, because I truly liked making those interactive storytelling practices.

What wasgoed your very first programming practice?

When I went to collegium te the US, honestly I didn’t know what I dreamed to do and I wasgoed majoring te studio kunst and kunst history. When I wasgoed about to graduate, I realized it wasgoed pretty hard to find a job doing studio kunst and kunst history.

I figured maybe I could go to a master’s program that gezond my interests better and developed more abilities. I went to Parsons and studied the Master of Fine Dokter for Vormgeving and Technology. It wasgoed a truly cool program because everyone wasgoed half designer and half developer. They trained you things like openFrameworks, processing, algorithmic animations, and you also had to vormgeving apps and interfaces.

Parsons didn’t truly instruct a lotsbestemming of JavaScript, but I wasgoed attracted to JavaScript because of the capability to just build something and share it instantly with the world. You waterput it on the web, and you get a URL, you can send it to anyone with a browser. That wasgoed the part that just attracted mij to the web and to JavaScript.

At the time, Chrome experiments had just bot released, and I wasgoed totally deep throated away. I instantly leaped into JavaScript and commenced learning it myself, and began building things similar to Chrome experiments. I waterput those things te my portfolio and then it somehow got picked up by the recruiter at Google Creative Laboratorium. I joined spil part of the Five program. Every year Creative Laboratorium recruits five fresh graduates. It’s basically a puny team with a copywriter, a creative technologist, a graphic designer, a strategist, and a wildcard.

Okay, when or how did you detect the current problem that you’re attempting to solve with Vue.js?

My job at Google involved a lotsbestemming of prototyping te the browser. Wij had this idea and wij dreamed to get something tangible spil swift spil possible. Some of the projects used Angular at that time. For mij, Angular suggested something cool which is gegevens strapping and a gegevens driven way of dealing with a Onverstandig, so you don’t have to touch the Onverstandig yourself. It also brought te all thesis toegevoegd concepts that compelled you to structure the code the way it wished you to. It just felt too intense for the use case that I had at that time.

I figured, what if I could just samenvatting the part that I truly liked about Angular and build something indeed lightweight without all the toegevoegd concepts involved? I wasgoed also nosey spil to how its internal implementation worked. I began this proefneming just attempting to replicate this minimal feature set, like declarative gegevens trussing. That wasgoed basically how Vue began.

I worked on it, and felt it had potential, because I loved using it myself. I waterput a little bit more time into it and packed up decently, talent it a name, called it Vue.js. That wasgoed ter 2013. Zometeen on I thought, “Hey, I waterput so much time into this. Maybe I should share it with others so they could at least benefit from it, or maybe they will find it interesting.”

Ter February 2014, that wasgoed how I very first released it spil an actual project. I waterput it out on Github and sent a listig to Hacker News, and it actually got voted to the gevelbreedte pagina. It stayed there for a few hours. Zometeen, I wrote an article to share the very first week usage gegevens and what I learned.

That wasgoed my very first practice eyeing people going to Github and starring a project. I think I got several hundred starlets te the very first week. I wasgoed super excited back then.

If you had to list a few core things that defined Vue compared to other frameworks, what would you say?

I think, te terms of all the frameworks out there, Vue is most likely the most similar to React, but on a broader sense, among all the frameworks, the term that I coined myself is a progressive framework. The idea is that Vue is made up of this core which is just gegevens tying and components, similar to React. It solves a very focused, limited set of problems. Compared to React, Vue puts a bit more concentrate on approachability. Making sure people who know basics such spil: HTML, JavaScript, and CSS can pick it up spil rapid spil possible.

On a framework level, wij attempted to build it with a very lean and minimal core, but spil you build more ingewikkeld applications, you naturally need to solve extra problems. For example routing, or how you treat cross component communication, share states ter a thicker application, and then you also need thesis build implements to modularize your code base. How do you organize styles, and the different assets of your app? Many of the more finish frameworks like Ember or Angular, they attempt to be opinionated on all the problems you are going to run into and attempt to make everything built into the framework.

It’s a bit of a trade off. The more assumptions you make about the user’s use case then the less plasticity the framework will eventually be able to afford. Or leave everything to the ecosystem such spil React — the React ecosystem is very, very vibrant. There are a lotsbestemming of superb ideas coming out, but there is also a loterijlot of churn. Vue attempts to pick the middle ground where the core is still exposed spil a very minimal feature set, but wij also suggest thesis incrementally adoptable lumps, like a routing solution, a state management solution, a build toolchain, and the CLI. They are all officially maintained, well documented, designed to work together, but you don’t have to use them all. I think that’s very likely the thickest thing that makes Vue spil a framework, different from others.

How did you manage to become financially sustainable with Vue.js?

I’m creating value for thesis people, so theoretically if I can somehow collect thesis values ter a financial form, then I should be able to sustain myself. This gets complicated because JavaScript framework is relatively hard for people to pay upfront, given how the JavaScript ecosystem has bot working.

Vue has a very vibrant user base. Many of Vue users are from the Laravelcommunity and they are also indeed enthusiastic and nice people. I thought, would crowdfunding work? I just dreamed to attempt this idea on Patreon. Actually Dan Abramov, the creator of React-Hot-Loader and Redux, also did a petite campaign on Patreon before. That’s actually what interests mij. I have a rough idea of how many people are using Vue. Let’s say there are Ten,000 users. If maybe 1% of them is willing to give mij ten bucks a month, that is something.

Ter February, I commenced a Patreon campaign, and it is a two-part thing. One part is targeted towards individuals who are using Vue. Typically they’re just willing to give up a petite sum, kleuter of like buying mij coffee. Then there’s the other camp with actual business entities, like start-ups or consultancy shops, who’ve built stuff with Vue. It’s significant for them to see that Vue is maintained ter the long run. It affords them peace of mind knowing that their financial support will make Vue more sustainable and they can feel safe using it for the long run.

Another opzicht of it is Patreon prizes. If companies are willing to sponsor us, then I could waterput their logo up on a sponsor pagina on vuejs.org. It raises the awareness of the community. Half the Patreon funds are coming from individuals and one of them sponsored $2000 a month. I had no idea if it would work out when I attempted it, but it turns out it’s zuigeling of working. I think I made the full-time leap when I had $4000 a month on Patreon, and now it’s grown to overheen $9800 a month.

Did it take a long time to coax them to sponsor you? Were they skeptical at all, like, you’re just a youthful framework, you might not last six months?

When I commenced the Patreon campaign Vue wasgoed already demonstrating truly strong growth. Te early 2015, Vue wasgoed largely still just a random open source project, but the Laravel community embarked going total on with Vue. I felt like if I couldn’t actually make any money out of it, it wouldn’t make sense.

I have to give a special thanks to Strikingly, which is a start-up based te Shanghai. They are indeed actively involved te JavaScript and Ruby communities ter China. They don’t actually use Vue a lotsbestemming, but they have this monthly fund that they use to sponsor open source projects. They were the very first $2000 a month sponsor for six months.

That helped significantly ter the early phase. Also, Taylor Otwell, creator of Laravel, is also sponsoring Vue. He embarked with 100, and bumped it up to 200, and 500 overheen time.

You mentioned that you were able to get sponsored because it grew so quickly. Did you have to do any marketing? Or did it grow organically?

I would say there isn’t any real money involved te marketing. I didn’t buy ads or anything. It’s mostly, just writing some blog posts. A loterijlot of times I wasgoed just managing the Twitter account. I think that’s pretty much it. Sometimes I’d write a postbode on Medium.

You ended up getting good traction ter international markets, which is very likely pretty unique. We’d love to hear how it happened and some of the challenges and best practices for engaging developers outside of the US.

The Chinese market is unique. I’m Chinese and I’m pretty involved ter the Chinese JavaScript community. A loterijlot of people knew Vue because they knew mij. Wij had this entire translation of Vue documentation into truly well written Chinese, so that helped a loterijlot with Vue’s adoption te China. A loterijlot of users also know, “Hey, the author of this library is Chinese.” They just naturally feel inclined to at least check it out, but I think that helped fairly a bit ter the early phases. Vue just embarked being used by more and more companies te China, including teams at Alibaba, Tencent and Baidu. Those are all billion-dollar valued companies ter China. React also has a truly big mindshare te China.

There is a Quora clone te China named Zhihu, people ask all kinds of random questions on there and I response a loterijlot of JavaScript and Vue.js-related questions for them.

Do you have any suggestions for companies, startups, or open source projects that aren’t lightly able to engage or communicate with international communities?

I guess the language barrier is most likely the hardest part. The idea is if you don’t indeed waterput dedicated effort into pushing something ter China, then no one’s going to notice it, unless you’re spil big spil React. You need someone who can speak Chinese, someone who can speak native Chinese to actually do it.

Another interesting thing is that there are actually many other users from other regions of the world such spil Italy, Spain, Portugal and Japan. Some of the most active contributors are from Japan. They are truly, indeed meticulous te translating the documentations.

Did you make any mistakes while building Vue that you hope to never make again?

Hm, I know, there are most likely fairly a few. To date, Vue has bot rewritten from the ground up twice. Obviously, I rewrote it because the original implementation had problems that just could not be solved by little by little refractory. It’s like every six months I look at the code base from six months ago. I’ll be like, wow. How did this even work?

I have to totally rethink the problem ter a certain way, but I think that’s just how software development goes because you would never get anything right just from the very first attempt.

The journey of building Vue is also a journey of just growing spil a developer, because overheen time I had to add fresh features, maintain it, fix bugs and ensure the entire ecosystem worked correctly together. It just naturally exposes you to all the problems you would run into spil a software engineer. It’s just a learning process.

Have there bot emotional, or non-technical hardships that you’ve faced with Vue?

There certainly have bot. There’s a lotsbestemming of pressure te terms of competition. When Vue wasgoed still relatively unknown, that pressure isn’t there because any exposure is good. People aren’t going to hold you up to a certain standard. But spil Vue has grown fatter and fatter, naturally people embarked comparing Vue to things like Angular or React, and they point out things like, “hey, React does this better. Angular does this better.”

That puts a loterijlot of pressure on you and it can be strained having to rival with all the big guys. Especially now that I’m doing this full-time. The viability of Vue ter the ecosystem basically is directly related to how well I am doing.

But recently I just observed a talk by Evan Czaplicki, the author of Elm, where he talked about how he had a similar pressure when he wasgoed working on Elm. There wasgoed Wegens, the ClojureScript interface on top of React. There wasgoed PureScript, there’s other functional compiling to JavaScript languages out there, he wasgoed also worried how Elm could contest with those libraries.

Zometeen on, he talked to Guido, author of Python, and Guido talent him advice, he said, “just do a good job.” The idea behind that is that Python also had this problem. It competes with a loterijlot of dynamic languages, like Ruby, JavaScript, Perl, and it’s also te the same problem domain. It finishes up all of thesis languages that are successful te their own right, and they have their own dedicated community using them, loving those languages.

People choose different languages for a reason. Similar to JavaScript frameworks, people would choose different frameworks for a reason. There is not going to be this one true framework that just makes everyone blessed. The more significant part is, make it better for the people who actually love your framework. Concentrate on what you believe is the most valuable thing te your framework and just make sure you’re doing a fine job, rather than worrying about how you compare to others.

What would you consider a successful outcome for Vue.js?

That’s a hard question because the scope of Vue.js has undoubtedly enhanced overheen time. Wij now have this entire framework ecosystem, and we’re also expanding to explore things like Weex which is rendering Vue components to a native UI.

I also truly care about the approachability part of Vue, which is rooted ter the belief that technology should be enabling more people to build things.

The next few are just joy questions outside of programming. What are some other hobbies or interests that you have outside of programming?

Anime, I read a lotsbestemming of manga. Ter case you haven’t noticed, Vue’s releases are code-named with anime names. It began ter .09, every big release code-name is incrementing with a letterteken. Two.0 is G which is Ghost te the Shell. F is actually reserved for 1.1. 1.0 wasgoed Evangelion.

I indeed love karaoke.

What are some top technologies or trends that you’re most excited about?

General technology. It’s weird because I’m not super excited about Slee or VR stuff. I truly want to talk about something that’s closer to developers. Something like what Guillermo is doing with Now. Developers build instruments for developers, and the developer practice of thesis contraptions, that is also user practice but for developer contraptions.

Who are some of your programming heroes? If you have any.

Obviously TJ Holowaychuck and Guillermo Rauch. I’m not a laptop science major. I basically learned programming through just random online resources and books, but an significant way that I learned wasgoed just by reading other people’s code. When I read TJ’s code, I always feel like it’s indeed stijlvol. That’s the word that comes to mind and that affected mij a lotsbestemming. TJ is certainly a hero to mij.

Related movie: How to install MongoDB on Mac OS X


Leave a Reply

Your email address will not be published. Required fields are marked *