Skip to main content

Node.js and client app are the future of webdeving?

Recently we had to try a new technology. As expected, we did hit edge case quickly. After analyzing thoroughly, we had to ditch part of the stack.

But, I had developed much interest over Node.js, Redis, WebSocket and client app technologies lately and I hope that they'll take the lead.

Some frequently asked questions about these technologies:

What is Node.js?
It is set of JavaScript libraries around Google’s V8 JavaScript engine, written by Ryan Dahl in 2009.

Why Node.js is picking up?
With Node.js, it’s easy to write web server in pure JavaScript. We can totally eliminate another language interpreter layer by programming the web server to handle the request directly (For example, in LAMP, PHP is required to handle the requests. But, in Node.js based server, no such layer is required).

Is Node.js a right choice?
It depends. Though few developers may find it easy to adopt, others may find it difficult to write quality code in event-driven asynchronous style. When there are lots of modules in a project, it is better to stay with Rails-like framework.

What is Redis?
Redis is key-value (think about array('key'=> 'value')) based in-memory database.

Why Redis is picking up?
With Redis, the data access time will be greatly improved.

Is Redis a right choice?
For me, Redis is an ideal choice for medium-to-high data store and where complex reports are not required; in those cases, it’s better to use it around any RDBMS like MySQL.

What is client app technology?
The "views/templates" are available in client-side (obviously transferred from server once) and the data are transferred in JSON format from server. With this, it may be enough to setup REST service in server-end; but the client-side code may get trickier. This approach is already used in Gmail and Twitter. With Backbone.js, Knockout.js and similar frameworks, it's somewhat easy to write client apps.

Why client app technology is picking up?
Few modules--like digg, delicious, etc are the latest trend in web. So, it would be right choice for fast responsive web pages.

Is client app a right technology?
If there are too many modules and SEO is of big concern, it’s better to stay with Rails-like framework. But, note that LinkedIn has mentioned that SEO is possible with dust.js, the library that they have chosen for their client app technology migration. Some developers may find it difficult and would end up writing sloppy codes. When more browsers compatibilities are required, it may not be the right fit.

What is WebSocket?
It is the push technology through we can instantly push changed data to client.

Is WebSocket a right choice?
It depends. When the data changes are to be propagated to all clients, it will be ideal choice. We may use Socket.Io library for the browser compatibility. It is also a good fit with Node.js

Comments

Popular posts from this blog

Save American College, Madurai

This post was written in 2008 and outdated now. For update, please check Save American College, Madurai (Update 2011) Update (2011-01-16) : Save American College, Madurai (Update 2011) I'm highly privileged to have 3 degrees (B.Sc. (Spl. Physics), PGDCA and MCA) from The American College, Madurai, South India . Unlike other "commercial" colleges, American College has given room for poor students and uplifted them. And unlike other "elite" colleges who'd give seat only for "intellectuals", American College has produced geniuses. In the recent months, the saddening thing is that the college is under divide (Principal Vs. Bishop). Here is the email I sent to alumnae lately informing about the informations that I received about the developments: Update (2011-01-16) : Save American College, Madurai (Update 2011) All: I was thinking that the " Save American College " campaign was a FUD . But, when I tried to understand the problem through my

Open source PHP frameworks and problems

I was using CakePHP for sometime and proposed CakePlus , another UIMS toolkit on the top of CakePHP but also altering some problematic core of it. The thread should explain the outcome of the post. And, then I noted Akelos framework has most of the things built in. Issues with frameworks esp. CakePHP Scalability not a priority - Developers aren't aware that we can't throw more and more hardware Excessive use of regular expressions Evangelist isn't aware that the framework throws many queries unnecessarily More memory consumption - 100M would never be enough for a simple project Poor coding standards and practices - Prolong use of extract() often leads to more memory consumption Can't use the native approaches or baked codes. The override approach always lead to hard to debug codes Poor architected codes and no clear defined approaches. People belong to the cult drives the direction and often throws unprofiled codes. No native provision to share codes between M-V-C and

Prediction: Expensify will crash through its insane question-based hiring process

 I have huge respect for  David Barrett for his technical background. But, his company, Expensify is following a modern  psychometric test called a  question-based hiring process . The company claims to look for candidates with 'Talent, Ambition, and Humility'. The psychometric test was a fad in India about 20-years ago and the companies that followed the hiring approaches are no more and some have changed the approaches to survive. I just thought of blogging my thoughts here to see how Expensify evolves.