Vue vs. React vs. Angular: Developers Share Their Favorite Tech

Written by Janey Zitomer
Published on May. 07, 2020
Vue vs. React vs. Angular: Developers Share Their Favorite Tech
Brand Studio Logo

“We’ve found value with Angular because it comes fully assembled.”

“React helps me move quickly and efficiently.”

“Vue’s templates are logical and clean.”

There might not be a “perfect” answer to which library or framework is best for tackling front-end web development projects, but that doesn’t mean software engineers don’t have their favorites.

In fact, the three developers we spoke with had strong opinions on the usability of Vue vs. React vs. Angular. 

Matthew Sells, an engineer at Chicago development agency 20spokes, said his team prefers React for its seamless integration of the user interface and logic, as well as its impressive selection of third-party libraries.

Meanwhile, Jim Frantzen, director of engineering at global marketing company Epsilon-Conversant, said his UI engineering teams build micro front-end systems with Angular because it comes fully assembled.

Developers across Chicago tech guided us through the pros and cons of each option, comparing their key features, industry popularity, performance and more. 

 

Tastytrade
Tastytrade
Matthew Sells
Software Engineer • 20spokes

Sells uses Vue for personal projects. He appreciates the tech’s logical and clean templates as well as its ease of use. But at 20spokes, his team relies more heavily on React for its integration and user interface abilities. 

 

Vue vs. React. vs. Angular: Which is your team’s preferred programming tool?

React is one of the core technologies we use at 20spokes, beautifying a Rails back end. We’ve found that React is a great tool for allowing us to get our hands dirty and dig into the nitty gritty of the apps we build. We’re allowed an incredible amount of fine-tuning which, given our focus on creating reusable components, lets us add new capabilities in a short amount of time. 

React offers seamless integration of the user interface and logic. It’s lightweight and it has a vast selection of third-party libraries available. Also, since we’re split between web and mobile work, it’s a short hop to transfer work to React Native.

 

Tell us about the most recent project you worked on using this tool. 

We’re currently working on the finishing touches of a healthcare project that boasts a heavy focus on relational data management (a lot of tables and forms). We used this project as a springboard to build what amounts to a customizable admin portal. After some fine-tuning, we’ll be able to use the portal in many projects to come. 

Using React, we have focused our energy on functionality and flexibility. The bulk of the project rests on a foundation of configurable components that have saved us days worth of time in implementation. We’re excited to be responsive to the demands of the project and proactive in preparing for our future needs.

Using React, we have focused our energy on functionality and flexibility.’’

Do you have any experience using one or more of these other technologies? 

I’m a huge Vue fan. React is great for fine-tuning and driving components with powerful logic. That said, while React sometimes feels like working on the engine of a sports car, Vue feels more like grabbing a brush and setting the same car to oil on canvas. Vue’s templates are logical and clean. I appreciate the use of directives and the ability to see the HTML, which can get a bit “muckier” in logic-heavy React components. 

It’s also nice to have Vuex and the Vue-Router available right out of the box. Vue definitely has the developer in mind and handles many tasks, like binding inputs for you, which makes it much easier to use. I do feel React allows developers a bit more freedom but much less hand-holding as a trade-off, which might detract from Vue’s feasibility in complex applications. 

 

Jim Frantzen
Director of Engineering • Epsilon

At Epsilon-Conversant, engineers have found value in Angular because it comes fully assembled. Frantzen said that unlike React, a library that requires bundling – and in turn, strong architectural oversight – Angular allows teams to focus more on the application itself. 

 

Vue vs. React. vs. Angular: Which is your team’s preferred programming tool?

Our UI engineering teams build micro front-end systems with Angular. While developers experiment with Vue or React on pet projects, we have found that Angular provides guide rails that help align everyone with structure and patterns for state management, routing and other complexities.

 

Tell us about the most recent project you worked on using this tool. 

Our UI/UX and engineering teams build front-end projects with an internal design system and component library. It’s built on Angular and ships with color, type and motion themes, a library of more than 65 components and continuously evolving global add-ons and guidelines. Developers with new projects that use the library get to focus on the application workflow and core features and spend significantly less time on markup and responsive design work.

