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

ExpressJS

33.8K
23.2K
+ 1
1.6K
React

172.2K
138.3K
+ 1
4.1K
Add tool

ExpressJS vs React: What are the differences?

ExpressJS and React are two popular JavaScript frameworks used for web development. Let's explore the key differences between them.

  1. Server-Side vs. Client-Side: ExpressJS is a server-side framework that allows developers to build robust and scalable web applications on the server side. It provides features for routing, handling requests, and managing data on the server. On the other hand, React is a client-side framework primarily used for building dynamic user interfaces. It focuses on rendering components and managing the flow of data within the UI.

  2. Back-End vs. Front-End: ExpressJS is mainly used for building the back-end of web applications. It provides the infrastructure for handling HTTP requests, connecting to databases, and implementing business logic. React, on the other hand, is primarily used for the front-end development. It enables the creation of reusable UI components that can update efficiently and render on the client-side.

  3. Routing and Middleware: ExpressJS has built-in routing capabilities and middleware management. It allows developers to define routes, handle different HTTP methods, and implement middleware functions for logging, authentication, and more. React, on the other hand, does not have built-in routing or middleware support. Developers need to rely on external libraries like React Router for handling client-side routing.

  4. Rendering: ExpressJS uses template engines like EJS or Pug to generate dynamic HTML on the server-side. It renders the complete web page on the server and sends it as a response to the client. React, on the other hand, uses a virtual DOM to efficiently update and render components on the client-side. It generates HTML based on the component's state and props and updates only the necessary parts of the UI.

  5. State Management: ExpressJS does not have built-in support for managing state in web applications. It primarily focuses on handling requests and responses. React, on the other hand, provides a robust state management system. It allows developers to manage the data flow within the application using tools like Redux or React Context. This makes it easier to manage complex UI states and share data between different components.

  6. Community and Ecosystem: ExpressJS has been around for a longer time and has a vast and mature community. It has a rich ecosystem of libraries and plugins for various use cases. React, on the other hand, has gained significant popularity in recent years and has a large and rapidly growing community. It has a strong ecosystem with a wide range of libraries, tools, and frameworks that enhance the development experience and offer solutions for different use cases.

In summary, ExpressJS is a server-side framework focused on building the back-end of web applications, while React is a client-side framework primarily used for developing dynamic user interfaces. ExpressJS provides routing, middleware management, and template-based rendering, whereas React uses a virtual DOM for efficient UI updates and offers state management capabilities.

Advice on ExpressJS and React
Needs advice
on
ExpressJSExpressJSPostgreSQLPostgreSQL
and
ReactReact

We're a non-profit looking to rebuild our system.

Hey everyone - this seems like a little bigger project then I've seen on here! I tried to give a concise description of the project. We haven't started, but this is the general idea for our tech stack and what we're planning!

Description:

  • We handle all sorts of features within the medical supply chain, from country-wide warehouses to front-line health facilities.
  • We are in around 30 developing countries, and it would be essential to migrate our clients, who currently have their 4D relational databases, to our new system.

Our current system has:

  • A single central server, with many clients/servers scattered throughout a country. Client servers are in hospitals, pharmacies, health centers, small regional warehouses. The main server is in a country's main warehouse.
  • Countries are independent and run their own system.
  • Countries operate on what can only be described as .. extremely poor internet (assume 56k modem in the middle of the Amazon)
  • Our system is a transactional system run all through the same 4D database, which has a lot of extra features:
    • Allows clients to create orders to other members of the system - i.e., hospital->warehouse.
    • Allows dispensing medicines to patients.
    • Allows managing where stock is in a facility.
    • Manage expiry dates, stocktakes, inventory adjustments
    • Reporting on stock movements through the single 4D database

Main requirements are:

  • Extensibility. Due to being in so many countries and expanding, we have a lot of customizations. We'd most likely be wanting to look into some sort of plugin system.
  • Eventual consistency & availability. Due to operating in developing countries, we use offline-first filtered replication throughout the system and require each of the client servers to have (close to!) 100% availability of data, regardless of their network connection. We need eventual consistency in the main server so that we can report country-wide.
  • Scalability. We don't need to scale to massive amounts. Our maximum capacity looks to be a country around 200 million. That's about.. 1000 million records every year syncing into the main server.

Current thoughts: We're currently looking to run a PostgreSQL instance on each of the client servers. Each client server running an ExpressJS server. React as a front end. We are looking to roll our own sync system through most likely -a RESTful API.

