Home > Architecture, Programming > Requirement Specific Parameters

Requirement Specific Parameters

This post is part of a series of posts on Client-Side Web Application Development using JavaScript.

These are the significant requirement specific parameters that you may need to be aware of.

SEO, Accessibility, Progressive Enhancements and Client-Side Template engines

If you use a complete client-side template engine, it is hard for 

  • Search Engine bots that cannot execute JavaScript,
  • Accessibility readers that cannot execute JavaScript,
  • Gracefully degrade to browsers that cannot execute JavaScript / Inefficiently execute JavaScript,
  • Gracefully degrade to browsers that cannot execute JavaScript efficiently due to memory / processor limitations (low-end smart phones). So it matters whether you are building a public facing Web Site or a Enterprise Web Application. Is the public facing website behind login? Does it need SEO?

First-time User Experience / # of Non Repeat Users

Another important factor that can contribute selecting various client-side frameworks (template engine, full stack frameworks) is the the user experience for a first-time user. Whether your application is a Enterprise Web Application (ex: A ERP/CRM application) that will be used daily by its users (the initial load time can be thought of as installation time esp. if you are replacing a client-server solution). Once the scripts are loaded the first-time in the browser and cached, subsequent access will be faster.

On the other hand if you are e-commerce website and you care for the first-time users, or if this is the landing page of a personal website / corporate website or if your business model depends on a significant # of non repeat users, Your Initial load time matters.

Input-intensive applications

Another factor that you may want consider is whether your application is mostly display like an ecommerce web site, your personal website / your corporate website / your news site. Or is it an input intensive one like for example your enterprise web application that is data entry intensive. Using a data-binding framework or a template engine that supports bi-directional data-binding will help in these kinds of application.

Live / Real-time Updates

Does your application need to refresh data from the server automatically on the client without the need for the end user to press a button / perform an action. Examples could be

  • A mail client Updating the UI with new emails as a new e-mail arrives from the mail server.
  • A stock trading application updating the current ticker value as the value changes on the stock exchange.
  • A cricket website that updates the score
  • A social networking client that updates the messages from other users
Advertisements
  1. No comments yet.
  1. October 22, 2012 at 3:19 pm
  2. October 22, 2012 at 3:21 pm
  3. October 22, 2012 at 3:24 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: