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

Looking Back at My Predictions

People who work closely with me often appreciate my ability to anticipate trends in technology stacks. With that in mind, I recently revisited some of my old blog posts—and it turns out, many of those predictions have held true. Here are a few handpicked posts that aged well: Prediction: Expensify will crash through its insane question-based hiring process February 23, 2022 BlackLivesMatter campaign may consolidate votes for Trump June 15, 2020 Technology prediction for 2018 January 16, 2018 Node.js and client app are the future of webdeving? December 29, 2011 Yahoo! and delicious.com - What's wrong? December 19, 2010 Disclosure: The following ChatGPT prompt is used in this blog post: Please fix the language of the below text and highlight the changes in bold:

The Overrated Tamil Culture

Since the COVID period, I developed an interest in exploring old books from the 1700s to the 1900s through Google Books. I first focused on the celebrated Protestant missionary Ringeltaube, but over time, my curiosity expanded toward understanding the demographics and social practices of that era. In Tamil Nadu, what is often celebrated as "Tamil Culture" revolves around the practice of monogamy, known locally as à®’à®°ுவனுக்கு à®’à®°ுத்தி — meaning one woman for one man. Some even compare this tradition with practices in other states, claiming Tamil culture is especially unique. This sense of pride is particularly strong around Madurai, where people often refer to themselves as “pure Tamil” when compared with neighboring regions like Kanyakumari, whose people they call Malayalis. What’s striking, though, is that this proud image doesn’t always align with historical accounts. A book published in 1885 (I’ve chosen not to mention its title or link to avoid stirring controversy) ma...

3-years of Ubuntu MATE - Good and the bad

Many people are getting shocked to know that I'm using Ubuntu in my workplace. Linux/Ubuntu is more of an alien here as Windows 10 and Mac OSX is having good market here. First of all, I'm a very happy Windows XP user. In XP, I used to do most of my JavaScript and PHP in  Devl , the editor that our team has developed. Reason for switching to Ubuntu MATE Primary reason for switching to Ubuntu was, at one point of time PHP team stopped supporting Windows XP . So, we're left with few options: 1. Upgrade to Windows Vista, 2. Switch to Ubuntu. We chose the second option to experiment it. One of the major challenges was choosing the right code editor and we chose VS Code . Ubuntu MATE - Pros Linux comes with lots of command line tools. I have started to do many tasks using these shell scripts and found very productive. We switched from Google Chrome to Chromium for good. Ubuntu MATE - Cons We started with GNOME for desktop, but it was memory hungry and was not ...