This is a pretty vague and small description. I was wondering if anyone had any thoughts on a tech stack?

See more
Replies (4)
Recommends
on
PostgreSQLPostgreSQL

I think your choice of technologies are fine, but it you are starting new development I think your choice of architecture is most important. You can implement the desired architecture with many different technologies. Separating the layers of the application is important to allow each technology to be replaced or evolve independently. For example, I would write the code in a way that I could replace PostgreSQL with a different DBMS fairly easily in case a better alternative came along. The same goes for the React front end. If you have a good REST API you could replace the React front any with any framework, you could easily allow different locations to use Angular, Vue, or other front end technologies as long as the REST API is not designed to specifically target the React front end. I think the architecture of the code behind the REST layer, that would run in Express (the tool/language you are considering) is the decision that you will be stuck with for the longest time and that all other aspects of the application need to work around; so you want to get that architecture right. I think you should consider CQRS and Event Sourcing. https://docs.microsoft.com/en-us/azure/architecture/patterns/event-sourcing https://dzone.com/articles/cqrs-and-event-sourcing-intro-for-developers

See more
Recommends
on
ReactReact

IMO this is the wrong way to go about solving such a problem. If your current system is complex you need to find a way to migrate from it to something that works better. Rather than choose tools, figure out how to make the transition without breaking everything in the process. Starting over from scratch is almost always a bad idea. The design comes first. The tools come later. Perhaps take simple a piece of the system to modify without really changing any functionality. It's hard to provide better advice without understanding the details of your system.

See more
Kit Ruparel
Recommends
on
Amazon DynamoDBAmazon DynamoDB

I would really avoid building all of the scaffolding you need for the global server-server replication, eventual consistency and offline tools.

As long as your application architecture can fits a Key/Value pair type store, and you want master-master replication, then I'd start with AWS DynamoDB configured in Global Tables mode: https://aws.amazon.com/dynamodb/global-tables/

Then for offline-first access from client devices, use AWS Amplify, where (when used right) it's datastore feature will do most of the online/offline sync for you and let the developers focus on the mobile or web app. https://aws.amazon.com/amplify/features/#DataStore

I've had great success in using Amplify over very spotty connections (moving vehicles), using React and React Native for Web and Mobile applications respectively.

If your back-end data architecture really must be more RDBMS/SQL like, then consider whether you can use a central database in one geography, with all updates finding their way back there, then with read-replicas in other geographies. A good article on this, and suitable cloud-first databases to use, is here: https://read.acloud.guru/why-and-how-do-we-build-a-multi-region-active-active-architecture-6d81acb7d208

See more
Kit Ruparel
Recommends
on
Amazon DynamoDBAmazon DynamoDB

I would really avoid building all of the scaffolding you need for the global server-server replication, eventual consistency and offline tools.

As long as your application architecture can fits a Key/Value pair type store, and you want active-active replication, then I'd start with AWS DynamoDB configured in Global Tables mode: https://aws.amazon.com/dynamodb/global-tables/

Then for offline-first access from client devices, use AWS Amplify, where (when used right) its datastore feature will do most of the online/offline sync for you and let the developers focus on the mobile or web app. https://aws.amazon.com/amplify/features/#DataStore

I've had great success in using Amplify over very spotty connections (moving vehicles), using React and React Native for Web and Mobile applications respectively.

If your back-end data architecture really must be more RDBMS/SQL like, then consider whether you can use a central database in one geography, with all updates finding their way back there, then with read-replicas in other geographies. A good article on this, and suitable cloud-first databases to use, is here: https://read.acloud.guru/why-and-how-do-we-build-a-multi-region-active-active-architecture-6d81acb7d208

See more
Needs advice
on
AngularJSAngularJSReactReact
and
Vue.jsVue.js

What is the best MVC stack to build mobile-friendly, light-weight, and fast single-page application with Spring Boot as back-end (Java)? Is Bootstrap still required to front-end layer these days?

The idea is to host on-premise initially with the potential to move to the cloud. Which combo would have minimal developer ramp-up time and low long-term maintenance costs (BAU support)?

See more
Replies (3)
Carolyne Stopa
Full Stack Developer at Contabilizei · | 10 upvotes · 557.1K views
Recommends
on
Vue.jsVue.js

React might be a good option if you're considering a mobile app for the future, because of react native. Although, Vue.js has the easiest learning curve and offers a better developer ramp-up time. Vue.js is great to build SPAs, very clean and organized and you won't have a lot of long-term maintenance problems (like AngularJS, for example). Bootstrap can still be used, but with flexbox there's no need anymore.

