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

Written by Adam Calica
Published on Jul. 07, 2020
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 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 tech guided us through the pros and cons of each option, comparing their key features, industry popularity, performance and more. 

 

WP Engine

Matt Landers

TECHNICAL ARCHITECT

Matt Landers

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

At WP Engine we’re committed to React due to its flexibility. React isn’t as opinionated as the other frameworks, which allows us to build user interfaces in unique and interesting ways without bending any paradigms a framework might impose. For instance, we have many different products that are built by separate teams of engineers. Each team needs to be able to build and deploy their UI independently of each other. With React, we’ve been able to design a framework that allows for product UIs to be dynamically imported into our unified user portal. 

 

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

I’m primarily focused on a new product that includes a developer portal. The portal is written in React with Next.js. Prior to launch, this portal will be integrated into our existing user portal. 

"For me, the big difference is that React isn’t opinionated about how you build your software.’’

 

Do you have any experience using one or more of these other technologies? And how would you compare that experience to the work you’re doing now?

I’ve used Angular and I’ve played with Vue. For me, the big difference is that React isn’t opinionated about how you build your software. It’s a toolbox, where you can use what you need. Most frameworks require that you do things in a certain way. There are pros and cons to both. With an opinionated framework, you don’t need to think about how to do the basics. For instance, Angular has a router but React doesn’t, so it’s up to you to figure out how you want to route in React. 

On complex projects, I prefer the flexibility to choose the perfect tool for the job. But on smaller projects, it can be quicker to use something someone else put effort into designing. The React community has provided this out-of-the-box experience with frameworks built on top of React, like Next.js. When I’m starting a new project, I’ll use something like Next.js because I can get off the ground quickly without much thought.

 

Kensho Technologies

Edward Orsi

FRONT-END TEAM LEAD

Edward Orsi

While Front-End Team Lead Edward Orsi thinks that, ultimately, Vue, React and Angular are all solid choices for development, fintech company Kensho relies on React. Orsi said that its widespread popularity allows his team to attract top talent and leverage extensive open-source libraries.
 

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

We have several applications under development. The team prefers React for all of them because of its rich ecosystem with broad developer support as well as high-performance rendering. We are big fans of functional components and the new hooks API. 

 

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

Our two most recent projects include a research and analytics app and a document search, viewing and annotation platform. React was the right choice for both projects due to the ease of new developer onboarding, extensive open-source libraries and the maintainability of the declarative style. 

React really shines in this type of complex user interface space. A less flexible tool would struggle to provide the necessary escape hatches to work directly with document object model APIs in a reasonable way.

"While Angular has some pros, developers had to learn the Angular way’ of doing things.’’ 

 

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

The team and I have worked with Angular extensively in the past, with a few folks dabbling in Vue. While Angular has some pros, developers had to learn the “Angular way” of doing things. 

With React, developers can stick closer to ES6+ best practices and jump right into functional components. Vue is popular for smaller side projects where you can reap the advantages of a terser and more opinionated framework without encountering the eventual trade-off on flexibility. 

The strengths of modern frameworks outshine the legacy Ext JS, Knockout and Backbone, but refactoring should be done on a case-by-case basis.

 

PathAI

Peter Skinner

SENIOR SOFTWARE ENGINEER

Peter Skinner

Although Senior Software Engineer Peter Skinner has only dabbled in Angular and React, he’s found that Vue is a better option for the way he thinks about projects. The PathAI developer said the all-in-one syntax of React components can be difficult to use and starting Angular projects can be tricky.

 

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

When we initially picked Vue as our framework of choice, a lot of factors went into that decision. While some of our developers were experienced with React or Angular, others had not used any modern frameworks before. With such a diverse background of engineers coming to the table, our main priority was to find a framework that was easy to pick up, familiar to most and allowed all of our developers to get going quickly. 

We found that Vue gave our engineers the most flexibility, allowing for non-TypeScript components with familiar syntax for both React and Angular developers. It was a middle ground between all of our options but also became extremely useful for our products. 

 

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

One of our main applications of Vue at PathAI is an image annotation application. This application allows for live drawing over images in a canvas element. Vue has helped us significantly in the process of making this application, thanks to features like partial object updates, single-file components with scoped SCSS and separated API and store layers. 

Vue allows for objects in the store to be modified and updated while still having their values watched and output to the DOM. This is particularly important for us because we are using a considerable amount of data, which is being modified constantly. 

