Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

ExpressJS
ExpressJS

5.9K
4.3K
+ 1
1.3K
React
React

27.2K
19.1K
+ 1
3.4K
Add tool

ExpressJS vs React: What are the differences?

ExpressJS: Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple. Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications; React: A JavaScript library for building user interfaces. Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.

ExpressJS and React are primarily classified as "Microframeworks (Backend)" and "Javascript UI Libraries" tools respectively.

"Simple", "Node.js" and "Javascript" are the key factors why developers consider ExpressJS; whereas "Components", "Virtual dom" and "Performance" are the primary reasons why React is favored.

ExpressJS and React are both open source tools. React with 132K GitHub stars and 24.5K forks on GitHub appears to be more popular than ExpressJS with 44.6K GitHub stars and 7.48K GitHub forks.

Airbnb, Uber Technologies, and Facebook are some of the popular companies that use React, whereas ExpressJS is used by Twitter, Intuit, and OpenGov. React has a broader approval, being mentioned in 3224 company stacks & 3094 developers stacks; compared to ExpressJS, which is listed in 854 company stacks and 790 developer stacks.

What is ExpressJS?

Express is a minimal and flexible node.js web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.

What is React?

Lots of people use React as the V in MVC. Since React makes no assumptions about the rest of your technology stack, it's easy to try it out on a small feature in an existing project.
Get Advice Icon

Need advice about which tool to choose?Ask the StackShare community!

Why do developers choose ExpressJS?
Why do developers choose React?

Sign up to add, upvote and see more prosMake informed product decisions

Jobs that mention ExpressJS and React as a desired skillset
What companies use ExpressJS?
What companies use React?

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with ExpressJS?
What tools integrate with React?

Sign up to get full access to all the tool integrationsMake informed product decisions

What are some alternatives to ExpressJS and React?
Koa
Koa aims to be a smaller, more expressive, and more robust foundation for web applications and APIs. Through leveraging generators Koa allows you to ditch callbacks and greatly increase error-handling. Koa does not bundle any middleware.
Flask
Flask is intended for getting started very quickly and was developed with best intentions in mind.
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
Go
Go is expressive, concise, clean, and efficient. Its concurrency mechanisms make it easy to write programs that get the most out of multicore and networked machines, while its novel type system enables flexible and modular program construction. Go compiles quickly to machine code yet has the convenience of garbage collection and the power of run-time reflection. It's a fast, statically typed, compiled language that feels like a dynamically typed, interpreted language.
nginx
nginx [engine x] is an HTTP and reverse proxy server, as well as a mail proxy server, written by Igor Sysoev. According to Netcraft nginx served or proxied 30.46% of the top million busiest sites in Jan 2018.
See all alternatives
Decisions about ExpressJS and React
GitHub
GitHub
nginx
nginx
ESLint
ESLint
AVA
AVA
Semantic UI React
Semantic UI React
Redux
Redux
React
React
PostgreSQL
PostgreSQL
ExpressJS
ExpressJS
Node.js
Node.js
FeathersJS
FeathersJS
Heroku
Heroku
Amazon EC2
Amazon EC2
Kubernetes
Kubernetes
Jenkins
Jenkins
Docker Compose
Docker Compose
Docker
Docker
#Frontend
#Stack
#Backend
#Containers
#Containerized

Recently I have been working on an open source stack to help people consolidate their personal health data in a single database so that AI and analytics apps can be run against it to find personalized treatments. We chose to go with a #containerized approach leveraging Docker #containers with a local development environment setup with Docker Compose and nginx for container routing. For the production environment we chose to pull code from GitHub and build/push images using Jenkins and using Kubernetes to deploy to Amazon EC2.

We also implemented a dashboard app to handle user authentication/authorization, as well as a custom SSO server that runs on Heroku which allows experts to easily visit more than one instance without having to login repeatedly. The #Backend was implemented using my favorite #Stack which consists of FeathersJS on top of Node.js and ExpressJS with PostgreSQL as the main database. The #Frontend was implemented using React, Redux.js, Semantic UI React and the FeathersJS client. Though testing was light on this project, we chose to use AVA as well as ESLint to keep the codebase clean and consistent.

See more
ASP.NET
ASP.NET
Puppeteer
Puppeteer
vuex
vuex
ExpressJS
ExpressJS
React
React
Angular 2
Angular 2
Vue.js
Vue.js
Netlify
Netlify
Heroku
Heroku
#Seo
#Heroku

I found Heroku to be a great option to get ExpressJS up and running with very little hustle. The free tier is great, but I'd recommend to set up a cronjob to visit your site every few minutes so that the server stays awake. Netlify was the option to host the front-end because doing the server side rendering on #Heroku would have taken a little more time than I'd like to. For the moment pre-rendering the app with prerender-spa-plugin is enough to help with #seo. Puppeteer was my choice over other options because it made it easier to scrape websites made on ASP.NET which is what I needed in this case. And Vue.js is my top choice at the moment because it's really beginner friendly and it has a lot of the features I like about Angular 2 and React. vuex is a must in most of the app I build.

