Nodejitsu

Save time managing and deploying your node.js app. Code faster with jitsu and npm

Node for Normals

About the author

Name
Location
Worldwide
nodejitsu nodejitsu

You're smart. You know your way around your laptop and your iPhone. Maybe you spend more time in excel and powerpoint than on the command line. You're not an engineer but you've played with some HTML and CSS. Maybe not. Point is, you've been hearing about this Node.js thing and you want to know if it's for you. Maybe I can help.

First, just a little about me... in July I joined Nodejitsu as COO. What's that mean? For the purposes of this discussion, not a whole lot. What's more important is that I'm an application developer and I'm new to Node. In this post, I'll discuss a lot of the things that attracted me to Node.

Confused Man: http://www.flickr.com/photos/safari_vacation/6257284524/

What is Node?

Node (aka Node.js, NodeJS) is Javascript. It's the same thing that's been running in your browser for years. Now it's better, faster, and stronger. Oh, and now it's everywhere. Node is what allows you to bring Javascript, a language traditionally run in the browser, to the server. And why does Node matter? I'm glad you asked that.


Javascript isn't going anywhere

There's no getting around having Javascript in your app. Javascript is THE language for making dynamic web interfaces bar none. If you're thinking, "Hey, but isn't that JQuery?" You're right. But JQuery is Javascript. Promise. And if you're thinking, "Come on, but what about Flash?" Well... what about it?

Javascript is going to be in your application somewhere. Node allows you to standardize on that from the top to the bottom. Some applications have Javascript on the front-end on top of a Python web application that speaks to APIs served by something more performant like Scala or Erlang. That's a lot of different competencies to hire for and to maintain and when something breaks, not everyone is going to be conversant with everything. Deferring specialization is a huge benefit of Node.


Wow, is it fast!

Node is an order of magnitude faster than Ruby and Python. This translates roughly to say that it's very easily the most responsive under load of any of the most popular high level languages (Javascript, Ruby, Python). Node and Javascript benefit from all the work that Google, Apple and Microsoft have poured into making their browsers more performant as well as more efficient to run on less resources (such as a netbook or iPad). Lucky us.


Realtime

Node uses an asynchronous event-driven model. This means that it can make more efficient use of resources to do more things at one time and is an excellent fit for the architectures of many Internet applications. This model also makes these applications easier, and more intuitive for engineers to create.


Facilitation of engineer AND code versatility

Javascript everywhere means that while there are still going to be developers that are more familiar with particular front or back end APIs or environments, it's a lot easier for the team to pitch in where help is needed. In a similar fashion, Javascript everywhere facilitates the reuse of code all through your stack which is a good thing as it cuts down on redundancy and helps maintainability of your application.


Yeah, we think it's pretty cool too

This is of course, just a taste. Here are some other excellent resources to get you started.

Also, check us out on the Twitter (@Nodejitsu), read some of the other articles on our blog, or maybe attend some of our future training sessions. We also write a tremendous amount of open-source code that you can utilize in your applications.