Additionally, the separation of concerns Vue provides in its single-file components allows for easy data manipulation and clear goals for each section of the code. As someone who has been struggling with selector priority in Vanilla CSS for a long time, component-level scoping of CSS-style blocks was a lifesaver. 

Finally, Vue was easy to set up with our REST API. Vue is not prescriptive about how you approach most problems within its framework, and that flexibility allows you to create simple and clean implementations quickly. 

"I use Vue as a default due to how flexible the framework has been in allowing me to pivot.’’

 

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

I have only dabbled in Angular and React, but I’ve found Vue is a better option for the way I think about projects. For both work and side projects, I use Vue as a default due to how flexible the framework has been in allowing me to pivot to exactly what I need to build quickly and efficiently. 

When I’ve used React in the past, I personally found the all-in-one syntax of the components to be difficult to use. React is also not a full framework, requiring other systems that are not necessarily officially supported by the React developers to work fully. I can definitely see how it can be a useful tool in web development, especially with how widely adopted it is currently. But overall, it does not fit my style of programming. 

I’ve found Angular is the most similar to Vue. In terms of scalability, I believe Angular is better than Vue as a codebase as a team starts to expand. Angular forces a separation of components to a near-extreme level, which is helpful in making focused code. Unfortunately, I’ve found that starting Angular projects can be quite tricky. Without knowing your codebase end goal, the structure of Angular can become a hindrance. 

 

Cambridge Semantics

Simon Martin

VP OF ENGINEERING AND SUPPORT

Simon Martin

When Cambridge Semantics engineers first started looking for a third-party library they could integrate into their framework, they prioritized extensibility and ease of manipulation. According to Martin, those priorities haven’t changed over the years. Developers currently use React for routing because of its integration capabilities and flexible nature.  

 

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

Cambridge Semantics has been building a client-side semantic web JavaScript framework for over 10 years. Different parts of the framework are either made using third-party libraries or implemented by our team. 

In 2008, we implemented our own rendering engine for our client-side semantic graph datastore. As data-binding and rendering technologies became more mainstream, we decided to use a third-party library for this task rather than rolling our own. The first third-party library we adopted was Knockout.js. We were able to replace the observables used by Knockout.js with in-house ones. 

We’ve also experimented with Dojo’s form-binding mechanism, as well as native components. The difficulty with every library is finding a clean way to glue it into our existing framework. We are currently using React. It is fast, powerful, flexible and easy to integrate because React is a library, not a framework. 

Using a framework like Angular would provide too many unnecessary capabilities. Vue is also an awesome library, but we have already integrated with React and do not see a strong advantage to moving.

 

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

We have been building Anzo, our platform for discovering and integrating data to create analytics-ready datasets. The front-end user interface of this system is entirely written using our internal JS framework, utilizing React for the rendering. Where possible, we have tried to use popular third-party libraries like React. Not only is React well supported by an online community, it is also easier to find and hire people with React development skills. 

"React well supported by an online community.’’

 

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

All three technologies are powerful and useful in specific cases. It’s important to choose the right tool for the right job.

 

Payfactors

Adam Colson

SOFTWARE ENGINEER

Adam Colson

If Colson had to pick a framework to rely on, he’d choose Angular. While he believes in the benefits of Angular’s ubiquitous application features, he gives React credit for its smaller API surface. At Payfactors, developers are using Angular to create a new greenfield application that complements the compensation data management company’s existing application’s feature set.

 

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

Our team prefers Angular. We are a .net shop on the server, and many of the patterns we utilize in the back end — like strong typing, service layers and dependency injection — are first-class citizens in Angular. 

The ecosystem is another big draw, as we have access to first-party conveniences that enable us to do our jobs faster. This means we don’t have to shop around, debate and plug in ubiquitous application features such as routing and commonly used presentational formatting. We use what Angular provides instead. Plus, observables are great tools that couple nicely with reactive programming once you get the hang of them.

 

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

My team is working in Angular to create a new greenfield application that complements our existing application’s feature set. So far it’s been a great fit. We’re able to quickly introduce prototype features with the help of the Angular CLI and other tooling. Iterating on initial designs and incorporating richer feature sets has gone smoothly, as strong typing and an impressive unit test system catch run time defects before they get to our QA.

"The primary benefit of working in React over Angular is the smaller API surface.’’  

 

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

