Diamond vs Node.js vs Tornado

Get Advice Icon

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

Diamond
Diamond

4
9
+ 1
2
Node.js
Node.js

28K
22K
+ 1
7.9K
Tornado
Tornado

222
176
+ 1
151

What is Diamond?

Diamond is a powerful MVC / Template Framework written in the D Programming Language. Diamond can be used to write powerful websites, webapis or as stand-alone as a template parser.

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 Diamond?
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 Diamond?
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 Diamond?
    What companies use Node.js?
    What companies use Tornado?
      No companies found

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

      What tools integrate with Diamond?
      What tools integrate with Node.js?
      What tools integrate with Tornado?

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

      What are some alternatives to Diamond, Node.js, and Tornado?
      Graphite
      Graphite does two things: 1) Store numeric time-series data and 2) Render graphs of this data on demand
      Crystal
      Crystal is a programming language that resembles Ruby but compiles to native code and tries to be much more efficient, at the cost of disallowing certain dynamic aspects of Ruby.
      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 Diamond, Node.js, and Tornado
      No stack decisions found
      Interest over time
      Reviews of Diamond, 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

      Review ofDiamondDiamond

      Diamond is a great framework and I just started using it for some personal projects and so far I'm impressed with its flexibility and easy learning curve

      Review ofDiamondDiamond

      Diamond is a great framework and I just started using it for some personal projects and so far im impressed with its flexibility and easy learning curve

      How developers use Diamond, 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 Diamond cost?
      How much does Node.js cost?
      How much does Tornado cost?
      Pricing unavailable
      Pricing unavailable
      Pricing unavailable
      News about Diamond
      More news
      News about Tornado
      More news