<story><title>I created the exact same app in React and Vue</title><url>https://medium.com/javascript-in-plain-english/i-created-the-exact-same-app-in-react-and-vue-here-are-the-differences-e9a1ae8077fd</url></story><parent_chain><item><author>stevebmark</author><text>As far as I can tell, Vue doesn&amp;#x27;t introduce anything new over other front end technologies. It&amp;#x27;s ironic developers who complain about React being the &amp;quot;new hotness&amp;quot; turn to Vue. It&amp;#x27;s the same core concepts as Backbone, Knockout, Angular, Ember,  and the countless private frameworks we&amp;#x27;ve home-grown on top of jQuery in our front end jobs. This is highly stateful, object oriented, mutate-by-defualt, class based, imperative programming, with imperative DOM manual wirings, separate templates from view logic (probably the biggest sin), and programming by non-transferable conventions (v-model=&amp;quot;todo&amp;quot;, this.$parent.$emit). I don&amp;#x27;t even want to know the implicit magic that makes list.push() update the view (notice how the author of the article doesn&amp;#x27;t know either!), but this is again the same as all of the above.&lt;p&gt;While I don&amp;#x27;t personally prefer any of the above style, the point is not a criticism, but to point out that fundamentally Vue doesn&amp;#x27;t seem to offer any different core concepts than other frameworks. I think it just hit a sweet spot timing of being a React competitor, when developers who didn&amp;#x27;t like (or, I suspect, don&amp;#x27;t fully understand) React&amp;#x27;s fundamentally paradigm and convention shift. As a biased pattern match, most times I see people comparing React to Vue, they&amp;#x27;re new to both, and don&amp;#x27;t get React.&lt;p&gt;I&amp;#x27;m biased, but I&amp;#x27;m biased through experience. Building Backbone apps where you glue events to DOMs written in strings with magic stateful data classes, and then scaling and debugging those apps, _sucked_. We didn&amp;#x27;t know any better back then, though, because we didn&amp;#x27;t have React to compare it too.&lt;p&gt;React can introduce problems (like any framework), but instead of trying to jump through hoops of convention, custom data binding and HTML tags, now my problems are my own. They&amp;#x27;re problems of composing functions or structuring my data flow. React is so thin that it&amp;#x27;s rare to have a &amp;quot;React&amp;quot; problem, now I have vanilla &amp;quot;Javascript&amp;quot; or even &amp;quot;function&amp;quot; problems, and it&amp;#x27;s such a breath of fresh air. Even when I&amp;#x27;m debugging performance problems, I don&amp;#x27;t feel like I&amp;#x27;m dealing with React, I&amp;#x27;m dealing with comparing Javascript objects.</text></item></parent_chain><comment><author>Aeolun</author><text>Vue doesn&amp;#x27;t really introduce anything we haven&amp;#x27;t seen before indeed.&lt;p&gt;Fortunately it doesn&amp;#x27;t regress from what we have learned before either.&lt;p&gt;The most important factor in favor of Vue however, is that it &amp;#x27;just works&amp;#x27;. When working in the reaction ecosystem I feel like I&amp;#x27;m constantly trying to couple together chains that call functions on functions on objects.&lt;p&gt;Then there&amp;#x27;s the components that have bugs that make them fail in the most basic of situations.&lt;p&gt;And lastly I have to write 3 times as much code to get all of it even running.&lt;p&gt;Give me Vue and it&amp;#x27;s magic any time of the day.</text></comment>
<story><title>I created the exact same app in React and Vue</title><url>https://medium.com/javascript-in-plain-english/i-created-the-exact-same-app-in-react-and-vue-here-are-the-differences-e9a1ae8077fd</url></story><parent_chain><item><author>stevebmark</author><text>As far as I can tell, Vue doesn&amp;#x27;t introduce anything new over other front end technologies. It&amp;#x27;s ironic developers who complain about React being the &amp;quot;new hotness&amp;quot; turn to Vue. It&amp;#x27;s the same core concepts as Backbone, Knockout, Angular, Ember,  and the countless private frameworks we&amp;#x27;ve home-grown on top of jQuery in our front end jobs. This is highly stateful, object oriented, mutate-by-defualt, class based, imperative programming, with imperative DOM manual wirings, separate templates from view logic (probably the biggest sin), and programming by non-transferable conventions (v-model=&amp;quot;todo&amp;quot;, this.$parent.$emit). I don&amp;#x27;t even want to know the implicit magic that makes list.push() update the view (notice how the author of the article doesn&amp;#x27;t know either!), but this is again the same as all of the above.&lt;p&gt;While I don&amp;#x27;t personally prefer any of the above style, the point is not a criticism, but to point out that fundamentally Vue doesn&amp;#x27;t seem to offer any different core concepts than other frameworks. I think it just hit a sweet spot timing of being a React competitor, when developers who didn&amp;#x27;t like (or, I suspect, don&amp;#x27;t fully understand) React&amp;#x27;s fundamentally paradigm and convention shift. As a biased pattern match, most times I see people comparing React to Vue, they&amp;#x27;re new to both, and don&amp;#x27;t get React.&lt;p&gt;I&amp;#x27;m biased, but I&amp;#x27;m biased through experience. Building Backbone apps where you glue events to DOMs written in strings with magic stateful data classes, and then scaling and debugging those apps, _sucked_. We didn&amp;#x27;t know any better back then, though, because we didn&amp;#x27;t have React to compare it too.&lt;p&gt;React can introduce problems (like any framework), but instead of trying to jump through hoops of convention, custom data binding and HTML tags, now my problems are my own. They&amp;#x27;re problems of composing functions or structuring my data flow. React is so thin that it&amp;#x27;s rare to have a &amp;quot;React&amp;quot; problem, now I have vanilla &amp;quot;Javascript&amp;quot; or even &amp;quot;function&amp;quot; problems, and it&amp;#x27;s such a breath of fresh air. Even when I&amp;#x27;m debugging performance problems, I don&amp;#x27;t feel like I&amp;#x27;m dealing with React, I&amp;#x27;m dealing with comparing Javascript objects.</text></item></parent_chain><comment><author>cageface</author><text>Seeing those quasi-JS expressions in HTML attributes is enough to put me off Vue.&lt;p&gt;I understand why people feel overwhelmed with the whole React&amp;#x2F;Redux&amp;#x2F;Router&amp;#x2F;Saga stack but you really don&amp;#x27;t need most of that when you&amp;#x27;re just getting started and React itself is quite simple and elegant.</text></comment>