Earlier quoted context omitted.
Same. That and the fact it took me an afternoon to get an hello world with react and understand it. And 20 minutes with Vue.
I implore you to checkout create-react-app to get a hello world really quick: https://github.com/facebookincubator/create-react-app npm install -g create-react-app create-react-app my-app cd my-app/ npm start Your sentiment is correct that tooling around these pieces of technology needs to always be first class. React failed miserably, and Vue did an AMAZING job. I'm probably starting to sound like a shill for React.…
How we do Vue at GitLab: one year later
81–90 of 208 posts
Re: How we do Vue at GitLab: one year later
#82Earlier quoted context omitted.
Same. That and the fact it took me an afternoon to get an hello world with react and understand it. And 20 minutes with Vue.
20 minutes vs an afternoon is probably not a great gauge for making technology choices. I highly recommend watching Rich Hickey's "Simple Made Easy" [1] talk which covers how the right ("simple") choice may not be the "easiest" (convenient, most familiar) one. [1] https://www.infoq.com/presentations/Simple-Made-Easy
Re: How we do Vue at GitLab: one year later
#83Earlier quoted context omitted.
Same. That and the fact it took me an afternoon to get an hello world with react and understand it. And 20 minutes with Vue.
I implore you to checkout create-react-app to get a hello world really quick: https://github.com/facebookincubator/create-react-app npm install -g create-react-app create-react-app my-app cd my-app/ npm start Your sentiment is correct that tooling around these pieces of technology needs to always be first class. React failed miserably, and Vue did an AMAZING job. I'm probably starting to sound like a shill for React.…
My pet peeve with react is that I can't just code. I have to stop every 10 steps and reflect on the tool I use, instead of the problem I'm trying to solve.
Re: How we do Vue at GitLab: one year later
#84Earlier quoted context omitted.
That really doesn't work well with: > Our designer could churn out neat html/css, but was a beginner in Javascript. I write JS every day, and frankly that code looks like an unholy mess to me, so I can't imagine what it looks like to a beginner. Is "styled.div``" a function call? It's not self-evident. How do you do inheritance? Is that a template string with functions inside it? Would that CSS autocomplete? That cod…
Interesting critique. I would highly suggest checking out template literals: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... Yeah styled.div is a function as you can check out in the mdn docs I linked, it's really cool stuff. Inheritance is done like: const List = styled.ul` li { padding: 10px; } ` const HeavyPaddedList = styled(List)` li { padding: 20px; } ` If you wanted to just change the li you'd…
So, yeah, you lose all the syntax highlighting etc. that comes with just writing normal CSS. I don't think it's unreasonable for a designer to object to that - how would you feel if you were presented with a build system that required you to write all your JavaScript inside one big string statement?
Maybe it's just me, but I don't find it intuitive at all. `styled` has properties for, I assume, every HTML tag? But it can also be called as a function for inheritance purposes? And that inherited call appears to use the same tag as its parent... but what if I want to reuse styles across different tags? How could I define some shared CSS properties I'd use across different elements?
Don't get me wrong, it is cool stuff. But it also feels far too much like hand-wavey magic stuff. I've literally never used Vue before, but looking at this page:
https://vuejs.org/v2/guide/single-file-components.html
I have zero confusion about how to write styles for it. And I really don't understand why styled-components would be worth the extra effort by comparison. What does it bring to the table? It's different without a compelling reason for being different.
Re: How we do Vue at GitLab: one year later
#85Earlier quoted context omitted.
What Vue can do is create a well-designed state management library that works out of the box without umpteen lines of boilerplate... and that's exactly VueX. If you love to type, though, I highly recommend Redux! const ADD_TODO = 'ADD_TODO' import { ADD_TODO } from '../actionTypes' function addTodo(text) { return { type: ADD_TODO, text } } dispatch(addTodo(text))
I refuse to believe VueX is any simpler than Redux: https://github.com/vuejs/vuex/blob/dev/examples/counter/stor... Also you don't have to import your actions, it's just a smart thing to do. This gives me heartache a bit: https://github.com/vuejs/vuex/blob/dev/examples/counter/Coun...
Vue and Vuex seem less clever JS (shiny es6 features), less clever programming (mutability etc) which I feel may be a detriment for complex apps in the long term but it is simpler.
(I may be biased because before Vue and React/Redux I did Angular1 & React/Reflux and I view Vue as a Angular/React mix and Vuex is not far from Reflux)
Re: How we do Vue at GitLab: one year later
#86React made me feel stupid, Vue made me feel smart. So I use Vue. I came at it as a long-time jQuery dev with Angular 1 experience.
Re: How we do Vue at GitLab: one year later
#87Earlier quoted context omitted.
I refuse to believe VueX is any simpler than Redux: https://github.com/vuejs/vuex/blob/dev/examples/counter/stor... Also you don't have to import your actions, it's just a smart thing to do. This gives me heartache a bit: https://github.com/vuejs/vuex/blob/dev/examples/counter/Coun...
Vuex is simpler than Redux. First you don't have to grasp the Container/Component pattern. Second you have less middleware ("what, you don't use redux-saga and redux-think?"). Vue and Vuex seem less clever JS (shiny es6 features), less clever programming (mutability etc) which I feel may be a detriment for complex apps in the long term but it is simpler. (I may be biased because before Vue and React/Redux I did Angul…
That's not part of Redux, it's a separate design pattern you can use with any Flux architecture. React-Redux doesn't even require you to do it that way, and for good reason: you might not need it. There's nothing wrong with just importing a store reference wherever you want it. That's a totally reasonable pattern for some applications.
This illustrates my point I guess. There's so many people thinking about how to architect and implement React applications that there's a lot of cargo-culting.
Re: How we do Vue at GitLab: one year later
#88React made me feel stupid, Vue made me feel smart. So I use Vue. I came at it as a long-time jQuery dev with Angular 1 experience.
What was it about React that made you feel stupid? I can see how Redux would make someone feel that way but react is so simple I'm having a hard time visualizing someone not liking it for that reason.
With Vue you can write a scalable understandable application using the documentation. The same criticisms do certainly apply, but many of the advanced features are worked into the application.
For example Vuex is bundled into Vue and has verbose and opinionated documentation on how it lives in your vue application.
Re: How we do Vue at GitLab: one year later
#89Earlier quoted context omitted.
I implore you to checkout create-react-app to get a hello world really quick: https://github.com/facebookincubator/create-react-app npm install -g create-react-app create-react-app my-app cd my-app/ npm start Your sentiment is correct that tooling around these pieces of technology needs to always be first class. React failed miserably, and Vue did an AMAZING job. I'm probably starting to sound like a shill for React.…
React is the new JQuery, I really don't see Vue and Angular being in the same world as React.
Re: How we do Vue at GitLab: one year later
#90Earlier quoted context omitted.
Even if you ignore 2-way-binding?
The whole component russian dolls with data/callback passing is something most beginers have a very hard time to grasp. Add webpack to the mix, make them fight with JSX that doesn't want to do what they need and voila, you get a sad student. Starting with vue is just: add a script tag, put your template here, now your data here. Done. The start up experience is nothing alike.