See more
Seun Kola
Seun Kola
CTO at Virtualrobe Limited · | 2 upvotes · 6K views
ExpressJS
ExpressJS
Apollo
Apollo
GraphQL
GraphQL
Prisma
Prisma
React Native
React Native
React
React

Have been working on a side project that focuses on sharing economy, allowing users to pickup and deliver groceries for others. Have already started working on the frontend for the web dashboard using React and plan to use React Native for the mobile app. But am in a dilemma, whether to build the backend myself for the MVP or use firebase for the backend. I need advise, has anyone use Firebase for such project and what are the pros and cons, what issues will i faced.

Note: My proposed stack for the backend is a Prisma database, GraphQL , Apollo and ExpressJS

Thanks in advance to everyone.

See more
Benjamin Poon
Benjamin Poon
QA Manager - Engineering at HBC Digital · | 7 upvotes · 31.7K views
PostgreSQL
PostgreSQL
React
React
ExpressJS
ExpressJS
Docker
Docker
GoCD
GoCD
GitHub
GitHub
Cucumber
Cucumber
JavaScript
JavaScript
Selenium
Selenium
Nightwatchjs
Nightwatchjs

For our digital QA organization to support a complex hybrid monolith/microservice architecture, our team took on the lofty goal of building out a commonized UI test automation framework. One of the primary requisites included a technical minimalist threshold such that an engineer or analyst with fundamental knowledge of JavaScript could automate their tests with greater ease. Just to list a few: - Nightwatchjs - Selenium - Cucumber - GitHub - Go.CD - Docker - ExpressJS - React - PostgreSQL

With this structure, we're able to combine the automation efforts of each team member into a centralized repository while also providing new relevant metrics to business owners.

See more
React
React

I use React because I think it is the one that embraces the most the functional component design.

New versions of React are on the right track.

Having to work with Vue or Angular is a lot of pain for me, especially because I'm used to the simplicity of React (which comes with the great price of a high learning curve). Also, the use of the Flux Pattern is so much easier with React, being designed as a one way data flow, than with its two foremost competitors.

Cheers to the React Team, and thank you very much !

See more
React
React

I use React because it provides a high level of flexibility to architecture the front end app having the posibility or not to incorporate other libraries such as State Management, Routing or Form Validation, among others. Unidirectional flow and component reutilization is another important advantage.

See more
Rafael Santos
Rafael Santos
CTO at Decision6 · | 11 upvotes · 10.7K views
atDecision6Decision6
Vue.js
Vue.js
React
React
AngularJS
AngularJS

Back in 2015, my company had a back-office dashboard that was originally built in AngularJS 1. Since Angular 2 presented drastic changes we decided to rethink the options and we looked at React and Vue.js. Besides, at the time, Vue had basically only one developer, its structure (100% oriented to components) and also its backward compatibility focus (Angular 1 to 2 no more) we preferred it against React cause it seemed more straightforward, clean and with a small learning curve. Now 4-5 years later we are very happy with our choice.

See more
Praveen Mooli
Praveen Mooli
Technical Leader at Taylor and Francis · | 11 upvotes · 95.2K views
MongoDB Atlas
MongoDB Atlas
Amazon S3
Amazon S3
Amazon DynamoDB
Amazon DynamoDB
Amazon RDS
Amazon RDS
Serverless
Serverless
Docker
Docker
Terraform
Terraform
Travis CI
Travis CI
GitHub
GitHub
RxJS
RxJS
Angular 2
Angular 2
AWS Lambda
AWS Lambda
Amazon SQS
Amazon SQS
Amazon SNS
Amazon SNS
Amazon Kinesis Firehose
Amazon Kinesis Firehose
Amazon Kinesis
Amazon Kinesis
Flask
Flask
Python
Python
ExpressJS
ExpressJS
Node.js
Node.js
Spring Boot
Spring Boot
Java
Java
#Data
#Devops
#Webapps
#Eventsourcingframework
#Microservices
#Backend

We are in the process of building a modern content platform to deliver our content through various channels. We decided to go with Microservices architecture as we wanted scale. Microservice architecture style is an approach to developing an application as a suite of small independently deployable services built around specific business capabilities. You can gain modularity, extensive parallelism and cost-effective scaling by deploying services across many distributed servers. Microservices modularity facilitates independent updates/deployments, and helps to avoid single point of failure, which can help prevent large-scale outages. We also decided to use Event Driven Architecture pattern which is a popular distributed asynchronous architecture pattern used to produce highly scalable applications. The event-driven architecture is made up of highly decoupled, single-purpose event processing components that asynchronously receive and process events.

