Riot vs Vue.js: What are the differences?
Riot: A React-like user interface micro-library. Riot brings custom tags to all browsers. Think React + Polymer but with enjoyable syntax and a small learning curve; Vue.js: Reactive Components for Modern Web Interfaces. Vue.js is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Some of the features offered by Riot are:
- Absolutely the smallest possible amount of DOM updates and reflows.
- One way data flow: updates and unmounts are propagated downwards from parent to children.
- Expressions are pre-compiled and cached for high performance.
On the other hand, Vue.js provides the following key features:
"Light weight. Fast. Clear" is the top reason why over 11 developers like Riot, while over 207 developers mention "Simple and easy to start with" as the leading cause for choosing Vue.js.
Riot and Vue.js are both open source tools. Vue.js with 142K GitHub stars and 20.4K forks on GitHub appears to be more popular than Riot with 13.7K GitHub stars and 1.01K GitHub forks.
Sellsuki, Repro, and BrightMachine are some of the popular companies that use Vue.js, whereas Riot is used by BestFone 2.0, Walla!, and Thanx. Vue.js has a broader approval, being mentioned in 819 company stacks & 1169 developers stacks; compared to Riot, which is listed in 9 company stacks and 6 developer stacks.
What is Riot?
What is Vue.js?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
Sign up to get full access to all the companiesMake informed product decisions
What tools integrate with Riot?
Sign up to get full access to all the tool integrationsMake informed product decisions
For those who want to develop business in China, Vue.js would be your first choice. I never thought Vue.js is better than Angular 2 or React , but for project language choosing, sometimes you should not only consider technology advance, but also must consider human resource market.
In China, there are far more engineers familiar with Vue.js than React and Angular, that means you can easily hire some front end engineers with much cheaper price. The reason why Vue.js is so popular in China is just because the community, as Vue.js author You Yuxi is Chinese, the community around Vue.js is mainly in Chinese language and most engineers speaks Mandarin, thus they can get questions and problems solved at first time.
From technical side, Vue.js is more like a simplified Angular, syntax are mostly same,
v-for. The most convenience part is Vue.js put
css in one single
vue file so that you will not have to create a separate folder to include 3 files as Angular does.
To be frankly, I love Vue.js especially when I need to quickly create a small project contains only 1 or 2 pages even 5 pages, Vue.js would be the best choice, it's small and fast. For a really big and huge project, I will consider Angular, after all, there are far more complicated and interesting plugins to play with, Angular need more time, more code, more complex, but we senior engineer is living for some sophisticated code which only we can understand and set barriers for other beginners, right?
For developing our #frontend applications, we decided to use Vue.js . Being such an easy to learn library, compared to React for example, it made everything so easy. At first we started with Polymer but the existing tooling and small community at the time made us look for alternatives.
We are phasing out jQuery and jQuery UI in favour or Vue.js and @Vue-cli so we can support building a modern, well-architectured frontend.
I recommend using Angular 2 when moving from Angular 1 if you are looking for a fully featured framework solution. Neither Vue.js nor React just work out of the box and require creating your own components from scratch as well as the kind of support architecture available in Angular 2 out of the box. However if you are looking for something lightweight to add reusable components to an existing application Vue.js and React are more ideal to that end.
I use Vue.js because I find the resulting code cleaner, more concise and easier to read.
However if you are looking for the broader community and wider corporate level adoption, go for react. Both work well and I have used both successfully. For me the preference for vue is a matter of personal taste with regards to code aesthetics.
I use Vue.js because it allows me to keep dev momentum. Vue includes many things out of the box that React doesn't include while remaining "lighter" than angular. For example: - Vue single file components include template, logic and styling out of the box. It also allows you to use language parsers such as Pug to write your component template and SCSS for styling. - Vue uses a simple Object to initialize an instance - Vue has support for transitions out of the box (say, for example, a fade in-out between component swaps, or adding an element to a list) - Vue has observers and two way binding like angular - Vue can conditionally render content in templates via template conditional tags
It really depends on your needs. Vue is most popular on Github but React has a huge demand in hiring (Mostly to convert existing angular or legacy applications to React). React is backed by Facebook and has more highly skilled contributors than Vue, though not to detract a single bit from Vue's own skilled contributors. If you're looking for developers, it's much easier to find seasoned react devs, at least as of Jul 2019. If you're a marketing or news agency that has deadlines, Vue's efficiencies may be the best, however, a large corporation may favour React since it has more support and is more of an "open slate" so to speak.
Back in 2015, my company had a back-office dashboard that was originally built in AngularJS 1. Since Angular 2 presented drastic changes we decided to rethink the options and we looked at React and Vue.js. Besides, at the time, Vue had basically only one developer, its structure (100% oriented to components) and also its backward compatibility focus (Angular 1 to 2 no more) we preferred it against React cause it seemed more straightforward, clean and with a small learning curve. Now 4-5 years later we are very happy with our choice.
This is my stack in Application & Data
My Utilities Tools
Google Analytics Postman Elasticsearch
My Devops Tools
Git GitHub GitLab npm Visual Studio Code Kibana Sentry BrowserStack
My Business Tools
I find using Vue.js to be easier (more concise / less boilerplate) and more intuitive than writing React. However, there are a lot more readily available React components that I can just plug into my projects. I'm debating whether to use Vue.js or React for an upcoming project that I'm going to use to help teach a friend how to build an interactive frontend. Which would you recommend I use?
I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.
It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.
Having developed in both Vue.js and React, I agree with your assessment of Vue. It does feel light and easier to understand and therefore learn. Seeing that Vue has some genetic roots with React, I would say start your friend out on Vue. If they need to learn React later, that should give them a good foundation. If you have a Pluralsight subscription, look for my course on Vue.js and feel free to use the demo project as a starting point.
I chose to use Vue.js a few years ago mainly for the easy learning curve. I have no experience with React, so I won't make any comparison here. Regarding available components, I never felt locked in because of Vue when looking for components. It happens that a component I wish to use is not available as a Vue component (and nobody published any Vue wrapper for it), but in such cases I was able to quickly hack a Vue wrapper component. In the end I don't think a decision to choose one framework over another should be made solely because of the number of components available. (And not all components in either framework is maintained, bug free, documented or easy to use)
I want to create a video sharing service like Youtube, which users can use to upload and watch videos. I prefer to use Vue.js for front-end. What do you suggest for the back-end? Node.js or Laravel ( PHP ) I need a good performance with high speed, and the most important thing is the ability to handle user's requests if the site's traffic increases. I want to create an algorithm that users who watch others videos earn points (randomly but in clear context) If you have anything else to improve, please let me know. For eg: If you prefer React to Vue.js. Thanks in advance
We think VueJS is great. It's the main tool used to generate the client-side UI of our updated admin system, as well as being used in other smaller projects. The possibilities that VueJS brings to the table, means that we can quickly create rich and app-like interfaces and experiences.
Vue.js is my front-end framework of choice. It's light, fast, and extensible. Its simplicity and reactivity system make it an absolute pleasure to use and it has a wonderful, ever-growing community.
New and very popular. Less legacy to deal with compared to React. Great documentation. Easy to get started.
It's amazing! Single file components, supports pug and sass, very easy to use, very fast, light weight.