I use node for everything now myself for a number of reasons. The "problem" with node is that its still very young. And its a different programming model then people are used to. So its similiar to the whole RDBMS/document store argument. You use what works for your applicaiton. The thing that annoys me personally is that they make it seems like there something wrong with node. And there isnt at all.
Does it provide any of the functionality that you get with a Django/Rails style framework? Or is it at a lower level?
Yes of course via express.js and railway and several other frameworks. Again node itself is just a set of libraries on top of of v8. So its not a proper comparison.
Personally i use express.js and roll my own framework essentially because i prefer to work that way.
I'm writing a server in Node and to date I'm still trying to figure out how to control the main loop from Node. I want to write tests like this: 1. register some timers and create some sockets 2. send some stuff over the sockets 3. wait until the socket handlers received some data which cause the handlers to unregister the sockets and timers 4. at this point, the main event loop has ended. go to next test and setup a…
There's also mocha: http://visionmedia.github.com/mocha/ Which has very similar syntax to RSpec.
Try writing tests for controllers with Mocha. It isn't as simple as one might think.
definitely agree with this. I can understand why 37signals use RoR, because they built it and know it inside out. But for a newcomer diving into rails now is difficult because the ecosystem is so huge it's hard to navigate, and everything is so integrated and you usually end up bundling a ton of thin that you don't need. With node everything is modularized, it is much more easier to understand what's happening under…
I disagree with this. By the ecosystem being huge do you mean the modules and different gems? That in itself is modularized for having the choice not to use them. The availability is what makes it powerful on top of the simplicity to get it all running. Node is by far not simple for a new developer or new teams running node. Projects tend to drift toward unreadable due to poor design, just try following people's call…
Im sorry but you make it sound like everybody that does rails is a perfect programmer. Rails itself has changed over the years and if you look at an app from years ago im quite sure it will be very different then a current rails app. So again this is just not an appropriate comparison.
I really do think that, as time wears on, we will see more of these incidents of people switching from Node to another, more familiar development environment. It seems to me that a lot of people started using Node simply because of the amount of hype that surrounded it, and many of these decisions were not as well researched as they should've been. Reading through this gentleman's blog post, it seems that, originally…
Actually since the app was developed at startup weekend which gives you 54 hours to make a presentable demo, I'd say testing was not the first thing on their mind.
Plus if they already knew rails. I use node mostly now and wonder why people would use anything else. However if i had alot of expertise in rails i would probably use it for most everything as well until i was comfortable enough with node.
I could write a similar post, having used Node on a couple of projects before nodding to reality and switching back to Rails for a larger project. For a "typical" web project, Rails simply has a ton of mature libraries that don't exist in Node, or are very early days. Sure, there might be a basic data mapper, but does it have support for testing? Automatic counter caching? Workaround on StackOverflow for a hundred th…
The problem is that Rails has been around since what 2005. Node has been around for a much shorter period and has only stabilized over the past year. So they just arent comparible in that sense. Plus node works differently then Rails and i admit it takes time to get used to that. If you do take the time to learn node though all i can say is its just AWESOME! So lets see how things are when node is 5 years old or so.
Definitely, Node still has a lot of promise. It's not a competition. Well, it is to some, but I don't care about that. I just care about what do I use to ship something useful today.
First thing is that NodeJS is not a JS engine, V8 is. Second, http://notinventedhe.re/on/2011-7-26 . That is from http://nodejs.org/community/ which makes the terms quite right, i'd say.
Node is V8 and a standard lib. Node is not an abstraction around http (which is what RoR is).
Node is an abstraction around libev. Http just happens to be the one source of events.
I could write a similar post, having used Node on a couple of projects before nodding to reality and switching back to Rails for a larger project. For a "typical" web project, Rails simply has a ton of mature libraries that don't exist in Node, or are very early days. Sure, there might be a basic data mapper, but does it have support for testing? Automatic counter caching? Workaround on StackOverflow for a hundred th…
There is a project coming up - railwayjs. I hope it changes the way people use nodejs!
I hope so, but with the caveat that it's easy to start a project like this and a lot harder to see it through. Various Node projects have shown promise, but haven't gone the distance. If one really gains traction, that's great for Node overall.
Does anyone know 1 major consumer-facing site that was able to scale with Rails? I know Twitter kind of had to move away from Rails due to scalability issues. GameBattles.com also had to back away from Rails after their uptime dropped to 80%. I am not trying to tarnish Rails, I am just curious to learn about some success stories involving Rails at very large scale.
Justin.tv frontend is rails, though they may / may not be moving to Django according to Kyle. http://news.ycombinator.com/item?id=3461476
Of course Rails took YEARS getting to the point of scalability. People are acting like it was scalable on the very first alpha release.
definitely agree with this. I can understand why 37signals use RoR, because they built it and know it inside out. But for a newcomer diving into rails now is difficult because the ecosystem is so huge it's hard to navigate, and everything is so integrated and you usually end up bundling a ton of thin that you don't need. With node everything is modularized, it is much more easier to understand what's happening under…
I disagree with this. By the ecosystem being huge do you mean the modules and different gems? That in itself is modularized for having the choice not to use them. The availability is what makes it powerful on top of the simplicity to get it all running. Node is by far not simple for a new developer or new teams running node. Projects tend to drift toward unreadable due to poor design, just try following people's call…
npm is vastly better than the gem package manager imo, making using modules infinitely easier. Furthermore, node modules (the good ones) do one thing and do it right. What I like about node is they give you the core without which you can't live, and you add the layers you want. With RoR you get a huge onion and need to peel a bunch of layers and add others if you want to do things right.
I didn't say node was for beginners though. But say for a programmer with a good theoretical background but no web development experience, node is much more appealing and usable.
Wow, Node is being turned away from because it's too new, and Rails is the destination because it's established?
I remember a few years ago Rails using the argument of re-inventing the wheel was the only way because there was presumably no other capable web framework out there.
We all know better now and I hope celebrate choice that's relatively equally capable :)