ExpressJS logo
Sinatra inspired web development framework for node.js -- insanely fast, flexible, and simple

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.
ExpressJS is a tool in the Microframeworks (Backend) category of a tech stack.
ExpressJS is an open source tool with 44.3K GitHub stars and 7.4K GitHub forks. Here’s a link to ExpressJS's open source repository on GitHub

Who uses ExpressJS?

Companies
841 companies use ExpressJS in their tech stacks, including Twitter, Intuit, and Tilt.

Developers
748 developers use ExpressJS.

ExpressJS Integrations

Node.js, Datadog, MEAN, Airbrake, and KeystoneJS are some of the popular tools that integrate with ExpressJS. Here's a list of all 19 tools that integrate with ExpressJS.

Why developers like ExpressJS?

Here’s a list of reasons why companies and developers use ExpressJS
ExpressJS Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose ExpressJS in their tech stack.

GitHub
nginx
ESLint
AVA
Semantic UI React
Redux
React
PostgreSQL
ExpressJS
Node.js
FeathersJS
Heroku
Amazon EC2
Kubernetes
Jenkins
Docker Compose
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
Antonio Sanchez
Antonio Sanchez
CEO at Kokoen GmbH · | 10 upvotes · 37.8K views
atKokoen GmbH
ExpressJS
Node.js
JavaScript
MongoDB
Go
MySQL
Laravel
PHP

Back at the start of 2017, we decided to create a web-based tool for the SEO OnPage analysis of our clients' websites. We had over 2.000 websites to analyze, so we had to perform thousands of requests to get every single page from those websites, process the information and save the big amounts of data somewhere.

Very soon we realized that the initial chosen script language and database, PHP, Laravel and MySQL, was not going to be able to cope efficiently with such a task.

By that time, we were doing some experiments for other projects with a language we had recently get to know, Go , so we decided to get a try and code the crawler using it. It was fantastic, we could process much more data with way less CPU power and in less time. By using the concurrency abilites that the language has to offers, we could also do more Http requests in less time.

Unfortunately, I have no comparison numbers to show about the performance differences between Go and PHP since the difference was so clear from the beginning and that we didn't feel the need to do further comparison tests nor document it. We just switched fully to Go.

There was still a problem: despite the big amount of Data we were generating, MySQL was performing very well, but as we were adding more and more features to the software and with those features more and more different type of data to save, it was a nightmare for the database architects to structure everything correctly on the database, so it was clear what we had to do next: switch to a NoSQL database. So we switched to MongoDB, and it was also fantastic: we were expending almost zero time in thinking how to structure the Database and the performance also seemed to be better, but again, I have no comparison numbers to show due to the lack of time.

We also decided to switch the website from PHP and Laravel to JavaScript and Node.js and ExpressJS since working with the JSON Data that we were saving now in the Database would be easier.

As of now, we don't only use the tool intern but we also opened it for everyone to use for free: https://tool-seo.com

See more
across_the_grid
across_the_grid
Full-stack web developer at Capmo GmbH · | 10 upvotes · 8.2K views
ExpressJS
Node.js
Socket.IO

I use Socket.IO because the application has 2 frontend clients, which need to communicate in real-time. The backend-server handles the communication between these two clients via websockets. Socket.io is very easy to set up in Node.js and ExpressJS.

In the research project, the 1st client shows panoramic videos in a so called cave system (it is the VR setup of our research lab, which consists of three big screens, which are specially arranged, so the user experience the videos more immersive), the 2nd client controls the videos/locations of the 1st client.

See more
David Sugar
David Sugar
Chief at Cherokees Of Idaho · | 7 upvotes · 45.7K views
ExpressJS
Flask
Sinatra
Node.js
PHP
Python
Perl
Ruby
Java
C++
#Piwitch
#SipWitchQt
#Bayonne

My view of the enterprise software stack I think is different than most. I find that I use C++ and #Qt in many of the roles most used Java and typically in #SipWitchQt and #Bayonne. I also have come to adopt Ruby in those other places where I had used Perl, Python , and PHP in the past, and certainly in preference to Node.js. In particular I am starting to really like Ruby and Sinatra over Python and Flask or Node.js with ExpressJS for writing quick web api and microservices, hence why I am using Sinatra in #PiWitch going forward. I do not pick a language because of popularity, but rather based on whether I can be effective in it for the problem I am trying solve.

See more
ASP.NET
Puppeteer
vuex
ExpressJS
React
Angular 2
Vue.js
Netlify
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
Antonio Kobashikawa
Antonio Kobashikawa
Web developer | Blogger | Freelancer at Rulo Kobashikawa · | 4 upvotes · 21.3K views
Koa
ES6
JavaScript
Ionic
Vue.js
MongoDB
ExpressJS
Node.js

We are using Node.js and ExpressJS to build a REST services that is middleware of a legacy system. MongoDB as database. Vue.js helps us to make rapid UI to test use cases. Frontend is build for mobile with Ionic . We like using JavaScript and ES6 .

I think next step could be to use Koa but I am not sure.

See more

ExpressJS's features

  • Robust routing
  • HTTP helpers (redirection, caching, etc)
  • View system supporting 14+ template engines
  • Content negotiation
  • Focus on high performance
  • Executable for generating applications quickly
  • High test coverage

ExpressJS Alternatives & Comparisons

What are some alternatives to ExpressJS?
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.
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.
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.
See all alternatives

ExpressJS's Stats