I’ve been playing with Node.js a bit lately and have been looking for something fun and useful to do with it. Along the way, I’ve also developed a curiosity about how a well-written, non-trivial Node.js application might compare to an equally well-written .NET application in terms of features, quality and development time. Today, I am starting a spare time project to satisfy my curiosity.
The idea is to develop an agile task board application with a highly-interactive web front end and two different fully scalable backends: the first in Node.js and the second in .NET. My goal is to make the backends as interchangeable as possible. My initial guess is that the only difference in how the client will communicate with the backend is in the area of server notifications, which will probable use socket.io with the Node.js backend and SignalR with the .NET backend. For simplicity, both backends will use the same hosted NoSQL and search facilities. I’m leanings towards RavenDB hosted by RavenHQ simply because I am familiar with it and because it includes powerful search capabilities.
The whole thing will be open source and I’ll blog about it as I progress. I’ll start by sketching a basic UI wireframe so I can put together an initial product backlog. Wish me luck.