See more
Chaitanya Chunduri
Recommends
on
ReactReact

I recommend React because of less memory occupant compare to Angular, but this will depend on your organisation flexibility. When you use React you need to import different libraries as per your need. On the other side angular is a complete framework.

Performance-wise I vote for react js as it loads up quickly and lighter on the mobile. You can make good PWA with SSR as well.

See more
Recommends
on
ReactReact

If you are new to all three react will be a good choice considering, react-native will be useful if you want to build cross platform mobile application today or tomorrow. If you are talking about bootstrap styling framework than it's a choice you can style ur components by ur self or use bootstrap 4.0 framework. The complete stack mentioned above is platform agnostic u can run it anywhere you want be it cloud or on-premise.

See more
Needs advice
on
Vue.jsVue.jsMoment.jsMoment.js
and
ReactReact

Simple datepickers are cumbersome. For such a simple data input, I feel like it takes far too much effort. Ideally, the native input[type="date"] would just work like it does on FF and Chrome, but Safari and Edge don't handle it properly. So I'm left either having a diverging experience based on the browser or I need to choose a library to implement a datepicker since users aren't good at inputing formatted strings.

For React alone there are tons of examples to use https://reactjsexample.com/tag/date/. And then of course there's the bootstrap datepicker (https://bootstrap-datepicker.readthedocs.io/en/latest/), jQueryUI calendar picker, https://github.com/flatpickr/flatpickr, and many more.

How do you recommend going about handling date and time inputs? And then there's always moment.js, but I've observed some users getting stuck when presented with a blank text field. I'm curious to hear what's worked well for people...

See more
Replies (1)
Recommends
on
ReactReact

In my view, the upside of React is you're likely to find more existing, robust design systems (e.g. sets of components containing anything from buttons to datepickers) in the React ecosystem than Vue. UI frameworks aside, momentjs comes in when you want operate on the date(times) you get back from whatever datepicker you choose (e.g. date formatting, date match).

See more
Needs advice
on
ReactReact
and
Vue.jsVue.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
Replies (16)
Johnny Bell
Recommends
on
ReactReact

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
Thomas LEVEIL
Recommends
on
Vue.jsVue.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
Recommends
on
ReactReact

I would also go with React. The learning curve can be a little more difficult but as soon as you got the concepts it's really easy to create things. As everybody has mentioned the React community is huge and it keeps growing, anything you may need for your project there are super high probabilities that you will find it.

See more
Oguzhan Cetin
Senior Developer at Melantis · | 5 upvotes · 340.6K views
Recommends
on
ReactReact

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
Ben Shichman
Recommends
on
ReactReact

I'd have to concur that I'd advise React. In addition to the reasons mentioned, the developer pool is significantly larger (and also slightly more expensive) for React. In time, engineering costs will even out as more and more teams adopt it. The community support is fantastic, and the available components significant.

See more
Michael R.
Full-Stack Web Developer at STHCoders · | 3 upvotes · 339.6K views
Recommends
on
ReactReact

Anything that interacts with the Internet, websites, applications, etc., while it may be more complex to build, will be easier to maintain in the long run. React offers more flexibility, a much larger support base for knowledge and opinion, and is just as stable asVue.

To make the best comparison in my opinion, think of React as the Android OS and Vue more like iOS. While Vue may be advantageous in some cases, it is limited by constricting parameters. On the other hand, while React may be more complex and incorporate more open-source/third-party constructs, it is supported by over 50,000 npm packages and allows for the use of JSX. Which I might add, once learned, becomes second nature to employ and offers more flexibility.

See more
Recommends
on
Vue.jsVue.js
at

Both have their pro's and con's; however to agree what has been mentioned here before; Using Vue.js will be easier as it's learning curve isn't steep; plus learning Vue.js will teach you fundamentals which (in a sense) can be applied to React as well. Community support for React is indeed very big, but Vue.js is also still growing. Component wise, I wouldn't worry to much about that, writing your own components is also a good tool for learning a language.

See more
Recommends
on
Vue.jsVue.js

Would start with Vue especially if you want to progress more quickly and don't want/need to spend time learning React just for the sake of it. You can always pick up React later if necessary. I would caution about using "more readily available React components" just because they exist.

See more
Mark Scott
Personal Development at Mark Scott · | 3 upvotes · 341.1K views
Recommends
on
Vue.jsVue.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
Rajeev Borborah
Vice President Technology at WebMD · | 1 upvotes · 339.5K views
Recommends
on
Vue.jsVue.js

