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

Node.js

106.5K
86.3K
+ 1
8.3K
TypeScript

42.2K
31.9K
+ 1
454
Add tool

Node.js vs TypeScript: 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; TypeScript: A superset of JavaScript that compiles to clean JavaScript output. TypeScript is a language for application-scale JavaScript development. It's a typed superset of JavaScript that compiles to plain JavaScript.

Node.js can be classified as a tool in the "Frameworks (Full Stack)" category, while TypeScript is grouped under "Templating Languages & Extensions".

"Npm", "Javascript" and "Great libraries" are the key factors why developers consider Node.js; whereas "More intuitive and type safe javascript", "Type safe" and "JavaScript superset" are the primary reasons why TypeScript is favored.

Node.js and TypeScript are both open source tools. TypeScript with 50.5K GitHub stars and 6.98K forks on GitHub appears to be more popular than Node.js with 35.5K GitHub stars and 7.78K GitHub forks.

reddit, Slack, and MIT are some of the popular companies that use Node.js, whereas TypeScript is used by Slack, Clever, and Repro. Node.js has a broader approval, being mentioned in 4054 company stacks & 3897 developers stacks; compared to TypeScript, which is listed in 954 company stacks and 1390 developer stacks.

Advice on Node.js and TypeScript
Needs advice
on
Node.js
Java
and
Django

I am starting a new project to build a simple ERP system for small businesses, where the owners can also manage orders on their phones.

I have decided to use JavaScript & React on the front-end and MySQL for the database. But I am really struggling to pick a backend language. I'm familiar with Node.js, but when I search for ERP (CRM & order mgt) projects on Youtube, I see that most build with Python (Django). Many also recommend Java.

So I'm a little confused. Please advice.

See more
Replies (10)
Luiz H. Rapatão
Senior Software Engineer at rapatao.com · | 7 upvotes · 18.6K views
Recommends
Node.js

There is no problem to keep using node.js for your backend. Keep in mind that you already have expertise in it, so you could focus on development instead of to learn a new syntax/framework. There are good libraries in node.js that could help you in the development (services, validations, integrations, etc) also keeps you with a single language to the whole system. Django, as far as I know, it will provide a solid base for you, but it could be too much for your purpose, also could be more complex than you could need. Java provides to you many frameworks to simplify your integrations also could achieve a good performance. Anyway, I recommend you to follow using node.js, since you already know the syntax/platform.

See more
Recommends
Django

Django is best suited for your requirement and has a very good community base to reach out for any queries. I have myself built and seen a lot of stuffs which match your requirement.

See more
Recommends
Node.js

Hello, Node.js is simply a better option than python if you wish to make your application real-time operations. Also Node.js is a better choice than python for server side development.

But let's get your problem now. For most ERP projects, Node.js is a better choice. Also, since you are already familiar with Node.js, continue with it. Personally, I think Node.js is way better than Django mainly because JS is the god of ERP projects. Java is a good counterpart though.

See more
Michael R.
Full Stack Web Developer at Safe This Home, LLC · | 3 upvotes · 9.4K views

I recommend Node.js because you are creating a new application and will likely not have a huge workload, at least not initially. Node is incredibly fast and used in more SPA's than any other solution, but as the CPU load increases, the efficiency starts to drop off.

I could see how scalability could eventually become a concern if your SaaS platform becomes extremely popular, but considering that you already know Node, I think it would be wiser to shorten your time to market and develop a quality product rather comfortably.

Otherwise you also run the risk of security flaws due to inexperience with a new framework and that is not something you want when you are handling other people's data.

See more
Mukesh PM
Recommends
Node.js

I personally suggest NodeJs as you are also familiar with it. Even nodeJS has its own strong frameworks such as NestJS, Loopback etc. And the community is pretty much strong though. If you are looking for a faster development , then always you can go for NodeJS. And its pretty fast though.

See more
Sinisha Mihajlovski
Design Lead | Senior Software Developer at Endava · | 2 upvotes · 11.6K views
Recommends
SugarCRM

Will you build it from scratch? There are some open source ERP/CRM solutions that you can use as a base for your solution. SugarCrm is an example. By looking at those, you can then decide which language you'll use for the backend.

See more
anas mattar
Technical Lead at DPO International · | 1 upvotes · 8.7K views
Recommends

I prefer to use Node.js because you have experainse in it and also you can do anything for this language.

See more
Nicolai Kamphenkel
Full-Stack-Engineer at Kamphenkel Datensysteme GmbH · | 1 upvotes · 10.1K views
Recommends
Node.js
AdonisJS

Hey if you are allready familar with nodejs then just go with it. There are some very nice frameworks out there that can be hold with the big ones.

Examples: AdonisJS or SailsJS

AdonisJS is even very similar like django.

See more

Go with Node.js and use a framework. I can recommend NestJS or Fastifiy as a Backend Framework. They both have a strong community and Fastify is the successor of Express but much faster.

See more
Ruslan Rayanov
Recommends

