Finatra vs Node.js vs Tornado

Get Advice Icon

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

Finatra
Finatra

23
24
+ 1
9
Node.js
Node.js

27.9K
22K
+ 1
7.9K
Tornado
Tornado

221
176
+ 1
151

What is Finatra?

At Twitter, Finagle provides the building blocks for most of the code written on the JVM. It has long-served as Twitter's extensible, protocol-agnostic, highly-scalable RPC framework.

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

By using non-blocking network I/O, Tornado can scale to tens of thousands of open connections, making it ideal for long polling, WebSockets, and other applications that require a long-lived connection to each user.
Get Advice Icon

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

Why do developers choose Finatra?
Why do developers choose Node.js?
Why do developers choose Tornado?

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

What are the cons of using Finatra?
What are the cons of using Node.js?
What are the cons of using Tornado?
    Be the first to leave a con

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

    What companies use Finatra?
    What companies use Node.js?
    What companies use Tornado?

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

    What tools integrate with Finatra?
    What tools integrate with Node.js?
    What tools integrate with Tornado?
      No integrations found

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

      What are some alternatives to Finatra, Node.js, and Tornado?
      Play
      Play Framework makes it easy to build web applications with Java & Scala. Play is based on a lightweight, stateless, web-friendly architecture. Built on Akka, Play provides predictable and minimal resource consumption (CPU, memory, threads) for highly-scalable applications.
      Finagle
      Finagle is an extensible RPC system for the JVM, used to construct high-concurrency servers. Finagle implements uniform client and server APIs for several protocols, and is designed for high performance and concurrency.
      ASP.NET
      .NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
      Rails
      Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern.
      Django
      Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
      See all alternatives
      Decisions about Finatra, Node.js, and Tornado
      No stack decisions found
      Interest over time
      Reviews of Finatra, Node.js, and Tornado
      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 Finatra, Node.js, and Tornado
      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 SpreadServe
      SpreadServe uses TornadoTornado

      SpreadServe's RealTimeWebServer is built in Tornado. Spreadsheets loaded into SpreadServeEngine instances are projected into browsers using Tornado. Server side recalcs are pushed to the browser using web sockets.

      Avatar of papaver
      papaver uses TornadoTornado

      setup an api for a client with tornado backend. incredibly fast and lightweight. unfortunately breaks down when using third party libraries which block internally.

      Avatar of Banyan
      Banyan uses TornadoTornado

      Tornado with Async/Await coroutines provided in Python 3.5 make up for an excellent stack for a micro-service.

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