We did a comparison between React, Vue and Angular and while found each capable of supporting our needs, we ended up using VueJS because of its ease of use, the ability to use templates, large and growing community and good documentation. After developing on it for a around 4 months we re-evaluated and agreed that we had made the right choice and continue to migrate our products/platform to it.

See more
Recommends
on
ReactReact

It is hard to say which is good. I've used both. Vue is easier. But I feel more comfortable with React. That is why I chose React.

See more
Recommends
on
Vue.jsVue.js

VueJS hands down. Which components do you need? Have a look at Vuetify, mature project, plenty of components ready to plug and play. If on the other side you need more customization, have a look at tailwindcss. VueJS is much cleaner and IMO will overtake React soon. It's simply a better React.

See more
Recommends
on
ReactReact

Virtual dom and JSX. Vue is just a baby to the race. React has it's mobile platform version as react native . so it would be easy for you and you wont reinvent the wheel again for mobile apps.

See more
Recommends
on
ReactReact

It all depends. Vue.js is smaller, and from what I saw (benchmarks) faster. It's also slightly more intuitive and easier to grasp. React is more popular, and the adoption rate is much higher.

Again, it all depends.

If I may, my personal choice would perhaps be either React or Svelte.

See more
Recommends
on
ReactReactVue.jsVue.js

I would recommend both of them since Vue is a UI library and helps you to design beautiful website while react allows you to handle backend problems like comment management and onspot reloading more efficiently also react includes useState and react is a framework while vue is a library

See more
S Milliken
Recommends
on
Vue.jsVue.js

As others have stated there are more canned components available for React, but your observation about it's complexity is an important one. There are architectural aspects of Vue.js that lead to cleaner more concise solutions. As React apps get bigger they become a little unwieldy. Depending on your requirements you need to weigh those competing concerns. Our team is using React, but I am beginning to question that choice as time goes on. Another consideration is that Vue.js is becoming more mature as we speak. Also as others join the project, react developers should be productive in Vue.js within days. Just my 2 cents...

See more
Decisions about ExpressJS and React
Kamaleshwar BN
Senior Software Engineer at Pulley · | 10 upvotes · 610.8K views

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.

See more
José Oberto
Head of Engineering & Development at Chiper · | 14 upvotes · 530.6K views

It is a very versatile library that provides great development speed. Although, with a bad organization, maintaining projects can be a disaster. With a good architecture, this does not happen.

Angular is obviously powerful and robust. I do not rule it out for any future application, in fact with the arrival of micro frontends and cross-functional teams I think it could be useful. However, if I have to build a stack from scratch again, I'm left with react.

See more
Valeriy Bykanov
Founder, CEO at X1 Group · | 4 upvotes · 399.7K views

Working on a new SaaS web/mobile app and ended up with React as our choice of Frontend JavaScript framework for SPA web version with React Native for iOS, Android, Windows clients.

The key takeaways:

  • Both frameworks can do the job quite well for us. This might be true for the majority of utility web apps being built out there as well, so there was no "wrong" decision here.

  • Vue is often cited as easier to learn and code on. But only in case your engineers never worked with either Vue or React and start learning them from scratch. In our case, we knew we'll be hiring engineers who already have experience in the framework we'll select - so it was not a big argument for Vue.

  • We're building our engineering team in Ukraine and realised we have 3(!) times more engineers with React experience on the market than having Vue experience.

  • Mobile - React Native, despite being a different framework, still shares a lot with React and it's just easier for React developers to start using React Native in days.

The strongest points for our decision:

  • React community is larger, means more/faster answers to your questions and existing components.

  • Way more experienced React engineers on the market.

  • React + React Native is a great combo if you're building web and mobile clients of the same app.

See more
John Clifford de Vera
Software Engineer at CircleYY · | 21 upvotes · 399.6K views

I used React not just because it is more popular than Angular. But the declarative and composition it gives out of the box is fascinating and React.js is just a very small UI library and you can build anything on top of it.

Composing components is the strongest asset of React for me as it can breakdown your application into smaller pieces which makes it easy to reuse and scale.

See more
Máté Homolya
Senior developer at Self-employed · | 11 upvotes · 271.3K views
Migrated
from
ReactReact
to
SvelteSvelte

