Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

As a curious web developer I've been hearing about node.js for several months and (just) now I'd like to learn it and, most of all, understand its "engine".

So, as a real newbie about node.js I'm going to follow some tutorials. And as every new technology over the internet, find a very good and exhaustive tutorial is like looking for a needle in a haystack :)

My "big question" can be split into this 2 sub-questions:

  • I know node.js can be very useful to build web-chats. But, apart from this example (and from helloworld one :D), how could I use it? Which are the real-life examples that let me think i.e. "oh, it's fantastic, I could really integrate it for my daily projects"?

  • I also know it implements some JS specifications. It is required to deeply know other programming languages apart from JS?

Thanks everyone!

share|improve this question

migrated from stackoverflow.com Jan 15 '11 at 18:59

5 Answers

up vote 14 down vote accepted

Node.js allows you to write server-side network applications in JavaScript. It provides a core library containing functions you'd find in other languages, like reading files and spawning subprocesses, and it uses the very-efficient libev library for its event loop.

It's buzzworthy because it lets you write very efficient network programs in a high-level programming language. Since that language is JavaScript, you can share some code between the server and browser.

There's little "deep" knowledge of JavaScript going on — what's different is that the language in the same way you'd use Python or Ruby instead of on the browser. The specifications it implements are probably those listed on the CommonJS website.

The other bit is that it makes heavy use of asynchronous programming — just about every action takes a callback function instead of returning a value. If you're used to Scheme, Perl or Ruby, you'll be comfortable immediately.

Some examples:

share|improve this answer
Thanks! I think this is the most useful answer :) ..thanks also to everyone who replied ;) – stecb Jan 18 '11 at 11:03

Regarding tutorials and such, see:

node.js beginner tutorials?

Node.js's main purpose AFAIK is to write network programs that can scale. Frameworks written on top of it can be used for other purposes, such as writing Web apps.

Regarding other languages, it seems like the tricky part is learning asynchronous programming, especially for many of us coming from a synchronous programming background (though client-side JS experience provides some foundation).

For some real life examples, check out:

http://groups.google.com/group/nodejs/browse_thread/thread/03f7fcb9c29edafb#

share|improve this answer

the videos from node camp are worth checking out http://camp.nodejs.org/videos/index.html

share|improve this answer
This list is very good :). Strange that I did not find it sooner. Thank you! – Alfred Jan 17 '11 at 10:41

nodetuts.com has some really good videos(although at times I think the pace could be a little faster). Just sit back, relax and watch to learn node.js

share|improve this answer
Thanks a lot alfred ;) – stecb Jan 18 '11 at 11:02
@steweb no problem – Alfred Jan 18 '11 at 19:18

Regarding learning material - E-Books

  1. NodeBeginner
  2. MasteringNode
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.