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?
Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:
@{Nuxt.js}|tool:7304| consisting of @{Vue CLI}|tool:9559|, @{Vue Router}|tool:6932|, @{vuex}|tool:6705|, @{Webpack}|tool:1682| and @{Sass}|tool:1171| (Bundler for @{HTML5}|tool:2538|, @{CSS 3}|tool:6727|), @{Babel}|tool:2739| (Transpiler for @{JavaScript}|tool:1209|),
Vue Styleguidist as our style guide and pool of developed @{Vue.js}|tool:3837| components
@{Vuetify}|tool:6163| as Material Component Framework (for fast app development)
@{TypeScript}|tool:1612| as programming language
@{Apollo}|tool:5508| / @{GraphQL}|tool:3820| (incl. @{GraphiQL}|tool:7879|) for data access layer (https://apollo.vuejs.org/)
@{ESLint}|tool:3337|, @{TSLint}|tool:5561| and @{Prettier}|tool:7035| for coding style and code analyzes
@{Jest}|tool:830| as testing framework
@{Google Fonts}|tool:2652| and @{Font Awesome}|tool:3244| for typography and icon toolkit
@{NativeScript-Vue}|tool:9623| 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.
angular-gantt provides a gantt chart component to your AngularJS application.
AnyChart is a flexible JavaScript (HTML5) based solution that allows you to create interactive and great looking charts. It is a cross-browser and cross-platform charting solution intended for everybody who deals with creation of dashboard, reporting, analytics, statistical, financial or any other data visualization solutions.
It is a library for building interactive web interfaces. It provides data-reactive components with a simple and flexible API.
Two-way data binding between model and view.;Advanced calendar support to define holidays and working hours.;Each task and row has its own properties and behavior.;Rows and tasks can be sorted and filtered.;Plugin architecture to add custom features and hooks.;API to listen events and call methods from your controller.
Cross-platform, cross-browser (IE6+);Compatible with virtually all scripting languages (ASP, PHP, ColdFusion, Perl, etc.);Huge, constantly growing number of supported types of charts, maps, stock/financial graphs, Gantt charts;No installation;Driven by the state-of-the-art JavaScript API;No dependencies;Highly customizable;Easy to use;Events support;Multiple demos;Extensive docs and API reference;multiple interactive features (tooltips, (multi-)selection, hover, (multi-level) drill-downs, excluding data points, etc.);Powerful export engine;Full accessibility (Section 508);Fast, attentive customer support;Resonable pricing ($79+), flexible OEM/SaaS/PaaS licensing, free for non-commercial use
Reactivity; Components; Modularity; Animations; Routing; Stability; Extendable Data bindings; Plain JS object models; Build UI by composing components; Mix & matching small libraries