Svelte is everything a developer could ever want for flexible, scalable frontend development. I feel like React has reached a maturity level where there needs to be new syntactic sugar added (I'm looking at you, hooks!). I love how Svelte sets out to rebuild a new language to write interfaces in from the ground up.

See more
Simon Reymann
Senior Fullstack Developer at QUANTUSflow Software GmbH · | 23 upvotes · 4.7M views

Our whole Vue.js frontend stack (incl. SSR) consists of the following tools:

  • Nuxt.js consisting of Vue CLI, Vue Router, vuex, Webpack and Sass (Bundler for HTML5, CSS 3), Babel (Transpiler for JavaScript),
  • Vue Styleguidist as our style guide and pool of developed Vue.js components
  • Vuetify as Material Component Framework (for fast app development)
  • TypeScript as programming language
  • Apollo / GraphQL (incl. GraphiQL) for data access layer (https://apollo.vuejs.org/)
  • ESLint, TSLint and Prettier for coding style and code analyzes
  • Jest as testing framework
  • Google Fonts and Font Awesome for typography and icon toolkit
  • NativeScript-Vue 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.
See more
Malek Boubakri
Web developer at Quicktext · | 0 upvote · 201.7K views

The project is a web gadget previously made using vanilla script and JQuery, It is a part of the "Quicktext" platform and offers an in-app live & customizable messaging widget. We made that remake with React eco-system and Typescript and we're so far happy with results. We gained tons of TS features, React scaling & re-usabilities capabilities and much more!

What do you think?

See more
Amir Mousavi

(1/2) In terms of Application & Data we chose a full JS web stack with React as the frontend framework and 'Node for the backend with Express. In this setup, we'll be using MongoDB as our database and will utilize Mongoose as the ODM for extensibility.

  • React: React, the frontend framework originally developed by Facebook is currently the most popular front-end framework amongst web developers. This well-maintained and robust framework has been getting popularity amongst web developers thanks to the flexibilities it offers to the developers to manage app states and eliminates the need to create any raw HTML code with its JSX language. React is popular, well–maintained and the go-to for web development in the current era and there exists lots of frontend UI libraries that we can utilize (e.g. Material UI, Bootstrap)

  • Node: As we have chosen React for our frontend framework, it makes sense to keep JS for our backend as it's easier for web-developers to "context switch" to a Node backend. Node Package Manager (NPM), the open-source library for libraries provides a vast number of external libraries we can use in our applications to get things get started quickly. Another consideration we had for the backend was Python since not all our members are fully proficient with Node, especially that our Machine Learning would all be written in Python. Though after more considerations we still thought it'd be a better idea to keep the web application written solely in JavaScript as it won't be a huge overhead and it will cause it more reusable code as we this is how we see the future of our stack to look like eventually. We will be using Yarn as the package manager of our choice since it provides a slightly better package versioning over npm and shorter commands, though there are no huge differences!

  • Express JS: ExpressJS is the web framework for setting up servers and thanks to its open-source community, it has established itself as a robust a comprehensive server framework that pairs nicely with Node.JS. Wikipedia explains Express as the "de facto standard server framework for Node.js". Pretty much all the web applications I've seen that use Node as their backend use express to provide APIs and hook the backend to the frontend.

  • MongoDB *: MongoDB is another great resource to use especially in the early stages of a startup, as we need to make sure we can get going fast while making sure we can still stick to a well-behaving and scalable database. Thanks to its schema-less design, it gives us the opportunity to keep playing around with our datatypes without having to constraint ourselves on a certain schema. In our current plans, the data we're are JSON-like documents anyways, and will give us a leverage in making sure in making a working MVP. Although MongoDB is still a great choice for many production applications as it's highly scalable, we still need we need to bring a relational DB such as Postgres to our stack in order to provide fast queries for our lead-generation application, though MongoDB should give us exactly what we need at this stage. Pairing MongoDB with Mongoose will make development even much faster and readable as it will provide schemas/Models for this schema-less database.

See more

React is used for its functional nature and simplification of ES6. The efficiency of how it re-renders based on components is an added bonus. styled-components is used to simplify CSS 3 styling, and to avoid having additional files.

The Node.js framework, ExpressJS, is used for the back-end to create a RESTful API for the NoSQL Firebase database.

Deployment is done through Heroku. ExpressJS, Firebase, and Heroku are used for their ease of use and simplicity, over its alternatives for this proof of concept application.

They would most likely be migrated into Laravel, aws, and MySQL, for production because of their scalability, and robustness if used with a larger dataset and userbase.

Finally, Visual Studio Code is used as a code editor, due to its combination of features and speed, while also having an integrated terminal.

See more
Manatsawin Hanmongkolchai
Chose
jQueryjQuery
over
ReactReact
in

When I started TipMe, I thought about using React frontend. At the end, plain, simple jQuery won.

I had to build this iteration of the site fast and by using jQuery I could keep using Django as a full stack development tool. One important point is Django form (combined with Django Bootstrap3) means that I don't have to reinvent form rendering again, which will be the case with React.

Over time, more interactivity seeped into the site and React components start making its way into the codebase.

I now wish the site is built using React so that I could add more user friendly interfaces easier (no more fuddling with server states) but I would still say jQuery helped me get past those early days.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of ExpressJS
Pros of React
  • 380
    Simple
  • 336
    Node.js
  • 244
    Javascript
  • 193
    High performance
  • 152
    Robust routing
  • 73
    Middlewares
  • 71
    Open source
  • 59
    Great community
  • 37
    Hybrid web applications
  • 16
    Well documented
  • 9
    Sinatra inspired
  • 9
    Rapid development
  • 7
    Socket connection
  • 7
    Isomorphic js.. superfast and easy
  • 5
    Light weight
  • 4
    Resource available for learning
  • 4
    Npm
  • 3
    Event loop
  • 3
    Callbacks
  • 2
    Data stream
  • 828
    Components
  • 672
    Virtual dom
  • 578
    Performance
  • 506
    Simplicity
  • 442
    Composable
  • 185
    Data flow
  • 166
    Declarative
  • 127
    Isn't an mvc framework
  • 119
    Reactive updates
  • 115
    Explicit app state
  • 49
    JSX
  • 29
    Learn once, write everywhere
  • 22
    Easy to Use
  • 21
    Uni-directional data flow
  • 17
    Works great with Flux Architecture
  • 11
    Great perfomance
  • 10
    Javascript
  • 9
    Built by Facebook
  • 8
    TypeScript support
  • 6
    Server Side Rendering
  • 6
    Speed
  • 5
    Feels like the 90s
  • 5
    Excellent Documentation
  • 5
    Props
  • 5
    Functional
  • 5
    Easy as Lego
  • 5
    Closer to standard JavaScript and HTML than others
  • 5
    Cross-platform
  • 5
    Easy to start
  • 5
    Hooks
  • 5
    Awesome
  • 5
    Scalable
  • 4
    Super easy
  • 4
    Allows creating single page applications
  • 4
    Server side views
  • 4
    Sdfsdfsdf
  • 4
    Start simple
  • 4
    Strong Community
  • 4
    Fancy third party tools
  • 4
    Scales super well
  • 3
    Has arrow functions
  • 3
    Beautiful and Neat Component Management
  • 3
    Just the View of MVC
  • 3
    Simple, easy to reason about and makes you productive
  • 3
    Fast evolving
  • 3
    SSR
  • 3
    Great migration pathway for older systems
  • 3
    Rich ecosystem
  • 3
    Simple
  • 3
    Has functional components
  • 3
    Every decision architecture wise makes sense
  • 3
    Very gentle learning curve
  • 2
    Split your UI into components with one true state
  • 2
    Recharts
  • 2
    Permissively-licensed
  • 2
    Fragments
  • 2
    Sharable
  • 2
    Image upload
  • 2
    HTML-like
  • 1
    React hooks
  • 1
    Datatables

Sign up to add or upvote prosMake informed product decisions

Cons of ExpressJS
Cons of React
  • 27
    Not python
  • 17
    Overrated
  • 14
    No multithreading
  • 9
    Javascript
  • 5
    Not fast
  • 2
    Easily Insecure for Novices
  • 40
    Requires discipline to keep architecture organized
  • 29
    No predefined way to structure your app
  • 28
    Need to be familiar with lots of third party packages
  • 13
    JSX
  • 10
    Not enterprise friendly
  • 6
    One-way binding only
  • 3
    State consistency with backend neglected
  • 3
    Bad Documentation
  • 2
    Error boundary is needed
  • 2
    Paradigms change too fast

Sign up to add or upvote consMake informed product decisions

- No public GitHub repository available -

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.

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

What companies use ExpressJS?
What companies use React?
See which teams inside your own company are using ExpressJS or React.
Sign up for StackShare EnterpriseLearn More

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

Blog Posts

JavaScriptGitHubReact+12
5
4119
Oct 11 2019 at 2:36PM

LogRocket

JavaScriptReactAngularJS+8
5
1953
Node.jsnpmKubernetes+6
1
1402
GitHubDockerReact+17
40
36147
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.
Golang
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