I have React experience from a previous company. React was designed to provide developers with an optimized view layer and is not a full-feature set for addressing common application requirements. To my knowledge, React does not have first-party solutions for common application features such as fetching data via XHR requests and localization, so it’s less opinionated.

I think the primary benefit of working in React over Angular is the smaller API surface. This allows teams with no prior experience to become proficient in React quicker than they might in Angular, as there is just a smaller framework to understand. Angular is bundled with TypeScript and observables by default, which also bumps the learning curve compared to React. Over time though, I think productivity in Angular equals and possibly exceeds smaller frameworks like React once acclimated. Angular simply provides more and requires developers to write less code.

 

20spokes

Matthew Sells

SOFTWARE ENGINEER

Matthew Sells

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. 

 

Conversant

Jim Frantzen

DIRECTOR OF ENGINEERING

Jim Frantzen

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.

 

Tastytrade

Mike Mishkin

SENIOR SOFTWARE DEVELOPER

Mike Mishkin

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. 

 

Vendavo

Alper Ornek

SENIOR .NET SOFTWARE ENGINEER

Alper Ornek

Sometimes, developers must forego personal preference for the greater good of the team. Though Ornek prefers programming with Angular, his department uses React because the team has a strong foundation in the language and it’s easy to learn.

 

Vue vs. React. vs. Angular: Which is your teams preferred programming tool?

Vendavo leans toward React because we have a base component library in place and our teams have a strong foundation in the language. We want a standard UX environment based on React to mirror our other applications from a client perspective. React Native is useful for mobile app development. We have a wide range of React components that can be reused across our products.

"We have a wide range of React components that can be reused across our products.’’ 

 

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

We created our configure, price and quote (CPQ) application admin console from the ground up using React, which calls on our existing REST APIs. The application provides users with a clean UX using our React component library. With Vendavo’s CPQ Cloud, sales teams can achieve improved performance in the quoting cycle. That means more quotes with increased accuracy, less time spent on administrative burdens and more time in front of customers. 

Vendavo CPQ Cloud also integrates with Salesforce Sales Cloud, Microsoft Dynamics 365, SugarCRM and others, which lowers the cost of implementation.  

 

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

We started to use Angular.js and Angular 4.0. in a proof-of-concept project for the CPQ admin console development. Since I’m coming from a back-end programming background, Angular was better structured to me. Its ready-to-use framework handles any mobile or web development needs. 

On the other hand, React was an easy to learn, light and flexible framework, great for UI development. It simply requires some extra modules and tweaks to reach the capability level of the Angular framework. Although I was in favor of Angular, we wanted to have the same look and feel among all Vendavo applications through our Pezzi component library, which was written in React. So the call was made in favor of React.

 

Vertafore

Andrew McCulloch

SENIOR DIRECTOR OF ENTERPRISE AND PLATFORM ARCHITECTURE

Andrew McCulloch

Reusable components are critical to many developers because they are testable. At Vertafore, the software company sees those benefits in React, a library that McCulloch said engineers are able to pick up quickly, regardless of experience. 

 

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

We have adopted React as our preferred front-end development tool for the organization. We believe it’s important that we have a modern tool backed by a good open-source community. Because React is of high interest in the development world, it’s played a factor in our ability to attract and retain software engineers. 

"We believe it’s important that we have a modern tool backed by a good open-source community.’’ 

 

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

We have started four new front-end React projects in the last few months, which were bootstrapped from our internal React component library Alloy. React encourages small, testable and easy-to-reason reusable components. We have found React’s APIs to be intuitive as well. We were able to stand up multiple teams quickly, combining those with React experience and those without.

 

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

I have worked in Angular and React at different companies and found a number of areas where the React lifecycle proves easier to understand for everyone. Its manipulation of the DOM is more straightforward and we have avoided the digest cycle pit of despair. Angular 2 is TypeScript first, which provides great structure, maintainability and type safety. That said, it does increase the learning curve for developers coming from non-TypeScript environments.

 

EZ Texting

Catherine Moy

SOFTWARE ENGINEER

Catherine Moy

Moy prefers Angular over React and Vue because, among other reasons, it’s a fully fleshed-out framework. The EZ Texting developer said that choosing to use that library to build a new project was a no-brainer because no additional time was necessary for ramp-up. 

 

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

