The battle of apples and oranges: Angular vs React vs VueJS
People keep asking about which framework to use (Angular, React, or VueJS), and which one is better. I can understand they want to know which one to use for projects, but it's a silly question. It's comparing apples to oranges. I'll explain why you should use one over the other for a specific situation, but it's only my humble opinion.
Before I start with Angular, I will have to clarify that I'm biased towards it.
I have been using AngularJS for 3 years and I've put a considerable amount of
time in Angular 4 (just Angular from now on). For now, we'll stick to Angular
though because AngularJS is not really updated anymore and it's becoming outdated.
So when should you use Angular? Well, when you're building a medium to a large
application. The set-up time is longer than both React and VueJS,
but it's also the full package. Where React and VueJS are only used as the user
interface, Angular is the user interface and it has other things "included".
As I said earlier, React only deals with the user interface. If you want things like a router or any way to interact with the server, you'll need to find modules yourself and integrate it with React. Many people like this, as it gives you all the freedom to choose whichever module you please. React can be used as a drop-in framework, so you can make parts of the page with React instead of having to make the entire page with a single framework, like Angular. Since React can easily be used as a drop-in framework but also includes a router module, it can be used for small to large applications. The set-up time is minimal, but it does have a fair learning curve. Where Angular uses TypeScript, React uses JSX. It means that all the logic and the templates can be built in a single file.
I hope that clears up the battle of the apples and oranges a little bit. The frameworks are completely different and don't even have the same use case. You can use Angular for large applications and has all the most-used modules built-in. React and VueJS are both for the user interface alone and they don't include any of the modules that deal with server interaction. This means the developer is free to choose any modules to fill these gaps. React and VueJS are comparable because they are both only for the user interface, but they still don't serve the same use case. React is for small to large applications because the file organization is simpler than VueJS. VueJS is for small applications only for now, simply because it hasn't had the time to mature just yet. You can use any of these frameworks to make single page applications, or React and VueJS for some dynamic elements.
If you like to talk about this subject further, follow me on twitter @RJElsinga or Instagram @roelof1001.Posted on: September 9th, 2017