5 ms·
These are the things I find to be killer features of React and it's ecosystem: - React Native (I know there's Weex but it's not production ready, nor as featur
by jameslk 9y ago
These are the things I find to be killer features of React and it's ecosystem:
- React Native (I know there's Weex but it's not production ready, nor as feature rich)
- Streaming server side rendering
- React Relay (GraphQL integration)
- JSX by default. VueJS pushes an Angular-esque template language where I have to learn new syntax, binding concepts, directives and conditional statements.
- Corporate backing
I've used React in very large projects, where these features have been fairly critical. React's licensing is odd but not odd enough for me to ditch it. I'd really hate to see the community churn once again on frontend libraries, but that's JavaScript for you I guess.
- jaequery 9y agoi was in the same boat as you regards to syntax but in 10 mins you will grasp everything about vuejs. of all the frameworks, vuejs has the simplest syntax to learn. its no where as complex as angular and way more elegant. also beats jsx in terms of making your code more cleaner and prettier. im never going back to jsx.
- mateuszf 9y ago> i was in the same boat as you regards to syntax but in 10 mins you will grasp everything about vuejs. Not sure about the original poster, but I prefer react/jsx not because it's simpler, but it's more powerful - it's a simple extension to a full programming language. You can do whatever you want with it.
- jaequery 9y agoperhaps you might be thinking that you can't run raw js with vue? well you get js and more. it's just less coding and boilerplate if anything. vue also optimizes your reactive codes and is faster in many cases. react can get pretty slow and heavy if you don't know what you are doing and trying to debug those situations can get pretty hairy. otoh, i've not seen any similar issues with vue. what vue does with the bindings is really neat.
- dmitriid 9y agoWhich part of this is clean or pretty? <button v-bind:disabled="isButtonDisabled">Button</button> <div v-bind:id="'list-' + id"></div> <form v-on:submit.prevent="onSubmit"></form> <a @click="doSomething"></a> There are some redeeming qualities compared to say, Polymer. But it's neither clean nor pretty
- chj 9y agoYou can make it cleaner: <button :disabled="isButtonDisabled">Button</button> <div :id="'list-' + id"></div> <form @submit.prevent="onSubmit"></form> <a @click="doSomething"></a>
- 9y ago
- wishinghand 9y agoOn the corporate backing note- Vue has Monterail, Laravel, JSFiddle, STDLib, UpYun, Deepstream Hub, and others to fund a small team.
- azangru 9y ago> - Streaming server side rendering This feature appeared in React v16 (which is still in beta). Vue had it long before.
- jameslk 9y agoI wasn't aware VueJS had streaming server rendering (and I still can't find anything about it), but React has had it long before v16 via a library (https://github.com/aickin/react-dom-stream https://github.com/aickin/react-dom-stream)
- jameslk 9y agoApparently my google-fu was failing me. Found the docs on streaming rendering for Vue here: https://ssr.vuejs.org/en/streaming.html https://ssr.vuejs.org/en/streaming.html Thanks for pointing out that it has it.
- darrinmn 9y agoyea, Vue had it in its core along time ago. Hence another downfall of react... you end up downloading tons of 3rd party packages that Vue gives you by default.
- PolCPP 9y agoThere's also some early/limited support of vue using nativescript, which is more mature than weex. https://www.nativescript.org/blog/a-new-vue-for-nativescript https://www.nativescript.org/blog/a-new-vue-for-nativescript