Our team’s preferred programming tool is Angular, which is written in TypeScript. It lets us easily describe our data models and set the data types we expect to receive from our APIs. This is important for us because we are processing and displaying large amounts of business data in our user interface. 

Angular provides us with everything we need to make our application, out of the box. We do not need to search for other libraries to support our needs. It is easy to understand how the components will interact with each other and how routing will work because nothing will be unexpectedly introduced by an external library.

 

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

We decided to continue to use Angular for our pattern library project. We were integrating this project into a pre-existing Angular project, so it made sense to keep using the same framework. If we need to modify our pattern library project, it will be easier to adapt any changes to the existing Angular project.

"I find typed languages easier to debug and understand than untyped languages.’’ 

 

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

I do not have experience with React and Vue. My previous experience with front-end frameworks was with Apache Wicket, a framework written in Java. A lot of the front-end code was obscured and it was difficult to fix an issue if it was caused by the generated JavaScript. 

Switching to Angular was seamless for me. Transitioning from writing Java to another typed language was straightforward. I find typed languages easier to debug and understand than untyped languages. That said, lifestyle issues can be hard to track down and debug.

 

Thrive Market

Neeraj Mekala

DIRECTOR OF WEB ENGINEERING

Neeraj Mekala

At Thrive Market, Mekala said his team recently kicked off a rewrite effort of their entire web stack. For such an expansive job, the director of web engineering depends on Next.js and TypeScript. Mekala likes Next.js specifically because of its community backing and support features such as static served page rendering.
 

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

We use React with Redux heavily at Thrive Market. We like React for its modularity, simplicity, flexibility and the large developer community support around it. Also, a lot of front-end web engineers are familiar with React so it helps us with access to some good developer talent.

"We like React for its modularity, simplicity and flexibility.’’  

 

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

We recently kicked off a rewrite effort of our entire web stack using Next.js and TypeScript. Next.js is a framework that uses React, webpack and Babel to abstract and provide several out-of-the-box support features. Some of those features include an optimized webpack build tooling, server-side rendering and routing.

Next.js also has wide community support, with more than 1,000 contributors and solid developer documentation. We are excited about this rewrite project, which we are building to support our continuing growth objectives.

 

Haven Life

Lester Echem

DEVELOPER

Lester Echem

Echem and the Haven Life team prefer Angular because of how well it meshes with the tech foundation that already exists at the life insurance agency. And Angular’s functional aspects, like its TypeScript availability, make it the ideal choice for the agency’s front-end work. 

 

Of the three programming tools, which is your team’s favorite? 

The Haven Life team uses Angular. It was a difficult decision to make initially, but after running through different prototypes with React and Angular, we chose Angular due to its support for two-way data binding and TypeScript right out of the box. We found that our home-grown tech ecosystem was more compatible with Angular and required less dev work. We didn’t consider Vue, as the hiring pool for experts was limited during the time we were in the market for a new front-end library and framework.

"Because Angular comes with reactive forms, it’s an awesome tool for creating dynamic forms from metadata.”

 

Where has your team used this tool recently and why was it the right choice?

We’ve been using Angular in one of our most recent projects: suitability forms. Our existing tech stack, which includes Angular, has served us well for this project. Because Angular comes with reactive forms, it’s been an awesome tool for creating dynamic forms from metadata. We found that metadata-driven forms scale well and reduced our time to market from months to weeks. An added bonus is that it uses TypeScript to bring type safety into our programming.

 

How would you compare your experiences with React and Vue to the work you’re doing with Angular?

I have experience using all three. I definitely miss working with a less opinionated system that’s more performant, which React and Vue both provide. Yet, they’re not as scalable as Angular, which has tons of added benefits, including a standardized set of conventions and libraries. These benefits enable our full-stack engineers to efficiently build production-grade web applications without the need to modify the core Angular code or work around it. For example, it already has the excellent webpack and server-side rendering integrations built in.

 

Shagai Nyamdorj
SHAGAI NYAMDORJ

OfferUp

Shagai Nyamdorj

SENIOR SOFTWARE ENGINEER

Vue vs. React. vs. Angular: Which is your team's preferred programming tool and why?

Our team at OfferUp's favorite framework is React TypeScript. React is an awesome framework with simple concepts. Compared to other similar frameworks, it has a relatively small learning curve. Based on my previous experience, it was easier explaining and coaching other developers with different backgrounds, such as native iOS or Java Android developers. Within a few weeks, we successfully ramped up our developers with no prior JavaScript React experience to become professional React developers.

