Get Advice Icon

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

Node.js
Node.js

47.9K
41.6K
+ 1
8K
Swoole
Swoole

7
20
+ 1
0
Add tool

What is Node.js?

Node.js uses an event-driven, non-blocking I/O model that makes it lightweight and efficient, perfect for data-intensive real-time applications that run across distributed devices.

What is Swoole?

It is an open source high-performance network framework using an event-driven, asynchronous, non-blocking I/O model which makes it scalable and efficient.
Get Advice Icon

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

Why do developers choose Node.js?
Why do developers choose Swoole?
    Be the first to leave a pro

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

      Be the first to leave a con

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

      What companies use Node.js?
      What companies use Swoole?
        No companies found

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

        What tools integrate with Node.js?
        What tools integrate with Swoole?

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

        What are some alternatives to Node.js and Swoole?
        AngularJS
        AngularJS lets you write client-side web applications as if you had a smarter browser. It lets you use good old HTML (or HAML, Jade and friends!) as your template language and lets you extend HTML’s syntax to express your application’s components clearly and succinctly. It automatically synchronizes data from your UI (view) with your JavaScript objects (model) through 2-way data binding.
        PHP
        Fast, flexible and pragmatic, PHP powers everything from your blog to the most popular websites in the world.
        Python
        Python is a general purpose programming language created by Guido Van Rossum. Python is most praised for its elegant syntax and readable code, if you are just beginning your programming career python suits you best.
        JavaScript
        JavaScript is most known as the scripting language for Web pages, but used in many non-browser environments as well such as node.js or Apache CouchDB. It is a prototype-based, multi-paradigm scripting language that is dynamic,and supports object-oriented, imperative, and functional programming styles.
        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.
        See all alternatives
        Decisions about Node.js and Swoole
        Julien DeFrance
        Julien DeFrance
        Principal Software Engineer at Tophatter · | 16 upvotes · 1.3M views
        atSmartZipSmartZip
        Rails
        Rails
        Rails API
        Rails API
        AWS Elastic Beanstalk
        AWS Elastic Beanstalk
        Capistrano
        Capistrano
        Docker
        Docker
        Amazon S3
        Amazon S3
        Amazon RDS
        Amazon RDS
        MySQL
        MySQL
        Amazon RDS for Aurora
        Amazon RDS for Aurora
        Amazon ElastiCache
        Amazon ElastiCache
        Memcached
        Memcached
        Amazon CloudFront
        Amazon CloudFront
        Segment
        Segment
        Zapier
        Zapier
        Amazon Redshift
        Amazon Redshift
        Amazon Quicksight
        Amazon Quicksight
        Superset
        Superset
        Elasticsearch
        Elasticsearch
        Amazon Elasticsearch Service
        Amazon Elasticsearch Service
        New Relic
        New Relic
        AWS Lambda
        AWS Lambda
        Node.js
        Node.js
        Ruby
        Ruby
        Amazon DynamoDB
        Amazon DynamoDB
        Algolia
        Algolia

        Back in 2014, I was given an opportunity to re-architect SmartZip Analytics platform, and flagship product: SmartTargeting. This is a SaaS software helping real estate professionals keeping up with their prospects and leads in a given neighborhood/territory, finding out (thanks to predictive analytics) who's the most likely to list/sell their home, and running cross-channel marketing automation against them: direct mail, online ads, email... The company also does provide Data APIs to Enterprise customers.

        I had inherited years and years of technical debt and I knew things had to change radically. The first enabler to this was to make use of the cloud and go with AWS, so we would stop re-inventing the wheel, and build around managed/scalable services.

        For the SaaS product, we kept on working with Rails as this was what my team had the most knowledge in. We've however broken up the monolith and decoupled the front-end application from the backend thanks to the use of Rails API so we'd get independently scalable micro-services from now on.

        Our various applications could now be deployed using AWS Elastic Beanstalk so we wouldn't waste any more efforts writing time-consuming Capistrano deployment scripts for instance. Combined with Docker so our application would run within its own container, independently from the underlying host configuration.

        Storage-wise, we went with Amazon S3 and ditched any pre-existing local or network storage people used to deal with in our legacy systems. On the database side: Amazon RDS / MySQL initially. Ultimately migrated to Amazon RDS for Aurora / MySQL when it got released. Once again, here you need a managed service your cloud provider handles for you.

        Future improvements / technology decisions included:

        Caching: Amazon ElastiCache / Memcached CDN: Amazon CloudFront Systems Integration: Segment / Zapier Data-warehousing: Amazon Redshift BI: Amazon Quicksight / Superset Search: Elasticsearch / Amazon Elasticsearch Service / Algolia Monitoring: New Relic

        As our usage grows, patterns changed, and/or our business needs evolved, my role as Engineering Manager then Director of Engineering was also to ensure my team kept on learning and innovating, while delivering on business value.

        One of these innovations was to get ourselves into Serverless : Adopting AWS Lambda was a big step forward. At the time, only available for Node.js (Not Ruby ) but a great way to handle cost efficiency, unpredictable traffic, sudden bursts of traffic... Ultimately you want the whole chain of services involved in a call to be serverless, and that's when we've started leveraging Amazon DynamoDB on these projects so they'd be fully scalable.

        See more
        Divine Bawa
        Divine Bawa
        at PayHub Ghana Limited · | 14 upvotes · 209.4K views
        Node.js
        Node.js
        GraphQL
        GraphQL
        MySQL
        MySQL
        Prisma
        Prisma
        graphql-yoga
        graphql-yoga
        React
        React
        styled-components
        styled-components
        Next.js
        Next.js
        Apollo
        Apollo

        I just finished a web app meant for a business that offers training programs for certain professional courses. I chose this stack to test out my skills in graphql and react. I used Node.js , GraphQL , MySQL for the #Backend utilizing Prisma as a database interface for MySQL to provide CRUD APIs and graphql-yoga as a server. For the #frontend I chose React, styled-components for styling, Next.js for routing and SSR and Apollo for data management. I really liked the outcome and I will definitely use this stack in future projects.

        See more
        Francisco Quintero
        Francisco Quintero
        Tech Lead at Dev As Pros · | 7 upvotes · 289.7K views
        atDev As ProsDev As Pros
        Node.js
        Node.js
        Rails
        Rails
        Amazon EC2
        Amazon EC2
        Heroku
        Heroku
        RuboCop
        RuboCop
        JavaScript
        JavaScript
        ESLint
        ESLint
        Slack
        Slack
        Twist
        Twist

        For many(if not all) small and medium size business time and cost matter a lot.

        That's why languages, frameworks, tools, and services that are easy to use and provide 0 to productive in less time, it's best.

        Maybe Node.js frameworks might provide better features compared to Rails but in terms of MVPs, for us Rails is the leading alternative.

        Amazon EC2 might be cheaper and more customizable than Heroku but in the initial terms of a project, you need to complete configurationos and deploy early.

        Advanced configurations can be done down the road, when the project is running and making money, not before.

        But moving fast isn't the only thing we care about. We also take the job to leave a good codebase from the beginning and because of that we try to follow, as much as we can, style guides in Ruby with RuboCop and in JavaScript with ESLint and StandardJS.

        Finally, comunication and keeping a good history of conversations, decisions, and discussions is important so we use a mix of Slack and Twist

        See more
        David Ritsema
        David Ritsema
        Frontend Architect at Herman Miller · | 7 upvotes · 38.9K views
        atHerman MillerHerman Miller
        Node.js
        Node.js
        React
        React
        Next.js
        Next.js
        prismic.io
        prismic.io

        When we started thinking about technology options for our own Design System, we wanted to focus on two primary goals

        1. Build a design system site using design system components - a living prototype
        2. Explore new ways of working to position our technical capabilities for the future

        We have a small team of developers responsible for the initial build so we knew that we couldn’t spend too much time maintaining infrastructure on the Backend. We also wanted freedom to make decisions on the Frontend with the ability to adapt over time.

        For this first iteration we decided to use Node.js, React, and Next.js. Content will be managed via headless CMS in prismic.io.

        1. Next.js so that we can run React serverside without worrying about server code.
        2. prismic.io so that our content is accessible via API and our frontend is fully independent.
        See more
        Node.js
        Node.js
        JavaScript
        JavaScript
        Django
        Django
        Python
        Python

        Django or NodeJS? Hi, I’m thinking about which software I should use for my web-app. What about Node.js or Django for the back-end? I want to create an online preparation course for the final school exams in my country. At the beginning for maths. The course should contain tutorials and a lot of exercises of different types. E.g. multiple choice, user text/number input and drawing tasks. The exercises should change (different levels) with the learning progress. Wrong questions should asked again with different numbers. I also want a score system and statistics. So far, I have got only limited web development skills. (some HTML, CSS, Bootstrap and Wordpress). I don’t know JavaScript or Python.

        Possible pros for Python / Django: - easy syntax, easier to learn for me as a beginner - fast development, earlier release - libraries for mathematical and scientific computation

        Possible pros for JavaScript / Node.js: - great performance, better choice for real time applications: user should get the answer for a question quickly

        Which software would you use in my case? Are my arguments for Python/NodeJS right? Which kind of database would you use?

        Thank you for your answer!

        Node.js JavaScript Django Python

        See more
        Trey Tacon
        Trey Tacon
        Meteor
        Meteor
        Node.js
        Node.js

        Mixmax was originally built using Meteor as a single monolithic app. As more users began to onboard, we started noticing scaling issues, and so we broke out our first microservice: our Compose service, for writing emails and Sequences, was born as a Node.js service. Soon after that, we broke out all recipient searching and storage functionality to another Node.js microservice, our Contacts service. This practice of breaking out microservices in order to help our system more appropriately scale, by being more explicit about each microservice’s responsibilities, continued as we broke out numerous more microservices.

        See more
        Trey Tacon
        Trey Tacon
        Mixmax
        Mixmax
        Meteor
        Meteor
        Node.js
        Node.js
        Amazon EC2
        Amazon EC2
        Go
        Go
        nginx
        nginx
        AWS Elastic Load Balancing (ELB)
        AWS Elastic Load Balancing (ELB)
        AWS Elastic Beanstalk
        AWS Elastic Beanstalk

        As Mixmax began to scale super quickly, with more and more customers joining the platform, we started to see that the Meteor app was still having a lot of trouble scaling due to how it tried to provide its reactivity layer. To be honest, this led to a brutal summer of playing Galaxy container whack-a-mole as containers would saturate their CPU and become unresponsive. I’ll never forget hacking away at building a new microservice to relieve the load on the system so that we’d stop getting paged every 30-40 minutes. Luckily, we’ve never had to do that again! After stabilizing the system, we had to build out two more microservices to provide the necessary reactivity and authentication layers as we rebuilt our Meteor app from the ground up in Node.js. This also had the added benefit of being able to deploy the entire application in the same AWS VPCs. Thankfully, AWS had also released their ALB product so that we didn’t have to build and maintain our own websocket layer in Amazon EC2. All of our microservices, except for one special Go one, are now in Node with an nginx frontend on each instance, all behind AWS Elastic Load Balancing (ELB) or ALBs running in AWS Elastic Beanstalk.

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

        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
        Martin Johannesson
        Martin Johannesson
        Senior Software Developer at IT Minds · | 11 upvotes · 39.2K views
        atIT MindsIT Minds
        TypeScript
        TypeScript
        Node.js
        Node.js
        TypeORM
        TypeORM
        PostgreSQL
        PostgreSQL
        Apollo
        Apollo
        GraphQL
        GraphQL
        Next.js
        Next.js
        MongoDB
        MongoDB
        React
        React
        PWA
        PWA
        AMP
        AMP
        #B2B
        #Backend
        #Serverless

        At IT Minds we create customized internal or #B2B web and mobile apps. I have a go to stack that I pitch to our customers consisting of 3 core areas. 1) A data core #backend . 2) A micro #serverless #backend. 3) A user client #frontend.

        For the Data Core I create a backend using TypeScript Node.js and with TypeORM connecting to a PostgreSQL Exposing an action based api with Apollo GraphQL

        For the micro serverless backend, which purpose is verification for authentication, autorization, logins and the likes. It is created with Next.js api pages. Using MongoDB to store essential information, caching etc.

        Finally the frontend is built with React using Next.js , TypeScript and @Apollo. We create the frontend as a PWA and have a AMP landing page by default.

        See more
        Node.js
        Node.js
        Laravel
        Laravel
        PHP
        PHP
        React
        React
        Vue.js
        Vue.js

        I want to create a video sharing service like Youtube, which users can use to upload and watch videos. I prefer to use Vue.js for front-end. What do you suggest for the back-end? Node.js or Laravel ( PHP ) I need a good performance with high speed, and the most important thing is the ability to handle user's requests if the site's traffic increases. I want to create an algorithm that users who watch others videos earn points (randomly but in clear context) If you have anything else to improve, please let me know. For eg: If you prefer React to Vue.js. Thanks in advance

        See more
        Node.js
        Node.js
        Java
        Java
        Spring Boot
        Spring Boot
        Python
        Python
        Flask
        Flask
        Django
        Django

        Since you said that your middleware will be accessing DB and expose API, you can go with Node.js. It will make your development fast and easy. Suppose in future you will add some business logic you can choose Java with Spring Boot or Python with Flask / Django. NOTE: Language or framework doesn't matter. Choose based on your programming knowledge.

        See more
        George Krachtopoulos
        George Krachtopoulos
        GraphQL
        GraphQL
        MongoDB
        MongoDB
        PostgreSQL
        PostgreSQL
        MySQL
        MySQL
        Node.js
        Node.js
        React
        React
        Django
        Django

        I would like to build a medium to large scale app, that has real-time operations and a good authentication system and a secure and fast API. Should I use Django with React only? Or maybe use Django for the API, Node.js for real-time operations and React for the frontend? Any suggestions? Which database should I use with those technologies? Should I use both MySQL / PostgreSQL and MongoDB together? Should I use only MongoDB or MySQL / PostgreSQL? Or is it better to go with both MySQL and PostgreSQL at the same time? Should I use also GraphQL?

        See more
        George Krachtopoulos
        George Krachtopoulos
        GraphQL
        GraphQL
        React
        React
        Node.js
        Node.js
        MongoDB
        MongoDB
        Django
        Django
        Python
        Python
        PostgreSQL
        PostgreSQL

        Hello everyone,

        Well, I want to build a large-scale project, but I do not know which ORDBMS to choose. The app should handle real-time operations, not chatting, but things like future scheduling or reminders. It should be also really secure, fast and easy to use. And last but not least, should I use them both. I mean PostgreSQL with Python / Django and MongoDB with Node.js? Or would it be better to use PostgreSQL with Node.js?

        *The project is going to use React for the front-end and GraphQL is going to be used for the API.

        Thank you all. Any answer or advice would be really helpful!

        See more
        Shivam Bhargava
        Shivam Bhargava
        AVP - Business at VAYUZ Technologies Pvt. Ltd. · | 11 upvotes · 9.9K views
        Swift
        Swift
        Kotlin
        Kotlin
        React
        React
        Python
        Python
        Rails
        Rails
        Java
        Java
        Node.js
        Node.js
        #Neobank

        Hi Community! Trust everyone is keeping safe. I am exploring the idea of building a #Neobank (App) with end-to-end banking capabilities. In the process of exploring this space, I have come across multiple Apps (N26, Revolut, Monese, etc) and explored their stacks in detail. The confusion remains to be the Backend Tech to be used?

        What would you go with considering all of the languages such as Node.js Java Rails Python are suggested by some person or the other. As a general trend, I have noticed the usage of Node with React on the front or Node with a combination of Kotlin and Swift. Please suggest what would be the right approach!

        See more
        Node.js
        Node.js
        Vue.js
        Vue.js
        React
        React
        JavaScript
        JavaScript
        .NET
        .NET

        I want to start a SaaS or product based company and thinking of going with the .NET family of technologies, as I have been working on it for the past 3 years. Can anyone provide insights on the pros and cons of this approach? Would I be able to run modern JavaScript frameworks on top of it like React/Vue.js/Node.js?

        See more
        Interest over time
        Reviews of Node.js and Swoole
        Avatar of mihaicracan
        Web Developer, Freelancer
        Review ofNode.jsNode.js

        I have benchmarked Node.js and other popular frameworks using a real life application example. You can find the results here: https://medium.com/@mihaigeorge.c/web-rest-api-benchmark-on-a-real-life-application-ebb743a5d7a3

        How developers use Node.js and Swoole
        Avatar of MaxCDN
        MaxCDN uses Node.jsNode.js

        We decided to move the provisioning process to an API-driven process, and had to decide among a few implementation languages:

        • Go, the server-side language from Google
        • NodeJS, an asynchronous framework in Javascript

        We built prototypes in both languages, and decided on NodeJS:

        • NodeJS is asynchronous-by-default, which suited the problem domain. Provisioning is more like “start the job, let me know when you’re done” than a traditional C-style program that’s CPU-bound and needs low-level efficiency.
        • NodeJS acts as an HTTP-based service, so exposing the API was trivial

        Getting into the headspace and internalizing the assumptions of a tool helps pick the right one. NodeJS assumes services will be non-blocking/event-driven and HTTP-accessible, which snapped into our scenario perfectly. The new NodeJS architecture resulted in a staggering 95% reduction in processing time: requests went from 7.5 seconds to under a second.

        Avatar of Trello
        Trello uses Node.jsNode.js

        The server side of Trello is built in Node.js. We knew we wanted instant propagation of updates, which meant that we needed to be able to hold a lot of open connections, so an event-driven, non-blocking server seemed like a good choice. Node also turned out to be an amazing prototyping tool for a single-page app. The prototype version of the Trello server was really just a library of functions that operated on arrays of Models in the memory of a single Node.js process, and the client simply invoked those functions through a very thin wrapper over a WebSocket. This was a very fast way for us to get started trying things out with Trello and making sure that the design was headed in the right direction. We used the prototype version to manage the development of Trello and other internal projects at Fog Creek.

        Avatar of AngeloR
        AngeloR uses Node.jsNode.js

        All backend code is done in node.js

        We have a SOA for our systems. It isn't quite Microservices jsut yet, but it does provide domain encapsulation for our systems allowing the leaderboards to fail without affecting the login or education content.

        We've written a few internal modules including a very simple api framework.

        I ended up picking Node.js because the game client is entirely in JavaScript as well. This choice made it a lot easier for developers to cross borders between being "client side" game developers and "server side" game developers. It also meant that the pool of knowledge/best practices is applicable almost across the company.

        Avatar of Tony Manso
        Tony Manso uses Node.jsNode.js

        Node.js is the foundation for the server. Using Express.js for serving up web content, and sockets.io for synchronizing communications between all clients and the server, the entire game runs as Javascript in Node.js.

        I don't know how well this will scale if/when I have hundreds of people connected simultaneously, but I suspect that when that time comes, it may be just a matter of increasing the hardware.

        As for why I chose Node.js... I just love JavaScript! My code is all original, meaning that I didn't have to inherit anyone's bad Javascript. I'm perfectly capable of creating my own bad Javascript, thank you! Also, npm rocks!

        Avatar of Tarun Singh
        Tarun Singh uses Node.jsNode.js

        Used node.js server as backend. Interacts with MongoDB using MongoSkin package which is a wrapper for the MongoDB node.js driver. It uses express for routing and cors package for enabling cors and eyes package for enhancing readability of logs. Also I use nodemon which takes away the effort to restart the server after making changes.

        How much does Node.js cost?
        How much does Swoole cost?
        Pricing unavailable
        Pricing unavailable
        News about Swoole
        More news