Client-side programming framework for building web applications

This project experiments with a new approach to web application development. It demonstrates this approach by implementing a web application framework. With the advent of AJAX technology, web applications no longer have the dreaded page reload effect when requesting for new data. AJAX allows data to...

Full description

Saved in:
Bibliographic Details
Main Author: Muhammad Khairulnizam Mohd Tahir.
Other Authors: Wong Ee Kian
Format: Final Year Project
Language:English
Published: 2009
Subjects:
Online Access:http://hdl.handle.net/10356/16985
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Nanyang Technological University
Language: English
Description
Summary:This project experiments with a new approach to web application development. It demonstrates this approach by implementing a web application framework. With the advent of AJAX technology, web applications no longer have the dreaded page reload effect when requesting for new data. AJAX allows data to be retrieved from the server in the background and dynamically update a portion of the page with new data thus eliminating the need for a page reload. This allows for more responsive and user-friendly experience with web applications. With more powerful JavaScript libraries, which bring rich and diverse widgets to the browser, web applications tend to become more and more like traditional desktop applications. However, AJAX technology comes at price – it is obtrusive to the traditional Model-View-Controller (MVC) paradigm which has been driving web applications successfully in the past. With the MVC paradigm, everything was done server-side. However, the use of AJAX causes the lines in the MVC paradigm to become blurred as it is no longer clear which code is responsible for the View, the Controller and even the Model. This brings about a split in responsibility between the client-side and server-side forcing developers to code in separate languages for each side thus increasing the complexity of development. This project attempts to solve this problem by creating a new framework by moving action from the server-side to the client-side. It can co-exist with existing Java web application frameworks thus allowing existing web applications to reap the benefits of the framework without having to change their architecture. A reference implementation is created as a proof-of-concept for this new approach that the framework brings. On top of that, part of an existing web application built using the popular Java MVC framework, Struts 2, was converted to use this framework so that comparisons in terms of easy of use, lines of code and performance can be made. The implementation of the framework does achieve its intended goals but its viability for use in production systems with high user loads remains to be seen and would a point of interest for future recommendations.