The trade-off with Angular is it can be a black box.’’ 

Do you have any experience using one or more of these other technologies?

While we build with Angular, developers on our teams have a variety of experiences with these frameworks. So opinions run long. The trade-off with Angular is it can be a black box, so some classes of problems can be difficult to troubleshoot, like the “expression changed” error. React does not have this problem as its JSX abstraction powerfully renders state into markup. React’s trade-off is that some classes of problems are also difficult to solve due to its lack of direct DOM control, like working with dynamic elements sizing.

Generally, React requires other libraries bundled with it to complete an app, which means those choices and implementations need strong architectural oversight to ensure they’re done well. I think we’ve found value with Angular because it comes fully assembled. When you have a lot of teams and a lot of apps, that structure and those patterns and practices can help developers focus on the actual application.

 

Mike Mishkin
Senior Software Developer • IGNA | tasty

While Mishkin believes that Angular is a good choice for larger, more modular applications, tastytrade prefers React. Mishkin said that there’s less overhead to writing small, simple, atomic components in React than there is with Angular. His team is currently using React Native to prototype a rewrite of one of their web applications, which interacts heavily with MobX.

 

Vue vs. React. vs. Angular: Which is your team’s preferred programming tool?

At tastytrade, we’ve experimented with both Vue and React. But of the two, we’ve only used React for production work — specifically, React Native. We wanted to leverage the power of writing a mobile app in one language to run on multiple platforms, and React Native seemed to be the most mature project out there. It offered what we were looking for. After about a year of development, our team has grown very familiar with React. This newfound familiarity has led to us choosing it for new projects as well. 

The community support for React is far beyond that of Angular or Vue, which helps us feel secure in our decision. With the world of JS frameworks and libraries changing so rapidly, having a library that’s supported by both a large company and a large community helps lessen concerns that we may have the rug pulled out from under us, leaving us either to maintain legacy code or do a full rewrite.

 

Tell us about the most recent project you worked on using this tool. 

I’ve been prototyping a rewrite of one of our web applications, which is currently written in Ember.js. I initially tested React, Vue and Svelte to see how fluent the three libraries were. We were particularly interested to see how each of these libraries played with MobX. We already knew from a past React Native project that the integration was easy. It turned out that with Vue, we had to jump through some painful hoops to get MobX-style reactivity. And Svelte was unfortunately unable to leverage MobX at all. 

MobX is important to us because we deal with a lot of streaming stock data. Many individual numbers update independently of each other every second, and MobX makes it simpler to coordinate those updates. In my experience, there’s also a lot less overhead to writing small, simple, atomic components in React than in Angular, which is one reason Angular wasn’t even in the running.

The community support for React is far beyond that of Angular or Vue.’’

Do you have any experience using one or more of these other technologies? 

I’ve used Angular extensively in personal work, but my experience with Vue is fairly limited. I find Angular enjoyable to use if you’re willing to fully invest in the framework’s choices, like RxJS and dependency injection. Angular’s DI was one of its initial draws for me, as I had been spending a lot of time in the enterprise Java code framework Spring. I think the DI is one of the best features Angular offers. It allows for nice encapsulation and separation of concerns in a way that many people are already familiar with. 

That said, Angular’s learning curve can be challenging. RxJS can make simple work of some complicated orchestration of asynchronous inputs. But until you reach a point of fluency, it can be difficult to see it as anything but an unfortunate hurdle. Angular also makes components feel like a big deal. In React, they can be as small as a single line of code. I’ve found that this discourages me from building small, reusable components since it feels like all the code that goes into writing an Angular component should do more. 

I’ve also struggled to make good use of Angular’s structural and attribute directives. Ultimately, I feel that React helps me move quickly and efficiently. The trade-off is that not everything is included and I need to make choices about styling, routing, state, etc. 

 

Responses have been edited for length and clarity. Images via listed companies.

Hiring Now
McDonald's Global Technology
eCommerce • Food • Information Technology • Mobile