"We chose node.js for a few reasons. The first was, we simply wanted to play with a new technology."<p>Well at least he's honest, but this seems like an exceedingly bad reason to choose a technology stack.
I am interested to see some solutions with Node.js. From my experience (I built a lightweight protocol for multiplayer game with Node.js), it is super easy to program with Node.js and it just works. But the down-side is, you don't really get scalability. Node.js is great in one-process environment, and you don't have any methods for inter-process communication (you can do it based on you tiny protocol, but really, that is not what you want as "inter-process communication" means). Node.js is fast for prototyping, but I am eager to try out Erlang or Go before deployed the current version in production.
I am using Nodejs as an update monitor for a community game. When one person does something, I need to update everyone else. I initially did this with ajax polling back to the server for any updates. While this worked, it seemed slow. Now all I have is a simple nodejs server that accepts web socket connections, and passes information to all connections In total it was about 10 lines of code and it is pretty much real-time.
For a ssjs implementation to win my heart this is how I would like to code my apps:<p><pre><code> require session,models,template
function main(request,response){
session.start()
data = models.getEntries()
html = template.render('blog',data)
response.write(html)
}
</code></pre>
Can not be simpler, hide all complexities from the coder so he can concentrate on building apps, not fighting with code.
Every web developer should check out node.js because of this test framework if nothing else
<a href="http://zombie.labnotes.org/" rel="nofollow">http://zombie.labnotes.org/</a>
I've used Node.js to power a little "social doodling" pet project I made: <a href="http://letsdrawit.com" rel="nofollow">http://letsdrawit.com</a> and I find it a useful way to think about concurrency because there are certain types of race conditions you don't have to consider (for example any critical regions in memory)<p>It's extremely useful for the "evented" part, but I get the sensation of using node for hosting webpages might be overkill and not the appropriate tool. Instead, I've got the node.js core proxied behind an nginx server hosting static files and ruby rack (for when dynamic content is necessary).<p>Does anyone see an advantage of using Node to host templated webpages?
I use it for my domain name generator: <a href="http://impossibility.org/" rel="nofollow">http://impossibility.org/</a><p>162k searches and counting :)
I'm sorely tempted to use node.js for a project I'm starting now, but my needs require 100% http/s support and its latest release just rebuilt its http/s support.<p>Since a large portion of our solution is sitting on the browser in extensions, it would be nice to reduce our language footprint by one. If it were a year later, I have no doubt I would.
I would like to write a TCP server with node.js can accept 1000s of client connection. Each client would need to publish about 1 timestamp a second to a queue that is unique for the client. That same client would also need to be able to subscribe to one other clients queue, and have that data pushed to it when it get published. The data would not need to persist at all, if there is not a subscriber who wants it discard it.<p>Any tips on how I should go about doing this? I would like some type of solution that could scale if I put a load balancer in front of it. I have been thinking about using some type of PubSub queue, maybe zeromq, maybe a XMPP server.
We have used Node.js at my company to build a few small web apps. The decision to try node.js was most likely based on the fact that everyone in the office knows javascript already. The experience has been a little love/hate (at least for me).<p>Personally, I like the idea of asynchronous IO for writing server applications but I would probably go with a slightly more robust language (for me it would be Haskell).