Alternatives to ExpressJS logo

Alternatives to ExpressJS

Koa, React, Flask, Django, and Go are the most popular alternatives and competitors to ExpressJS.
21.1K
16K
+ 1
1.5K

What is ExpressJS and what are its top alternatives?

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 55.1K GitHub stars and 9.3K GitHub forks. Here’s a link to ExpressJS's open source repository on GitHub

Top Alternatives to ExpressJS

  • Koa

    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

    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

    Flask is intended for getting started very quickly and was developed with best intentions in mind. ...

  • Django

    Django

    Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. ...

  • Go

    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

    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. ...

  • Laravel

    Laravel

    It is a web application framework with expressive, elegant syntax. It attempts to take the pain out of development by easing common tasks used in the majority of web projects, such as authentication, routing, sessions, and caching. ...

  • hapi

    hapi

    hapi is a simple to use configuration-centric framework with built-in support for input validation, caching, authentication, and other essential facilities for building web applications and services. ...

ExpressJS alternatives & related posts

Koa logo

Koa

498
401
11
Next generation web framework for node.js
498
401
+ 1
11
PROS OF KOA
  • 5
    Async/Await
  • 5
    JavaScript
  • 1
    REST API
CONS OF KOA
    Be the first to leave a con

    related Koa posts

    Antonio Kobashikawa
    Web developer | Blogger | Freelancer at Rulo Kobashikawa · | 6 upvotes · 179.8K views

    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
    Paul Whittemore
    Developer and Owner at Appurist Software · | 1 upvote · 145.8K views
    Shared insights
    on
    FastifyFastifyKoaKoaExpressJSExpressJS

    Will base most server-side APIs on Fastify . Smaller, faster, easier. Faster than Koa; and twice as fast as ExpressJS.

    See more
    React logo

    React

    113.6K
    91.3K
    3.8K
    A JavaScript library for building user interfaces
    113.6K
    91.3K
    + 1
    3.8K
    PROS OF REACT
    • 760
      Components
    • 652
      Virtual dom
    • 563
      Performance
    • 486
      Simplicity
    • 436
      Composable
    • 175
      Data flow
    • 159
      Declarative
    • 124
      Isn't an mvc framework
    • 113
      Reactive updates
    • 111
      Explicit app state
    • 32
      JSX
    • 23
      Learn once, write everywhere
    • 19
      Uni-directional data flow
    • 16
      Easy to Use
    • 14
      Works great with Flux Architecture
    • 10
      Great perfomance
    • 8
      Built by Facebook
    • 7
      Javascript
    • 5
      TypeScript support
    • 5
      Speed
    • 4
      Feels like the 90s
    • 4
      Scalable
    • 4
      Easy to start
    • 4
      Awesome
    • 3
      Fancy third party tools
    • 3
      Hooks
    • 3
      Functional
    • 3
      Server side views
    • 3
      Props
    • 2
      Rich ecosystem
    • 2
      Obama
    • 2
      Very gentle learning curve
    • 2
      Has functional components
    • 2
      Simple
    • 2
      Closer to standard JavaScript and HTML than others
    • 2
      Super easy
    • 2
      Has arrow functions
    • 2
      Strong Community
    • 2
      Great migration pathway for older systems
    • 2
      SSR
    • 2
      Fast evolving
    • 2
      Simple, easy to reason about and makes you productive
    • 2
      Excellent Documentation
    • 2
      Scales super well
    • 2
      Just the View of MVC
    • 2
      Server Side Rendering
    • 2
      Cross-platform
    • 1
      Fragments
    • 1
      Start simple
    • 1
      Every decision architecture wise makes sense
    • 1
      Permissively-licensed
    • 1
      Beautiful and Neat Component Management
    • 1
      Sdfsdfsdf
    • 1
      Allows creating single page applications
    • 1
      Split your UI into components with one true state
    • 1
      Sharable
    CONS OF REACT
    • 35
      Requires discipline to keep architecture organized
    • 23
      No predefined way to structure your app
    • 21
      Need to be familiar with lots of third party packages
    • 8
      JSX
    • 7
      Not enterprise friendly
    • 4
      One-way binding only
    • 2
      State consistency with backend neglected
    • 2
      Bad Documentation

    related React posts

    Vaibhav Taunk
    Team Lead at Technovert · | 31 upvotes · 1.6M views

    I am starting to become a full-stack developer, by choosing and learning .NET Core for API Development, Angular CLI / React for UI Development, MongoDB for database, as it a NoSQL DB and Flutter / React Native for Mobile App Development. Using Postman, Markdown and Visual Studio Code for development.

    See more
    Adebayo Akinlaja
    Engineering Manager at Andela · | 26 upvotes · 787K views

    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
    Flask logo

    Flask

    14.2K
    11.9K
    1.5K
    A microframework for Python based on Werkzeug, Jinja 2 and good intentions
    14.2K
    11.9K
    + 1
    1.5K
    PROS OF FLASK
    • 313
      Lightweight
    • 269
      Python
    • 214
      Minimal
    • 145
      Open source
    • 98
      Documentation
    • 66
      Easy to use
    • 54
      Easy to setup and get it going
    • 53
      Well designed
    • 48
      Easy to develop and maintain applications
    • 45
      Easy to get started
    • 18
      Beautiful code
    • 16
      Rapid development
    • 14
      Powerful
    • 13
      Expressive
    • 12
      Awesome
    • 11
      Love it
    • 11
      Flexibilty
    • 11
      Speed
    • 10
      Get started quickly
    • 10
      Simple to use
    • 10
      Easy to integrate
    • 9
      Perfect for small to large projects with superb docs.
    • 9
      For it flexibility
    • 9
      Customizable
    • 8
      Productive
    • 8
      Flexibilty and easy to use
    • 7
      Flask
    • 6
      Not JS
    • 6
      User friendly
    • 5
      Secured
    • 4
      Unopinionated
    • 1
      Secure
    • 1
      Orm
    CONS OF FLASK
    • 10
      Not JS
    • 7
      Context
    • 4
      Not fast
    • 1
      Don't has many module as in spring

    related Flask posts

    James Man
    Software Engineer at Pinterest · | 42 upvotes · 849K views
    Shared insights
    on
    FlaskFlaskReactReact
    at

    One of our top priorities at Pinterest is fostering a safe and trustworthy experience for all Pinners. As Pinterest’s user base and ads business grow, the review volume has been increasing exponentially, and more content types require moderation support. To solve greater engineering and operational challenges at scale, we needed a highly-reliable and performant system to detect, report, evaluate, and act on abusive content and users and so we created Pinqueue.

    Pinqueue-3.0 serves as a generic platform for content moderation and human labeling. Under the hood, Pinqueue3.0 is a Flask + React app powered by Pinterest’s very own Gestalt UI framework. On the backend, Pinqueue3.0 heavily relies on PinLater, a Pinterest-built reliable asynchronous job execution system, to handle the requests for enqueueing and action-taking. Using PinLater has significantly strengthened Pinqueue3.0’s overall infra with its capability of processing a massive load of events with configurable retry policies.

    Hundreds of millions of people around the world use Pinterest to discover and do what they love, and our job is to protect them from abusive and harmful content. We’re committed to providing an inspirational yet safe experience to all Pinners. Solving trust & safety problems is a joint effort requiring expertise across multiple domains. Pinqueue3.0 not only plays a critical role in responsively taking down unsafe content, it also has become an enabler for future ML/automation initiatives by providing high-quality human labels. Going forward, we will continue to improve the review experience, measure review quality and collaborate with our machine learning teams to solve content moderation beyond manual reviews at an even larger scale.

    See more

    Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

    See more
    Django logo

    Django

    26.7K
    23.6K
    3.8K
    The Web framework for perfectionists with deadlines
    26.7K
    23.6K
    + 1
    3.8K
    PROS OF DJANGO
    • 634
      Rapid development
    • 468
      Open source
    • 401
      Great community
    • 353
      Easy to learn
    • 263
      Mvc
    • 215
      Beautiful code
    • 210
      Elegant
    • 193
      Free
    • 191
      Great packages
    • 178
      Great libraries
    • 68
      Restful
    • 65
      Comes with auth and crud admin panel
    • 65
      Powerful
    • 60
      Great documentation
    • 58
      Great for web
    • 44
      Python
    • 37
      Great orm
    • 34
      Great for api
    • 27
      All included
    • 22
      Web Apps
    • 21
      Fast
    • 18
      Used by top startups
    • 16
      Clean
    • 15
      Easy setup
    • 15
      Sexy
    • 12
      Convention over configuration
    • 10
      ORM
    • 9
      The Django community
    • 9
      Allows for very rapid development with great libraries
    • 6
      Great MVC and templating engine
    • 6
      King of backend world
    • 6
      Its elegant and practical
    • 5
      Mvt
    • 5
      Batteries included
    • 5
      Full stack
    • 5
      Fast prototyping
    • 5
      Easy Structure , useful inbuilt library
    • 5
      Easy to develop end to end AI Models
    • 5
      Have not found anything that it can't do
    • 4
      Very quick to get something up and running
    • 4
      Easy to use
    • 4
      Easy
    • 4
      Cross-Platform
    • 3
      Map
    • 3
      Great peformance
    • 3
      Scaffold
    • 3
      Just the right level of abstraction
    • 3
      Modular
    • 3
      Full-Text Search
    • 3
      Zero code burden to change databases
    • 3
      Python community
    • 3
      Many libraries
    • 2
      Easy to change database manager
    • 1
      Node js
    CONS OF DJANGO
    • 25
      Underpowered templating
    • 19
      Underpowered ORM
    • 19
      Autoreload restarts whole server
    • 15
      URL dispatcher ignores HTTP method
    • 10
      Internal subcomponents coupling
    • 7
      Admin
    • 7
      Not nodejs
    • 6
      Configuration hell
    • 4
      Not as clean and nice documentation like Laravel
    • 3
      Python
    • 3
      Not typed
    • 3
      Bloated admin panel included
    • 2
      Overwhelming folder structure
    • 1
      InEffective Multithreading

    related Django posts

    Dmitry Mukhin

    Simple controls over complex technologies, as we put it, wouldn't be possible without neat UIs for our user areas including start page, dashboard, settings, and docs.

    Initially, there was Django. Back in 2011, considering our Python-centric approach, that was the best choice. Later, we realized we needed to iterate on our website more quickly. And this led us to detaching Django from our front end. That was when we decided to build an SPA.

    For building user interfaces, we're currently using React as it provided the fastest rendering back when we were building our toolkit. It’s worth mentioning Uploadcare is not a front-end-focused SPA: we aren’t running at high levels of complexity. If it were, we’d go with Ember.js.

    However, there's a chance we will shift to the faster Preact, with its motto of using as little code as possible, and because it makes more use of browser APIs. One of our future tasks for our front end is to configure our Webpack bundler to split up the code for different site sections. For styles, we use PostCSS along with its plugins such as cssnano which minifies all the code.

    All that allows us to provide a great user experience and quickly implement changes where they are needed with as little code as possible.

    See more

    Hey, so I developed a basic application with Python. But to use it, you need a python interpreter. I want to add a GUI to make it more appealing. What should I choose to develop a GUI? I have very basic skills in front end development (CSS, JavaScript). I am fluent in python. I'm looking for a tool that is easy to use and doesn't require too much code knowledge. I have recently tried out Flask, but it is kinda complicated. Should I stick with it, move to Django, or is there another nice framework to use?

    See more
    Go logo

    Go

    13.8K
    11.4K
    3.1K
    An open source programming language that makes it easy to build simple, reliable, and efficient software
    13.8K
    11.4K
    + 1
    3.1K
    PROS OF GO
    • 528
      High-performance
    • 385
      Simple, minimal syntax
    • 351
      Fun to write
    • 293
      Easy concurrency support via goroutines
    • 265
      Fast compilation times
    • 186
      Goroutines
    • 176
      Statically linked binaries that are simple to deploy
    • 146
      Simple compile build/run procedures
    • 132
      Backed by google
    • 129
      Great community
    • 48
      Garbage collection built-in
    • 40
      Built-in Testing
    • 39
      Excellent tools - gofmt, godoc etc
    • 36
      Elegant and concise like Python, fast like C
    • 32
      Awesome to Develop
    • 24
      Used for Docker
    • 23
      Flexible interface system
    • 21
      Great concurrency pattern
    • 21
      Deploy as executable
    • 18
      Open-source Integration
    • 15
      Fun to write and so many feature out of the box
    • 14
      Easy to read
    • 13
      Go is God
    • 13
      Its Simple and Heavy duty
    • 12
      Easy to deploy
    • 12
      Powerful and simple
    • 10
      Best language for concurrency
    • 10
      Concurrency
    • 9
      Rich standard library
    • 9
      Safe GOTOs
    • 8
      Clean code, high performance
    • 8
      Easy setup
    • 7
      High performance
    • 7
      Hassle free deployment
    • 7
      Simplicity, Concurrency, Performance
    • 6
      Used by Giants of the industry
    • 6
      Single binary avoids library dependency issues
    • 5
      Cross compiling
    • 5
      Simple, powerful, and great performance
    • 4
      Excellent tooling
    • 4
      WYSIWYG
    • 4
      Very sophisticated syntax
    • 4
      Gofmt
    • 4
      Garbage Collection
    • 3
      Kubernetes written on Go
    • 2
      Keep it simple and stupid
    • 2
      Widely used
    • 0
      No generics
    • 0
      Operator goto
    CONS OF GO
    • 41
      You waste time in plumbing code catching errors
    • 25
      Verbose
    • 22
      Packages and their path dependencies are braindead
    • 15
      Dependency management when working on multiple projects
    • 14
      Google's documentations aren't beginer friendly
    • 10
      Automatic garbage collection overheads
    • 8
      Uncommon syntax
    • 6
      Type system is lacking (no generics, etc)
    • 2
      Collection framework is lacking (list, set, map)

    related Go posts

    Conor Myhrvold
    Tech Brand Mgr, Office of CTO at Uber · | 39 upvotes · 4.2M views

    How Uber developed the open source, end-to-end distributed tracing Jaeger , now a CNCF project:

    Distributed tracing is quickly becoming a must-have component in the tools that organizations use to monitor their complex, microservice-based architectures. At Uber, our open source distributed tracing system Jaeger saw large-scale internal adoption throughout 2016, integrated into hundreds of microservices and now recording thousands of traces every second.

    Here is the story of how we got here, from investigating off-the-shelf solutions like Zipkin, to why we switched from pull to push architecture, and how distributed tracing will continue to evolve:

    https://eng.uber.com/distributed-tracing/

    (GitHub Pages : https://www.jaegertracing.io/, GitHub: https://github.com/jaegertracing/jaeger)

    Bindings/Operator: Python Java Node.js Go C++ Kubernetes JavaScript OpenShift C# Apache Spark

    See more
    Nick Parsons
    Director of Developer Marketing at Stream · | 35 upvotes · 1.4M views

    Winds 2.0 is an open source Podcast/RSS reader developed by Stream with a core goal to enable a wide range of developers to contribute.

    We chose JavaScript because nearly every developer knows or can, at the very least, read JavaScript. With ES6 and Node.js v10.x.x, it’s become a very capable language. Async/Await is powerful and easy to use (Async/Await vs Promises). Babel allows us to experiment with next-generation JavaScript (features that are not in the official JavaScript spec yet). Yarn allows us to consistently install packages quickly (and is filled with tons of new tricks)

    We’re using JavaScript for everything – both front and backend. Most of our team is experienced with Go and Python, so Node was not an obvious choice for this app.

    Sure... there will be haters who refuse to acknowledge that there is anything remotely positive about JavaScript (there are even rants on Hacker News about Node.js); however, without writing completely in JavaScript, we would not have seen the results we did.

    #FrameworksFullStack #Languages

    See more
    NGINX logo

    NGINX

    94.1K
    44.3K
    5.5K
    A high performance free open source web server powering busiest sites on the Internet.
    94.1K
    44.3K
    + 1
    5.5K
    PROS OF NGINX
    • 1.4K
      High-performance http server
    • 896
      Performance
    • 728
      Easy to configure
    • 606
      Open source
    • 529
      Load balancer
    • 286
      Scalability
    • 285
      Free
    • 222
      Web server
    • 173
      Simplicity
    • 134
      Easy setup
    • 29
      Content caching
    • 19
      Web Accelerator
    • 14
      Capability
    • 13
      Fast
    • 11
      Predictability
    • 10
      High-latency
    • 7
      Reverse Proxy
    • 6
      Supports http/2
    • 4
      The best of them
    • 4
      Lots of Modules
    • 4
      Enterprise version
    • 4
      Great Community
    • 3
      High perfomance proxy server
    • 3
      Streaming media
    • 3
      Embedded Lua scripting
    • 3
      Reversy Proxy
    • 3
      Streaming media delivery
    • 2
      Fast and easy to set up
    • 2
      Lightweight
    • 2
      Slim
    • 2
      saltstack
    • 1
      Virtual hosting
    • 1
      Blash
    • 1
      GRPC-Web
    • 1
      Ingress controller
    • 1
      Narrow focus. Easy to configure. Fast
    • 1
      Along with Redis Cache its the Most superior
    • 0
      A
    CONS OF NGINX
    • 8
      Advanced features require subscription

    related NGINX posts

    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
    Gabriel Pa
    Shared insights
    on
    TraefikTraefikNGINXNGINX
    at

    We switched to Traefik so we can use the REST API to dynamically configure subdomains and have the ability to redirect between multiple servers.

    We still use nginx with a docker-compose to expose the traffic from our APIs and TCP microservices, but for managing routing to the internet Traefik does a much better job

    The biggest win for naologic was the ability to set dynamic configurations without having to restart the server

    See more
    Laravel logo

    Laravel

    20.4K
    16.3K
    3.5K
    A PHP Framework For Web Artisans
    20.4K
    16.3K
    + 1
    3.5K
    PROS OF LARAVEL
    • 514
      Clean architecture
    • 374
      Growing community
    • 348
      Composer friendly
    • 323
      Open source
    • 303
      The only framework to consider for php
    • 202
      Mvc
    • 195
      Quickly develop
    • 159
      Dependency injection
    • 147
      Application architecture
    • 134
      Embraces good community packages
    • 62
      Write less, do more
    • 55
      Restful routing
    • 52
      Orm (eloquent)
    • 47
      Database migrations & seeds
    • 47
      Artisan scaffolding and migrations
    • 36
      Awesome
    • 34
      Great documentation
    • 26
      Awsome, Powerfull, Fast and Rapid
    • 25
      Promotes elegant coding
    • 25
      Build Apps faster, easier and better
    • 22
      JSON friendly
    • 22
      Easy to learn, scalability
    • 21
      Eloquent ORM
    • 21
      Modern PHP
    • 21
      Most easy for me
    • 20
      Test-Driven
    • 19
      Blade Template
    • 18
      Beautiful
    • 13
      Security
    • 12
      Based on SOLID
    • 11
      Simple
    • 11
      Clean Documentation
    • 11
      Cool
    • 10
      Easy to attach Middleware
    • 10
      Convention over Configuration
    • 9
      Easy Request Validatin
    • 8
      Easy to use
    • 8
      Its just wow
    • 8
      Simpler
    • 8
      Get going quickly straight out of the box. BYOKDM
    • 8
      Laravel + Cassandra = Killer Framework
    • 8
      Fast
    • 7
      Less dependencies
    • 7
      Friendly API
    • 7
      Super easy and powerful
    • 7
      Simplistic , easy and faster
    • 6
      Great customer support
    • 6
      Its beautiful to code in
    • 5
      The only "cons" is wrong! No static method just Facades
    • 5
      Fast and Clarify framework
    • 5
      Active Record
    • 5
      Php7
    • 5
      Speed
    • 5
      Easy
    • 4
      Composer
    • 4
      Laravel Mix
    • 4
      Minimum system requirements
    • 4
      Easy views handling and great ORM
    • 4
      Eloquent
    • 4
      Laragon
    • 3
      Laravel Nova
    • 3
      Laravel casher
    • 3
      Laravel Passport
    • 3
      Ease of use
    • 3
      Cashier with Braintree and Stripe
    • 3
      Laravel Forge and Envoy
    • 3
      Laravel Horizon and Telescope
    • 3
      Laravel Spark
    • 3
      Intuitive usage
    • 2
      Heart touch
    • 2
      Like heart beat
    • 2
      Rapid development
    • 2
      Laravel love live long
    • 2
      Touch heart artisan
    • 2
      Scout
    CONS OF LARAVEL
    • 42
      PHP
    • 28
      Too many dependency
    • 20
      Slower than the other two
    • 16
      A lot of static method calls for convenience
    • 13
      Too many include
    • 10
      Heavy
    • 7
      Bloated
    • 6
      Laravel
    • 5
      Confusing
    • 4
      Does not work well for file uploads in Shared Hosting
    • 4
      Too underrated
    • 2
      Not fast with MongoDB
    • 1
      Difficult to learn
    • 1
      Not using SOLID principles

    related Laravel posts

    I need to build a web application plus android and IOS apps for an enterprise, like an e-commerce portal. It will have intensive use of MySQL to display thousands (40-50k) of live product information in an interactive table (searchable, filterable), live delivery tracking. It has to be secure, as it will handle information on customers, sales, inventory. Here is the technology stack: Backend: Laravel 7 Frondend: Vue.js, React or AngularJS?

    Need help deciding technology stack. Thanks.

    See more
    Antonio Sanchez

    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
    hapi logo

    hapi

    391
    393
    85
    Server Framework for Node.js
    391
    393
    + 1
    85
    PROS OF HAPI
    • 25
      Makes me Hapi making REST APIs
    • 14
      Simpler than other REST libraries
    • 14
      Configuration
    • 13
      Quality Driven Ecosystem
    • 13
      Modularization
    • 5
      Easy testability
    • 1
      Better validation
    • 0
      Restify
    CONS OF HAPI
      Be the first to leave a con

      related hapi posts

      What is the best way to increase your income as a freelancer in 2019? What frameworks should be the best to learn? React Node.js Docker Kubernetes Sequelize Mongoose MongoDB ExpressJS hapi Based on trends I've picked up a JS full stack. If you need to work under startups you may replace React with Vue.js . If you want to work in outsourcing Angular 2+ may be better.

      What is your opinion?

      See more