

Case study: How & why to build consumer apps with Node.js - jolie
http://venturebeat.com/2012/01/07/building-consumer-apps-with-node/

======
peterhunt
Come on, let's stop the Node.js ridiculous hype already.

1\. It's JavaScript! JavaScript is a terrible language. The fact that you need
to read "JavaScript: The GOod Parts" in order to use the damn thing is an
indicator of that.

I don't care that it's supposedly "lispy."

2\. Code re-use at every level

Does any project actually do this? Is there any sort of front-end library that
actually works both in Node and in the browser? It seems like more of a pipe
dream to me. An awesome idea, for sure, but never actually implemented in
practice.

3\. Strong, responsive and enthusiastic community

This is moot if there aren't good libraries available. There are, but other
platforms have far better ones available and I wouldn't count this as a plus
for Node.

Maybe you're talking about Reddit or HN headlines, though.

4\. Large productivity gains in HTML & CSS using Jade & Stylus

Never used them, but finding a library or framework that works for you is
awesome.

5\. Wealth of hosting options: No.de, Joyent’s SmartMachine, Heroku, Nodejitsu

You can say the same thing about PHP too. That doesn't make it a good reason
to use it.

6\. Make your developers famous

Seriously?

7\. Developer happiness

HN fame?

~~~
tomjen3
I too hate Javascript, but mostly because it is not a language suited to go
above a few houndred lines of code -- it is awesome to quickly add some
interaction to a website.

That said, Node.js is really well designed. I just wish it was done with some
other less dynamic language.

~~~
LocalPCGuy
JavaScript can easily go over a few hundred lines of code. Sure, you need to
be organized about it, and if you aren't you quickly can devolve into a mess
of nested callbacks and fragile function calls.

But with a little forethought as you write your code, you can write very
complex programs with JavaScript and still have a very readable code-base.

------
stephth
_With PHP and PostgreSQL we could scale up, but it felt really hard and gave
us many sleepless nights. Using Node.js with a MongoDB backend scaling up is
quick and easy; but because Node can handle more traffic, you don’t need to as
quickly._

It's interesting to read an experience where Node's performance largely pays
off when building traditional sites. I've often read that Node's performance
really only pays off when building realtime apps. Maybe I misinterpreted,
perhaps it was meant more as the large set of features provided by frameworks
like Rails/Django transcend Node's performance boost?

~~~
tedsuo
In short, even "traditional" apps now actually have to do quite a lot of IO,
and the ability to cram a large number of requests into a single process can
have a dramatic increase in efficiency. If your ruby/php applications are
memory bound, you might see a huge increase in availability by switching to
node (or any shared-memory concurrency model).

There is no Rails equivalent in node, and in general I would say the community
is focused on writing code at a slightly lower level than the high level
frameworks you might be used to. But if you feel like you've internalized the
RESTful MCV design, you may find the performance increase worth the lack of
handrails.

------
AdrianRossouw
We pivoted from being a Drupal shop to being a Node.js shop just over a year
ago. I don't think a single one of us has regretted that decision.

~~~
danielhunt
Having worked quite a bit in the Drupal world, since 4.6, I demand more info
:)

Node and Drupal are completely different beasts. Did you write a new system
built on Node, that duplicates what you get with Drupal? Is any of your code
public, so others can look into it?

~~~
hengli
I'm not the parent, but I have a similar story. I know numerous drupal people
who are now doing node.js work. There is a great desire to make a 'drupal for
node.js'. Hasn't quite been accomplished yet, but I know many people who have
something that might amount to smallcore for node. I know I do. It's very
difficult to actually publish usable code though.

