Node.js
Node.js

24.5K
7.8K
6.3K
TypeScript
TypeScript

7.5K
380
1.5K
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 TypeScript?

TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

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

Why do developers choose Node.js?
Why do developers choose TypeScript?
What are the cons of using Node.js?
What are the cons of using TypeScript?
Be the first to leave a con
What companies use Node.js?
What companies use TypeScript?
What are some alternatives to Node.js and TypeScript?
Django
Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design.
ASP.NET
.NET is a developer platform made up of tools, programming languages, and libraries for building many different types of applications.
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.
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.
Android SDK
Android provides a rich application framework that allows you to build innovative apps and games for mobile devices in a Java language environment.
See all alternatives
What tools integrate with Node.js?
What tools integrate with TypeScript?
Decisions about Node.js and TypeScript
Tomáš Pustelník
Tomáš Pustelník
Visual Studio Code
Flow (JS)
TypeScript

We currently use TypeScript at work. Previously we used Flow (JS) but it was sometimes really difficult to make the types work the way you want. Especially non-trivial types were problematic. And the IDE support wasn't good, Flow took too much resources and sometimes remain stuck and do not show errors (I use Visual Studio Code). With TypeScript we almost do not have these problems. IDE support is superb, working with types is much easier and typing system seems more mature and powerful. There are some downsides (like partion inheritance etc.), but TS team is still pushing it forward. So for me TypeScript is clear winner.

See more
JavaScript
Flow (JS)
TypeScript

If you will start a project from scratch I recommend to use TypeScript. But, If you work with legacy projects written in JavaScript I recommend Flow (JS). Both tools have the same objective: reduce the bad code (which create illegible code, generate bugs e problems to maintenance). Flex helps you to avoid fall in bad codes, but TypeScript prevent you to c you to create bad codes. I believe cause this some JavaScript fans don't like TS, because TS block you to write some types o code. This is the fundamental difference between TS and Flow: Flow avoid problems, but no force. TS force you to prevent problems.

See more
Peter Schussheim
Peter Schussheim
TypeScript

I use TypeScript because:

  • incredible developer tooling and community support
  • actively developed and supported by Microsoft (yes, I like Microsoft) ;)
  • easier to make sense of a TS codebase because the annotations provide so much more context than plain JS
  • refactors become easier (VSCode has superb support for TS)

I've switched back and forth between TS and Flow and decided a year ago to abandon Flow completely in favor of TS. I don't want to bash Flow, however, my main grievances are very poor tooling (editor integration leaves much to be desired), a slower release cycle, and subpar docs and community support.

See more
Interest over time
Reviews of Node.js and TypeScript
Avatar of lpellegr
Noticeable
Review ofTypeScriptTypeScript

Typed JavaScript is just fantastic for medium to large size projects. The type system is well thought and compatible with standard JavaScript. Almost any new Javascript-based development should use TypeScript to save time and prevent technical debt over time.

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 TypeScript
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 NewCraft
NewCraft uses TypeScriptTypeScript

Typescript has been a win because, in general, it makes codebase maintenance less brittle. It's significantly easier to refactor in TS than JS, which encourages incremental improvements, file re-organizing, etc. Our developers are happier with the overall development experience.

The downside is that TS sometimes exacerbates problems caused by Node's fragmented ecosystem. Sometimes @types/ don't work, other times types are outdated. This can lead to problems with newly-installed libraries.

If your project is big enough, I'd say TS is nearly always worth it, but it can make selecting libraries a pain.

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 Matt Welke
Matt Welke uses TypeScriptTypeScript

Used for Node.js personal projects that I think will have a longer lifetime than others, or that are combined with a web front end component like Angular (to share types).

Generally a poor developer experience. Usage decreasing recently compared to other preferred programming languages/platforms.

Avatar of Marc3842h
Marc3842h uses TypeScriptTypeScript

TypeScript is used in Kuro (https://github.com/Marc3842h/kuro).

Kuro is the browser facing portion of shiro. Typescript is the language in which the web server and the frontend scripts are written in. They later get compiled down to vanilla JavaScript.

Avatar of John Harris
John Harris uses TypeScriptTypeScript

Excellent design-time type checking and the ability for the Typescript compiler to attach typing information to metadata at compile time allows for relatively simple type checking at run-time as well.

Avatar of Blood Bot
Blood Bot uses TypeScriptTypeScript

We, our team can sleep comfortable at night know "x is undefined" will not occur in production. It's also really helpful as IDE help in code completion when they know types.

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