Node.js
Node.js

27K
21K
7.9K
Sinatra
Sinatra

382
284
209
Add tool

Node.js vs Sinatra: What are the differences?

Node.js: A platform built on Chrome's JavaScript runtime for easily building fast, scalable network applications. 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; Sinatra: Classy web-development dressed in a DSL. Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.

Node.js can be classified as a tool in the "Frameworks (Full Stack)" category, while Sinatra is grouped under "Microframeworks (Backend)".

"Npm" is the primary reason why developers consider Node.js over the competitors, whereas "Lightweight" was stated as the key factor in picking Sinatra.

Node.js and Sinatra are both open source tools. It seems that Node.js with 35.5K GitHub stars and 7.78K forks on GitHub has more adoption than Sinatra with 10.6K GitHub stars and 1.89K GitHub forks.

reddit, Slack, and MIT are some of the popular companies that use Node.js, whereas Sinatra is used by SendGrid, thoughtbot, and New Relic. Node.js has a broader approval, being mentioned in 4055 company stacks & 3897 developers stacks; compared to Sinatra, which is listed in 92 company stacks and 33 developer stacks.

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 Sinatra?

Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort.

Want advice about which of these to choose?Ask the StackShare community!

Why do developers choose Node.js?
Why do developers choose Sinatra?

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

What are the cons of using Node.js?
What are the cons of using Sinatra?
    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 Sinatra?

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

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

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

    What are some alternatives to Node.js and Sinatra?
    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 Sinatra
    No stack decisions found
    Interest over time
    Reviews of Node.js and Sinatra
    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 Sinatra
    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.

    Avatar of datapile
    datapile uses SinatraSinatra

    Scalatra (we had to pick Sinatra on StackShare since Scalatra is has not yet been officially added) is the slickest (not to be confused with Slick for Scala) web/applet server framework we've had the pleasure of playing with in Scala.

    For all intensive purposes, Scalatra is the Scala version of Sinatra (which for anyone who doesn't know is a Ruby web server DSL).

    Avatar of Karma
    Karma uses SinatraSinatra

    We use Sinatra a lot. I love Sinatra for APIs. It's really simple, really lightweight. It's awesome.

    Avatar of David Sugar
    David Sugar uses SinatraSinatra

    Typically used for web api services such as in piwitch

    Avatar of EdgeTheory
    EdgeTheory uses SinatraSinatra

    Microservices, RESTful APIs

    Avatar of Satoru Ishikawa
    Satoru Ishikawa uses SinatraSinatra

    WebAPIつくるのに。

    How much does Node.js cost?
    How much does Sinatra cost?
    Pricing unavailable
    Pricing unavailable