I can recommend you a flexible constructor for this purpose. To create a system, you only need sql, and you can connect to any database without any problems. Please see the introductory article about the features, and if you are interested, I can provide access to the test site. My contacts for communication are on the site page https://falconspace.site/docs/vvedenie-v-falcon-space--c-chego-nachat https://falconspace.site/for-it

See more
View all (10)
Needs advice
on
Node.js
Laravel
and
Django

I am looking to make a website builder web app, where users can publish built websites with a custom or subdomain (much like Wix, Weebly, Squarespace, etc.), and I was wondering about any advice on which web framework to build it on? I currently know Node.js, but I would be excited to learn Laravel or Django if those would be better options. Any advice would be much appreciated!

See more
Replies (3)

The tools you mentioned are all backend focused frameworks. I will say, you can choose one of them as you may prefer (maybe Laravel and Django will be better since it's more organized than Node.js). But no matter what, if you will create a website builder application, today you'll need a frontend framework like Vue.js, React or Angular - or maybe Ember.js, Svelte and Meteor.

See more
Đam Lê Đình
Senior Software Engineer at NAB · | 6 upvotes · 44.9K views
Recommends
Laravel

If you use Nodejs, you should use one more frontend language like reactjs or angularjs. Laravel is the better option. They are more power for rendering.

See more
View all (3)
Needs advice
on
Spring
and
Node.js

I am provided with the opportunity to learn one of these technologies during my training. I have prior experience with Spring and found it tough and still haven't figured out when to use what annotations among the thousands of annotations provided. On the other hand, I am very proficient in Java data structures and algorithms (custom comparators, etc.)

I have used Node.js and found it interesting, but I am wondering If I am taking the risk of choosing a framework that has a comparatively lesser scope in the future. One advantage I see with the node.js is the number of tutorials available and the ease with which I can code.

Please recommend which path to take. Is Spring learnable, or should I spend my energy on learning Node.js instead?

See more
Replies (2)

I do not know Spring or your company/specialty. Of course it must be learnable and I won't tell you to give up on anything. Java is and will remain valuable.

Regardless, I don't think "lesser scope" is a valid strike against Node.js here. Node.js fulfills JavaScript's original vision of an everywhere language and can run anywhere that Java can. It serves webpages, communicates with hardware, powers command line tools, and builds desktop applications. A huge complexity-saver for teams running many environments (my biggest regret is that it cannot run a microcontroller).

Node.js' biggest practical weakness is that JavaScript is less structured than Java. Luckily, the large influx of Java developers has been helping with this: gaps like constants and private properties are gradually filling in, and TypeScript firms up the types to the point where JavaScript looks a lot like Java.

Probably more potential competition from the larger pool of JS developers, but the compensation is allegedly similar so I guess there is a similar supply/demand situation.

See more
Recommends

hi this depends where you want to advance . If you want to work for an big aged company with a lot of legacy go the spring way (banks, insurances netflix etc ) if you want to go the new agile fast cloud way learn node js it is much more suited for cloud and micro service even spring cloud can do that as well but it is much more heavier

See more
Decisions about Node.js and TypeScript

We choose Next.js for our React framework because it's very minimal and has a very organized file structure. Also, it offers key features like zero setups, automatic server rendering and code splitting, typescript support. Our app requires some loading time to process the video, server-side rendering will allow our website to display faster than client-side rending.

See more
Slava Korolev
Senior Software Engineer at Diff Stories · | 12 upvotes · 12.4K views

SQL or NoSQL?

As a general rule, I would recommend using the SQL database over NoSQL because:

  • working with associations is way easier;
  • you can write complex queries;
  • rigid structure ensures data validation;
  • more developers know how to work with it properly;

But while working on Diff Stories, we choose DynamoDB, and that's why.

Associations

The core object of our product is a Pull Request. All other entities, such as diff blocks, code comments, reviews, etc. are all parts of a pull request. It works really well with document-based storage like DynamoDB because we can save everything as one document, and no associations are needed.

Data structure

Another useful feature for us — JSON as a first-level citizen in DB. We represent a pull request as a set of pages with blocks and additional objects. It is very convenient to save it as a JSON. You can have JSON columns in Postgres, but it's more natural in NoSQL databases.

Connections

Our backend is a Node app written in Typescript. It is deployed serverless on AWS Lambdas. You can say that it's unnecessarily, and you will be right :) But again, if you know how to use it properly, it might be useful. With DynamoDB, you don't have a limit of connections, and that's quite handy if you have serverless architecture.

Pricing (Bonus)

When you are just starting, you count every cent. DynamoDB is super cheap for small databases, and if you're building MVC or don't have many clients yet, it will be almost free for you. But be careful — once requirements for your DB increase, the price will increase too.

I'll be happy to discuss everything above in the comments :)

Meanwhile, you can visit us on Diff Stories

See more
Omran Jamal
CTO & Co-founder at Bonton Connect · | 7 upvotes · 179.7K views

We actually initially wrote a lot of networking code in Kotlin but the complexities involved prompted us to try and compile NodeJS for Android and port over all the networking logic to Node and communicate with node over the Java Native Interface.

This turned out to be a great decision considering our battery usage fell by 40% and rate of development increased by a factor of 2.

See more
Get Advice from developers at your company using Private StackShare. Sign up for Private StackShare.
Learn More
Pros of Node.js
Pros of TypeScript
  • 1.4K
    Npm
  • 1.3K
    Javascript
  • 1.1K
    Great libraries
  • 1K
    High-performance
  • 789
    Open source
  • 479
    Great for apis
  • 468
    Asynchronous
  • 415
    Great community
  • 386
    Great for realtime apps
  • 291
    Great for command line utilities
  • 78
    Node Modules
  • 75
    Websockets
  • 65
    Uber Simple
  • 53
    Allows us to reuse code in the frontend
  • 53
    Great modularity
  • 38
    Easy to start
  • 33
    Great for Data Streaming
  • 29
    Realtime
  • 25
    Awesome
  • 23
    Non blocking IO
  • 16
    Can be used as a proxy
  • 15
    High performance, open source, scalable
  • 14
    Non-blocking and modular
  • 13
    Easy and Fun
  • 12
    Same lang as AngularJS
  • 11
    Easy and powerful
  • 10
    Future of BackEnd
  • 9
    Fast
  • 8
    Scalability
  • 8
    Cross platform
  • 8
    Fullstack
  • 7
    Mean Stack
  • 7
    Simple
  • 5
    Easy concurrency
  • 5
    Great for webapps
  • 5
    React
  • 4
    Friendly
  • 4
    Easy to use and fast and goes well with JSONdb's
  • 4
    Typescript
  • 4
    Fast, simple code and async
  • 3
    Its amazingly fast and scalable
  • 3
    Scalable
  • 3
    Great speed
  • 3
    Fast development
  • 3
    Isomorphic coolness
  • 3
    Control everything
  • 2
    It's fast
  • 2
    Not Python
  • 2
    Blazing fast
  • 2
    One language, end-to-end
  • 2
    TypeScript Support
  • 2
    Easy to learn
  • 2
    Javascript2
  • 2
    Easy to use
  • 2
    Less boilerplate code
  • 2
    Sooper easy for the Backend connectivity
  • 2
    Great community
  • 2
    Scales, fast, simple, great community, npm, express
  • 2
    Performant and fast prototyping
  • 1
    Easy
  • 1
    Lovely
  • 0
    Event Driven
  • 160
    More intuitive and type safe javascript
  • 96
    Type safe
  • 72
    JavaScript superset
  • 46
    The best AltJS ever
  • 27
    Best AltJS for BackEnd
  • 13
    Powerful type system, including generics & JS features
  • 9
    Compile time errors
  • 9
    Aligned with ES development for compatibility
  • 9
    Nice and seamless hybrid of static and dynamic typing
  • 6
    Structural, rather than nominal, subtyping
  • 4
    Angular
  • 3
    Starts and ends with JavaScript

Sign up to add or upvote prosMake informed product decisions

Cons of Node.js
Cons of TypeScript
  • 46
    Bound to a single CPU
  • 39
    New framework every day
  • 34
    Lots of terrible examples on the internet
  • 28
    Asynchronous programming is the worst
  • 22
    Callback
  • 16
    Javascript
  • 11
    Dependency based on GitHub
  • 10
    Low computational power
  • 10
    Dependency hell
  • 7
    Can block whole server easily
  • 6
    Callback functions may not fire on expected sequence
  • 6
    Very very Slow
  • 3
    Breaking updates
  • 3
    Unneeded over complication
  • 3
    Unstable
  • 1
    No standard approach
  • 4
    Code may look heavy and confusing
  • 1
    Hype

Sign up to add or upvote consMake informed product decisions

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.

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

What companies use Node.js?
What companies use TypeScript?
See which teams inside your own company are using Node.js or TypeScript.
Sign up for Private StackShareLearn More

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

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

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

Blog Posts

Oct 24 2019 at 7:43PM

AppSignal

+8
5
671
Oct 3 2019 at 7:13PM

Ably Realtime

+8
4
3180
+6
1
1107
+5
7
1579
What are some alternatives to Node.js and TypeScript?
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
Reviews of Node.js and TypeScript
Review of
TypeScript

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.

Web Developer, Freelancer
Review of
Node.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
MaxCDN uses
Node.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.

Trello uses
Node.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.

AngeloR uses
Node.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.

Tony Manso uses
Node.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!

Tarun Singh uses
Node.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.

Marc3842h uses
TypeScript

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.

John Harris uses
TypeScript

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.

Blood Bot uses
TypeScript

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.

HyperTrack uses
TypeScript

A typed superset of JavaScript that compiles to plain JavaScript, TypeScript brings along some of the nice features of ES6 plus adds a strong type system to our codebase.

Andrew Miller uses
TypeScript

Write structured, type-safe code that transcompiles to JavaScript. Developed and maintained by Microsoft so it is a natural fit for this stack.