In the last few years, the React community has rapidly grown and matured, due to Facebook backing up and heavily investing in the technology. TypeScript helps us type-check and detect simple bugs during development. It prevents us from pushing bugs in our production deployments. Additionally, combined with the VS Code and TypeScript, it improves our development velocity drastically because of nice autocomplete and tooltip on the method and variable signature on IDE.

"React is an awesome framework with simple concepts.”

 

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

Last year, we decided to rewrite our entire mobile and web app in React and React Native. It was a really exciting opportunity for us. In my 12 years as a developer, I have never seen such a great opportunity to build one of the most popular applications on the App Store using the latest technology.

 

Why was it the right framework for this particular project?

In my opinion, React Native gives us two main benefits. First, consistency between clients’ single code base. We can have a single code base across platforms: web, iOS and Android. Previously, we were maintaining three different code bases for iOS, Android and web. There was lots of duplicated effort for single business logic and often we had to sync the features between three different platforms. 

Performance and maturity is another benefit. React Native is mature enough to handle mobile performance for large applications. Over the last few years, React Native has made huge progress on performance on native implementation. When it first came out, things were different. For complex screens, performance was a huge issue. On top of that, there are many unknown issues for integrating native, third-party libraries and setting up development environments. Thanks to the huge effort on Facebook’s side, the framework has improved a lot in the last few releases. 

 

What are some of the pros and cons of these other technologies? 

I have been using Angular since 2013. I started using React in 2018. I have been a superfan of Angular since it first came out in 2010.

React is easy to learn with a simple design and use of JSX in everything is a function in React. In Angular, there are pipes, directives, templates and controllers. Third-party tools and libraries are becoming more popular and getting mature enough. Also, data-binding is one-way, meaning less unwanted side effects. With Hooks and Contexts API, state management became super simple and clean, with less code compared to previously larger applications that were using Redux. 

On the other hand, React is not opinionated and leaves developers to make choices about the best way to develop. Sometimes, it is very hard to make a decision and agree on something using React, especially if you have a large team.

 

Hostwinds
HOSTWINDS

Hostwinds

Nick Zaremba

DIRECTOR OF FRONT-END DEVELOPMENT

Vue vs. React. vs. Angular: Which is your team's preferred programming tool and why? 

At Hostwinds, when looking for a front-end JavaScript library that would allow us to build robust, scalable products, the three most popular come to mind: Vue, React and Angular. It didn’t take us long to decide that React would be our core programming tool: we all love it, and all of our products ship with it under the hood. 

Many developers use React for its simplicity, support for server-side rendering, progressive web app support and its blazing speed, thanks to the virtual DOM. React is great because it lets us focus on writing JavaScript code rather than framework-specific code. What we love most is that we are able to easily create reusable components that let us design and build a component library without worry of handling any business logic.  

 

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

We recently redesigned our marketing site. Not only did we fully redesign the site’s style, but we migrated from PHP to React and Gatsby.

Gatsby is a static site generator that lets us build sites that are progressive web apps, follow latest web standards and use the latest technologies including React, webpack and GraphQL. 

 

 Why was it the right framework/library for this particular project? 

React easily integrates with Gatsby and other technologies that we use. React’s beauty lies in its ability to easily use reusable components. Since all of our products use React, we can pull components from our component library that we created and use them in all of our projects, which makes all styling homogenous and increases our development speed.

"Vue is great: picture it as the child of Angular and React.”

 

What are some of the pros and cons of these other technologies?

React, Vue and Angular have their own own pros and cons. Depending on the situation, one technology will be better to use than the other. In my experience, however, React has always been the best choice. I highly recommend it for its many pros, including fast speeds, thanks to the virtual DOM; support for server-side rendering; progressive web app support; easy integration with other frameworks like Redux; the ability to create easily testable reusable code with functional programing concepts; and the ability to type safe using TypeScript or Flow. 

Angular is great for enterprise applications and it provides a full-blown framework for developers; however, the drawback of that is the steep learning curve. I like Angular because it’s used alongside TypeScript, which is great for type-safe code and is a must-have skill for any developer. Compared to React, it has a lot of boilerplate code, which can be cumbersome while developing and is known for having a slower performance. 

Vue is great: picture it as the child of Angular and React. It has similarities to both technologies, but it doesn’t have as much support, which is its biggest con.