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?
ESLint, TSLint and Prettier for coding style and code analyzes
Jest as testing framework
Google Fonts and Font Awesome for typography and icon toolkit
NativeScript-Vue for mobile development
The main reason we have chosen Vue.js over React and AngularJS is related to the following artifacts:
Empowered HTML. Vue.js has many similar approaches with Angular. This helps to optimize HTML blocks handling with the use of different components.
Detailed documentation. Vue.js has very good documentation which can fasten learning curve for developers.
Adaptability. It provides a rapid switching period from other frameworks. It has similarities with Angular and React in terms of design and architecture.
Awesome integration. Vue.js can be used for both building single-page applications and more difficult web interfaces of apps. Smaller interactive parts can be easily integrated into the existing infrastructure with no negative effect on the entire system.
Large scaling. Vue.js can help to develop pretty large reusable templates.
Tiny size. Vue.js weights around 20KB keeping its speed and flexibility. It allows reaching much better performance in comparison to other frameworks.
It was easier to find people who've worked on React than Vue. Angular did not have this problem, but seemed way too bloated compared to React. Angular also brings in restrictions working within their MVC framework. React on the other hand only handles the view/rendering part and rest of the control is left to the developers.
React has a very active community, support and has lots of ready-to-use plugins/libraries available.
Riot brings custom tags to all browsers. Think React + Polymer but with enjoyable syntax and a small learning curve.
It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Inferno is an isomorphic library for building high-performance user interfaces, which is crucial when targeting mobile devices. Unlike typical virtual DOM libraries like React, Mithril, Virtual-dom, Snabbdom and Om, Inferno uses techniques to separate static and dynamic content. This allows Inferno to only "diff" renders that have dynamic values.
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.;Lifecycle events for more control.
Reactivity; Components; Modularity; Animations; Routing; Stability; Extendable Data bindings; Plain JS object models; Build UI by composing components; Mix & matching small libraries
One of the fastest front-end frameworks for rendering UI in the DOM;Components have a similar API to React ES2015 components with inferno-component;Stateless components are fully supported and have more usability thanks to Inferno's hooks system;Isomorphic/universal for easy server-side rendering with inferno-server
Statistics
GitHub Stars
14.9K
GitHub Stars
209.7K
GitHub Stars
-
GitHub Forks
966
GitHub Forks
33.8K
GitHub Forks
-
Stacks
115
Stacks
55.2K
Stacks
25
Followers
100
Followers
44.7K
Followers
64
Votes
68
Votes
1.6K
Votes
20
Pros & Cons
Pros
13
Its just easy... no training wheels needed
13
Light weight. Fast. Clear
11
Very simple, fast
9
Straightforward
6
Minimalistic
Cons
1
Smaller community
Pros
294
Simple and easy to start with
230
Good documentation
196
Components
131
Simple the best
100
Simplified AngularJS
Cons
9
Less Common Place
5
YXMLvsHTML Markup
3
Only support programatically multiple root nodes
3
Don't support fragments
Pros
4
Faster than React
4
React-like api
3
Faster than Vue
3
Compatibility package for existing React apps
3
Faster than Angular
What are some alternatives to Riot, Vue.js, Inferno?