4 ms·
Ask HN: what makes Node.js hip?
When RoR became a big thing, I could pretty easily catch up with the events, even as an outsider. I was able to pin it down in one sentence: "RoR implements a popular pattern, MVC, in a language which makes it possible to do it with ease & dynamism at a level that was not seen before". It's a clear selling point, from that I could understand why people jump on the RoR bandwagon.
However, now Node.js seems to be the next big thing, and I'm just scratching my head. I have the respective one-sentence summary at hand -- "Node.js is an asynchronous event-based server side javascipt framework", but that does not let the bulbs go up in my head. "asynch event-based" in itself is not a novel thing, and I don't see why doing it in javascript takes it to the next level, or if not js is the big deal here, then what particular aspect makes it cooler than other similar beasts. (I have nothing against javascript, I just don't see the kind of advantage (over what?) which I could spot with Ruby vs. the
"standard" MVC language, Java.)
Can someone give a better compact summary which reveals the trick more aptly, or point out how the above cited one is a selling point, or explain it in a "What it fixes"[http://paulgraham.com/fix.html] style...
Or maybe there is no point in trying to make it into a silver bullet, it's just simply written well and marketed well?
- bmelton 15y ago"Node.js allows you to write code on the server in the same language you're already writing it on the client." As for that, who cares what's hip, or cool? Node.js definitely isn't a silver bullet, and introduces its own set of problems. But while it has its ups and downs, simplifying your development methodology and shrinking your technology stack is generally a good thing. Also, it enables people to write code on the server who only knew JavaScript before. I guess. I don't know how valid that is as a use case.
- bni 15y agoFor my current project, a multiplayer game that runs in the browser, its essential to be able to run the same code on the server as in the client. This is how FPS games such as Unreal do it with C++. Basically the game simulation needs to run on the server and be the authorative game state to distribute to the clients that does their own prediction of the game state. To do this with Java or PHP on the server would mean to implement the game simulation twice. Keeping in mind that social network sites, etc resembles multiplayer games more and more (realtime feedback etc), node.js really helps out here.
- kordless 15y agoBack in the day I used this product called ZXTM which was written by Zeus. ZXTM was/is a layer 4/7 load balancer, with the ability to write control code in what felt like JavaScript, but wasn't. It was exceedingly frustrating to implement some use cases with it and hideously expensive, but I used it anyway because my app needed it. With Node.js, I have pretty much all the functionality I had in ZXTM and more. Because I can write in JavaScript and have access to load balancer-like functionality inside the app, it gives me a ton of control. It's also free and there is a great amount of support and code coming in from the community which helps me get ideas off the ground faster. The guys at Joyent have certainly done a GREAT job of making something that is stable, fast, easy to use, and enables easy adoption by the masses. If you want to call that marketing, then they've done a great job at it. I'd counter with their actual marketing materials around the product could be a bit better, but that will probably improve over time. Hands down, it's my favorite programming framework.
- thirtysixred 15y agoThe only thing that makes node.js hip is people who call it hip. Using node.js isn't about being hip or cool, or whatever else you want to call it. It's about solving a problem you have. Personally node.js has solved a problem I was having with a recent project that needed a Comet server, and since node is all async I got this server up and running in a few minutes. I was never successful with Apache or Nginx. I recommend taking a look at this Stackoverflow answer as it outlines the benefits of node.js: http://stackoverflow.com/questions/1884724/what-is-node-js/1902991#1902991 http://stackoverflow.com/questions/1884724/what-is-node-js/1... Also I recommend watching Ryan's Introduction to node.js talk: http://www.youtube.com/watch?v=jo_B4LTHi3I http://www.youtube.com/watch?v=jo_B4LTHi3I
- EdwardMSmith 15y agoTo paraphrase your own statement, Node makes it easy to develop an increasingly popular type of app, highly concurrent, scalable, realtime streaming applications, in a popular, widely used language, with ease at a level that has not seen before. Really, its the same trajectory as Rails, but targeted at a different problem.