16 ms·
Vue.js Creator Evan You Interview
- sunseb 6y agoLet's tell that to the Gnome team...
- skc 6y agoVue is the one js framework that was really a breeze to learn. In most cases, your first attempt at doing something in Vue will just work the way you intuit it to work. Docs are fantastic as well. Congrats to Evan You for a stellar job
- genidoi 6y agoThe Docs take Vue to a league of its own. I'd contend that no other JS ecosystem has docs that are as lucid, concise and beginner friendly as Vue's. This intro to VueX (Vue's state management library) is a good example: https://vuex.vuejs.org/ https://vuex.vuejs.org/
- baybal2 6y agoThe biggest good side of Evan I think is that he stands out as a non doctrinaire among webdev stars, not claiming that this, and that pattern/paradigms is the biggest thing since sliced bread. Projects driven by "biggest things since sliced bread" tend to vane very quickly after the initial excitement, and agiotage about its buzzword feature is gone.
- azangru 6y agoAre you guys all using ad blockers? I open Vue docs — and the right-hand column of the screen is a wall of ads. For comparison, I open React docs — and there are only docs there (unless you count the obligatory BLM header). With a larger font, too, because there, docs don't need to compete for page space with the ads.
- learc83 6y agoWhere are you looking? I don’t even see a Space for ads.
- jorams 6y agoThere is a small, simple ad in the top left, above the menu, but that's it. If all ads were like that and I had no privacy concerns, I would not even need an ad blocker.
- _coveredInBees 6y agoYou might want to check your browser/machine for something hijacking and inserting ads. The only ad I see is in the top-left and it is very non-intrusive and doesn't distract from the content at all.
- ffpip 6y agoThere are 2 ad networks on the page. But only 1 tiny ad by carbonads.com . Check what extensions you use, and use uBlock Origin as your adblocker.
- marcosdumay 6y agouBlock Origin removes something from that page. But when I disable it, I see no difference at all.
- jakear 6y agoI also have no ad blocker and see just the one small non intrusive ad. No PiHole or custom dns either. Might be worth looking deeper into what’s going on to see if something on your computer is injecting ads into webpages you view.
- azangru 6y agoFor the reference, since the comments made me realise we might all be seeing Vue docs page differently, here's how it shows up for me (no ad blockers; ads in the top, top left and right corners of the screen): https://i.imgur.com/mEmh3mD.png https://i.imgur.com/mEmh3mD.png
- manigandham 6y ago
- davidwparker 6y agoI'd say that Svelte's are better, plus the tutorial teaches everything. The nice thing with Svelte is that there's not much to it and you can read the entire docs in a few hours. https://svelte.dev/tutorial/basics https://svelte.dev/tutorial/basics
- canofbars 6y agoCan confirm. Vue was the first framework I learned and I remember it being super intuitive. The only thing I couldn't understand at first was Vuex because I couldn't work out what the point of it was. This was probably because I hadn't ever seen an app big enough to benefit from it. I know there was a big meme about how js frameworks come and go every 2 years but it feels to me like react and vue are almost the end game frameworks. They work so well and have been so stable over the years that this might be what we end up with. It almost blows my mind how they manage to make such simple interfaces for things that are super cumbersome in plain JS
- Tolexx 6y agoVuex is my only main challenge as well when it comes to Vue. Overall it's a fantastic js framework
- robodale 6y agoI've implemented Vuex on a Vue 2 project to reduce adding props all the way down in my sub-components. Looking back, I would only add Vuex to a project if it needed it. Hint: small projects do not need it. Just rely on "Events up, props down" for your data flow.
- chris_st 6y agoAnd if you want a component UI framework (not everyone does!) then checkout out Quasar [1]. It's amazing... fantastic docs, really well thought out defaults and customization, easy to theme, lots of Tailwind-style helper classes, just overall fantastic. [1] https://quasar.dev https://quasar.dev
- KarimDaghari 6y agoHaving tried both Quasar and Vuetify. I found Vuetify (https://vuetifyjs.com/ https://vuetifyjs.com/) way better.
- chris_st 6y agoInteresting! I went the other way. For whatever it's worth, I found lots of things in Vuetify that weren't documented, and overall found things less polished and complete.
- halostatue 6y agoCompletely agree. I really want to use Quasar, but need to use Vuetify because my use case falls outside of the Quasar sweet spot.
- halostatue 6y agoQuasar is great as long as you can work with the flow for Quasar. The moment you need to step out of it (such as having multiple entry points from a single codebase), it’s hard to work with.
- racl101 6y agoIt was a pleasure to learn Vue after fumbling around with React.
- red2awn 6y agoJust here to thanks Evan (and friends) for building such an awesome technology.
- newsbinator 6y agoSeconded. Using Vue makes me happy like no other tech has quite done.
- DJBunnies 6y ago3rded from a backend engineer. Vue.js just makes sense.
- nullsense 6y ago4thed from a full stack developer where some parts of the stack are a little fuller than others.
- imhoguy 6y agoAnd happy Ruby on Rails veteran here with Vue at the front-end!
- Tolexx 6y agoDoes it incorporate well with rails?? Again I think that stimulus.js can also give a feel of an SPA like when Vue is used
- imhoguy 6y agoYes. No issues with Webpacker as Vue is officially supported. In fact my quite old project is now augmented with Vue to make several micro-SPAs in interactive parts. Layout HTMLs are served the standard way with Haml. To get things faster I sometimes render data JSON objects in HTML page script tags to get rid of initial fetch - works nicely.
- candiddevmike 6y agoIsn't this a little ironic considering the backlash against Vue 3 and the creation of Svelte?
- uallo 6y ago> backlash against Vue 3 What backlash against Vue 3? I know that there were very passionate discussions about several different RFCs that eventually lead to the current Composition API. But as far as I can tell, the current Composition API is very well accepted in the community. Also, the Composition API is an addition and does not replace the API of Vue 2. So do you refer to the controversies about older RFCs? Because I can't see any other backlash. BTW, having discussions in an RFC is a good thing as it helps getting to a better overall solution. > creation of Svelte How is Svelte related to Vue in general or Vue 3 specifically? Svelte 1.0 was released in 2016 and I can't really see any irony here at all.
- nailer 6y agoI don't know much about Vue but the single file components used in Svelte was inspired by Vue. I think they share more goals than they compete on, with Svelte being newer (compiler based) and Svelte taking an older style approach (Virtual DOM) to implement those goals.
- arxpoetica 6y agoOther way around. Vue adopted Ractive's SFC approach. (Ractive was Svelte's predecessor.) https://twitter.com/Rich_Harris/status/1028683965983584256 https://twitter.com/Rich_Harris/status/1028683965983584256
- deleted 6y ago[deleted]
- nefasti 6y agoMaybe those complaining are not the userbase they want?
- 6y ago
- Bergrebell 6y agoVue just makes fun. Especially with tools like nuxtJS.
- apacheCamel 6y ago>Another important thing is that I take long breaks (several weeks) whenever I feel I need to — which is probably harder to do if I’m a full time employee at a company. A "Patreon-funded full-time job position" and the ability to take weeks off at a time? What an amazing career path Evan has taken. He sounds so passionate about Vue and he is fully funded to be able to do it. And what a good project to fund, always moving forward but at the same time pushing for the features that users want.
- langitbiru 6y agoAnd the money is not bad. https://blog.patreon.com/vue-js-creator-evan-you https://blog.patreon.com/vue-js-creator-evan-you
- cwxm 6y agowith his level of fame, he would easily make that at one of the top tech firms though.
- steve_adams_86 6y agoI agree. I earn something comparable and I'd say I provide far, far less value to any community or even my employer.
- fractionalhare 6y agoYes. He would more than double that by joining at the E5/L5 level at Facebook/Google, which he's almost certainly qualified to do. But given the success of Vue.js and his status in the JS community, he'd probably be a marquee hire at the E6/L6 level. However he would be sacrificing a lot of autonomy to do so, because Vue.js would effectively be developed under the same corporate stewardship model as React and Angular. He doesn't make as much money as he could given his accomplishments, but he maintains broad control and ownership over his work. Likewise his Patreon sponsorships can increase over time as Vue.js increases in adoption. And if he wants more income, he can take on lucrative consulting contracts for Vue.js deployments with large tech companies. A few of those per year would likely meet or exceed everything he's bringing in through Patreon.
- kinow 6y agoGreat stuff, waiting for Vue 3 release, then after a few weeks will start updating my current project. As a former backend engineer, I'm really grateful to be working with Vue. I used Backbone, and a little React and Angular before. Vue was the simplest and the most fun so far.
- onion2k 6y agoVue is awesome. The encapsulation that comes from single file components is something I would love to have in React.
- siquick 6y agoWhat’s to stop you using single file components in React? Having everything in one file was the thing I didn’t like about Vue - constantly scrolling up and down the file between the methods and the template/styling got pretty annoying quickly.
- Semaphor 6y ago> What’s to stop you using single file components in React? Probably the same thing that stopped you from not using SFCs in Vue: One is idiomatic, the other isn’t ;)
- onion2k 6y agoWhat’s to stop you using single file components in React? The only way I know of to make them is to use styled components. RedwoodJS seems to doing something like a template literal for styling but that's still not really the same. In my opinion Vue's <style scoped> approach is much more elegant. constantly scrolling up and down the file between the methods and the template/styling got pretty annoying quickly Buy a bigger monitor. :)
- petepete 6y agoThat's my least favourite thing about Vue. One directory per component makes so much more sense to me, not having a mix of syntaxes in a single file. Still, Vue is my favourite tech for SPAs.
- manigandham 6y agoVue (like with most of its features) let's you do that if you want. The <script> and <style> tags in the .vue file can reference other files so you can have a directory per component with separate code files. Sometimes that's helpful for better code completion and formatting too.
- jdellinger 6y agoSo I recently had the opportunity to use the new composition API, which will come in V3, in a project and want to share my two cents. The project had some limitations tho: no webpack and no typescript (so basically inline x-templates and pure browser JS). Starting of with the composition API was great. No "this", easy reuse of logic via react-like "useXYZ" hooks and a general fast development. But two things really bugged me: * You need to be really careful when passing around values and how you handle them. Destructure a Proxy object? You instantly lose reactivity. Not using a reference to proxy object in computed? Changes won't trigger the computed function. There is a lot of magic involved and while it may seem that it takes a lot of "thinking" from you, once it doesn't work you will have to rethink and maybe even ditch some of the underlying language's features. * "ref" vs "reactive", where "ref" is used for primitives which need a proxy object wrapper and "reactive" is used for objects/arrays. Now, my primary problem is that you again have to use specific operations based on whether your using ref or reactive. A "ref" array can be easily set to an empty array via `arr.value = []`. If you try this with a "reactive" array, you will lose reactivity; you would have to use `arr.length = 0`. TypeScript detects a lot of those pitfalls and, IMO, it is essential when using the composition API. Without it, there is too much invisible magic happening.
- typingmonkey 6y agoYes I fully understand this. Also with vue2 you often get problems with the internal version of "array" that is wrapper around a normal array to detect changes.
- Crazyontap 6y agoWhenever people mention how awesome Vue is, there is always a comment that nothing beats vanilla JS. I recently I learned that it not always true. As a matter of fact Vue (and many frameworks) does a lot of optimization under the hood to keep your apps breezy. For example when you're dealing with lots of data, One of such concepts is re-using input fields and DOM elements via keying. So if you are trying to render lots of input fields, Vue can intelligently reuse(1) the components so as to make minimal changes to the DOM (implementing this vanilla JS is possible but might require lots of efffort). (1) https://vuejs.org/v2/guide/components.html#Reusing-Components https://vuejs.org/v2/guide/components.html#Reusing-Component...
- sam_goody 6y agoI was turned off of Vue when they put a big "Join BLM" banner on the top of their site. In my vue, that is mixing politics and personal opinions into a public coding project. I believe this to be a non-no. It implies that those that don't share your [unrelated] views are not legitimate. In this example, it implies that those who are pro-minority rights but anti-protests are in some way less committed than their pro-rights and pro-protest counterparts. Which is not correct - there are many, many people like myself who have dedicated their lives to helping minorities, but think it can better be done if we don't turn them into victims. You can disagree, but don't make it part of the code. I encourage all large public projects to please respect the opinions and efforts of all their users and possible contributors, even if their users are not woke, or try to do good in ways other than you would. The banner is gone, so am hoping that other commenters will respond to this as an example, not as a specific. (In other, don't defend BLM, there are other venues for that.) Please, please keep politics for the media to exagerate, and keep large projects politics free. edit - sigh For all those erstwhile readers that are righteously downvoting me into oblivion - that's fine. I respect your right to consider my verse worthy of ire. But a comment to explain why you disagree would be so much better! Angry destruction without reason is already plentiful, but it is neither constructive nor persuasive. It reinforces the feeling that you will happily cancel anyone with another point of view just because you don't care to hear it.
- H1Supreme 6y agoReact has a BLM banner as well.
- ZephyrBlu 6y agoAnecdotally, it seemed like every open source project I looked at had some sort of banner showing support for BLM. The Django, React Router and React docs all definitely had BLM stuff.
- beefbroccoli 6y agoIt always gets a groan out of me. They come across as self-serving, like big corporations that run commercials to talk about how great they are ('we here at widget company X care about Y'). In comparison, the charity-ware of vim is fine to me. It does what it's supposed to without all the backpatting.
- deleted 6y ago[deleted]
- spoonsearch 6y agoThere's a good documentary on Vue.js and it's creator Evan You - https://www.youtube.com/watch?v=OrxmtDw4pVI https://www.youtube.com/watch?v=OrxmtDw4pVI
- syndacks 6y agoHow was Evan able to work on Vue while employed by Google? Didn't his contract have a clause in it (as I know most tech companies do) that more or less states: anything you make while working here is ours, regardless of wether you do it in your free time or not (especially an Angular competitor).
- hasperdi 6y agoI think he started Vue after his Google time. Tde story is covered in thing short documentary https://m.youtube.com/watch?v=OrxmtDw4pVI https://m.youtube.com/watch?v=OrxmtDw4pVI
- jaeming 6y ago>The "Function-based Component API" proposal for Vue 3 received a massive pushback from community members. I'm having a hard time getting on board with the Composition API. I'll admit I was one of those that pushed back against it. While it looks like a powerful API and I think it would be a great replacement for mixins for instance, I don't want to start writing all my components with it. BTW, My main fear was not that they would deprecate the object-based syntax, like Evan points out in the interview. What I'm worried about is now walking into a Vue role where I don't know if they're using Object syntax, Class syntax, or the Composition API syntax, or a combination of all three. My fear was partially confirmed when we had a meeting at work about the upgrade path to Vue 3 and almost all of the other engineers stand in support of writing everything with the Composition API. Time will tell if the Composition API becomes like React Hooks in terms of popularity I guess. But I'm already using frameworks like Svelte, and a few others at home as a kind of backup plan. BTW, Some nice looking, Typescript-friendly frameworks I've also checked out are https://aurelia.io https://aurelia.io and https://stenciljs.com https://stenciljs.com