To build our #Backend capabilities we decided to use the following: 1. #Microservices - Java with Spring Boot , Node.js with ExpressJS and Python with Flask 2. #Eventsourcingframework - Amazon Kinesis , Amazon Kinesis Firehose , Amazon SNS , Amazon SQS, AWS Lambda 3. #Data - Amazon RDS , Amazon DynamoDB , Amazon S3 , MongoDB Atlas

To build #Webapps we decided to use Angular 2 with RxJS

#Devops - GitHub , Travis CI , Terraform , Docker , Serverless

See more
React
React
Vue.js
Vue.js

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?

See more
Johnny Bell
Johnny Bell
Senior Software Engineer at StackShare · | 14 upvotes · 788 views
React
React
Vue.js
Vue.js

I've used both Vue.js and React and I would stick with React. I know that Vue.js seems easier to write and its much faster to pick up however as you mentioned above React has way more ready made components you can just plugin, and the community for React is very big.

It might be a bit more of a steep learning curve for your friend to learn React over Vue.js but I think in the long run its the better option.

See more
Samuel Olugbemi
Samuel Olugbemi
Software Engineer at Payzone UK · | 6 upvotes · 7.7K views
atPayzone UKPayzone UK
ExpressJS
ExpressJS
LoopBack
LoopBack

I use LoopBack because it is: * It is truly and Unbelievably Extensible * it is default integrated with OpenAPI (Swagger) Spec Driven REST API * I write lesser codes, because most of the user stories have been covered using the code generation * It's documentation is more compact and well detailed than ExpressJS * It is very easy to learn, hence you can build a basic Rest API App in minutes * It has built in NPM packages required to build my Rest API which saves me time on installation and configuration * The Datasource/Service/Controller concept is just Brilliant (that's mostly all you need to get your app speaking with an External API services) * The support for SOAP and Rest API services is amazing!

See more
Mark Scott
Mark Scott
Personal Development at Mark Scott · | 3 upvotes · 0 views
React
React
Vue.js
Vue.js

Having developed in both Vue.js and React, I agree with your assessment of Vue. It does feel light and easier to understand and therefore learn. Seeing that Vue has some genetic roots with React, I would say start your friend out on Vue. If they need to learn React later, that should give them a good foundation. If you have a Pluralsight subscription, look for my course on Vue.js and feel free to use the demo project as a starting point.

See more
Thomas LEVEIL
Thomas LEVEIL
at Mediaveille · | 5 upvotes · 1 views
React
React
Vue.js
Vue.js

I chose to use Vue.js a few years ago mainly for the easy learning curve. I have no experience with React, so I won't make any comparison here. Regarding available components, I never felt locked in because of Vue when looking for components. It happens that a component I wish to use is not available as a Vue component (and nobody published any Vue wrapper for it), but in such cases I was able to quickly hack a Vue wrapper component. In the end I don't think a decision to choose one framework over another should be made solely because of the number of components available. (And not all components in either framework is maintained, bug free, documented or easy to use)

See more
Oguzhan Cetin
Oguzhan Cetin
Senior Developer at Melantis · | 4 upvotes · 2 views
JavaScript
JavaScript
Vue.js
Vue.js
React
React

React is great, Vue.js is also great. But I'm personally using React, because React is changing the way I look at how JavaScript should be. This is a really big plus for me. Vue is good, but it's just another alternative. Also, too many big companies are using React, that means you can trust it for big projects.

See more
Adebayo Akinlaja
Adebayo Akinlaja
Engineering Manager at Andela · | 6 upvotes · 1.6K views
Bit
Bit
Create React App
Create React App
Material Kit
Material Kit
TypeScript
TypeScript
Evergreen
Evergreen
Material-UI
Material-UI
React
React

I picked up an idea to develop and it was no brainer I had to go with React for the frontend. I was faced with challenges when it came to what component framework to use. I had worked extensively with Material-UI but I needed something different that would offer me wider range of well customized components (I became pretty slow at styling). I brought in Evergreen after several sampling and reads online but again, after several prototype development against Evergreen—since I was using TypeScript and I had to import custom Type, it felt exhaustive. After I validated Evergreen with the designs of the idea I was developing, I also noticed I might have to do a lot of styling. I later stumbled on Material Kit, the one specifically made for React . It was promising with beautifully crafted components, most of which fits into the designs pages I had on ground.

A major problem of Material Kit for me is it isn't written in TypeScript and there isn't any plans to support its TypeScript version. I rolled up my sleeve and started converting their components to TypeScript and if you'll ask me, I am still on it.

In summary, I used the Create React App with TypeScript support and I am spending some time converting Material Kit to TypeScript before I start developing against it. All of these components are going to be hosted on Bit.

If you feel I am crazy or I have gotten something wrong, I'll be willing to listen to your opinion. Also, if you want to have a share of whatever TypeScript version of Material Kit I end up coming up with, let me know.

See more
Interest over time
Reviews of ExpressJS and React
Review ofReactReact

Perfect workflow

How developers use ExpressJS and React
Avatar of Instacart
Instacart uses ReactReact

Before two weeks ago or so, it used to be Backbone views and models, and everything was on our main store app, and our mobile web app, but actually, we just switched our mobile web app to using ReactJS for the interface. So it’s using Backbone models but ReactJS front-end components. Really, it was borne out of the frustration with how the Backbone model-view bindings worked, and it wasn’t especially performant for large views, and we had to do lots of tricks to make it performant. But swapping that out with React views meant that it could be both simpler and faster without having to spend a lot of time on that.

One other interesting thing about that is, since React actually works okay with the Backbone models and the Backbone router and stuff like that, we didn’t have to rewrite the mobile web application and update it to ReactJS. Rewrites are almost always a bad idea. We were able to upgrade pieces of it at a time, move on to React, and now the entire thing is using React and just has the Backbone router and models and stuff like that that we already had, so it's a lot faster.

Avatar of Netflix
Netflix uses ReactReact

At the beginning of last year, Netflix UI engineers embarked on several ambitious projects to dramatically transform the user experience on our desktop and mobile platforms. Given a UI redesign of a scale similar to that undergone by TVs and game consoles, it was essential for us to re-evaluate our existing UI technology stack and to determine whether to explore new solutions. Do we have the right building blocks to create best-in-class single-page web applications? And what specific problems are we looking to solve? Much of our existing front-end infrastructure consists of hand-rolled components optimized for the current website and iOS application. Our decision to adopt React was influenced by a number of factors, most notably: 1) startup speed, 2) runtime performance, and 3) modularity.

React has exceeded our requirements and enabled us to build a tremendous foundation on which to innovate the Netflix experience.

Avatar of Cloudcraft
Cloudcraft uses ExpressJSExpressJS

Express.js is the workhorse of the Cloudcraft.co backend. It's not the most exciting part of a stack, but it works, is very well documented, and you can find a plugin for almost everything you could possibly want. We also carefully evaluated Koa.js, but decided not to go down this route: fewer plugins, less documentation & answers online. I'm also not personally convinced by the generators yield syntax at all. ES7 async functions looks like a much better bet, and with Promises and Babel I can have that already today.

Avatar of Cloudcraft
Cloudcraft uses ReactReact

Web-frontend programming prior to React: like banging rocks together. With React: Like wearing fusion powered underwear. Gives you a nice warm feeling. Using React for Cloudcraft.co allowed us to create a beautiful UI in record time (1 month start to launch), with virtually no bugs popping up during development. The functional approach to just rendering your component given a state just makes so much sense, with React figuring out the delta between your current and desired representation. It's the future kids!

Avatar of Kurzor, s.r.o.
Kurzor, s.r.o. uses ReactReact

React is choice number 1 when it comes to JS development at Kurzor. We choose React because it solves many issues with web applications in a elegant way. Writing an app in components is useful for coordination and isolation of concerns. React forces you to abandon state and use vertical passing through props instead. And having as many Pure Components as possible helps to write cleaner code.

With React we usually use: Redux, React Router, React Toolbox, Styled Components.

Avatar of Kent Steiner
Kent Steiner uses ReactReact

This is the best component framework and API available today for building modern web sites and apps. I really enjoy how minimal it is, and powerful at the same time. It removes opinionated development and replaces it with logic and data philosophies, which has in turn fostered a robust and lively code and support community.

Avatar of Volkan Özçelik
Volkan Özçelik uses ExpressJSExpressJS

I use express.js for nightly.zerotoherojs.com and dojo.zerotoherojs.com web apps.

Express is well-known, lightweight, works out-of-the-box, has great middleware support and has minimal learning curve.

It is the best framework to start developing a general Node.js web app.

Avatar of Kent Steiner
Kent Steiner uses ExpressJSExpressJS

I'm fluent in ExpressJS, but over the past two years I have moved to HapiJS. Similar results, but I find Hapi to be more full-featured towards my app, api and service needs. I can operate confidently in both.

Avatar of Promethean TV
Promethean TV uses ExpressJSExpressJS

PrometheanTV utilizes the ExpressJS web application framework to deploy various web applications and services including the Broadcast Center Tool, our video embed service, and our REST API.

Avatar of Merge In
Merge In uses ExpressJSExpressJS

We rely on ExpressJS to serve our content simply, easily, and effectively, without the bloat-ware. Big thanks to StrongLoop for supporting this package.

How much does ExpressJS cost?
How much does React cost?
Pricing unavailable
Pricing unavailable
News about ExpressJS
More news