Single Page Web Application (SPA)
Single page web applications are the future of interactive web application development.
- Single Page Application
Using SPA Web Development to Create a Richer User Experience
Most computer programmers learn to program in a native application development environment such as Windows,
Apple, or Unix, using structured languages such as Java, and C. These environments provide the developer with
persistent memory structures, which the developer has access to during the entire running of the program they are
developing. The developer might decide to have local variables within methods and objects but they have the
option to store application state in more global areas as well. This kind of control and persistence of state has
made it possible for the creation of operating system based programs which provide the user with a rich and
powerful interactive interface. Video games, word processors, and graphic design programs all rely on this persistence of memory.
In contrast to the native application development environment, there is the environment of the world wide web, and the internet browser. Browsers are designed to present web pages in a stateless way, where every web page loaded is a completely new world independent of the previous page. This is a satisfactory paradigm for static content pages but a horrible one for interactive web applications. Imagine having to save your document and reload your entire word processor program every time you go to a menu item, and you have an idea how inefficient this kind of architecture is.
To deal with the full page refresh world of the browser, web application developers use what amounts to an ugly hack. Every time the user switches pages they send all the input the user has entered on that page to the server. This input is sent regardless of whether the user is done with that page. In fact, often the user is only making a side trip to look up information from a list which will be entered into a line on that page when they return to it. The resulting user interface created by this architecture is slow and inflexible, plus all of these extra round trips require the web developer to write a lot of overcomplicated and confusing code. This is why web applications are less user friendly than native applications and also more expensive to build.
WebRocketX instead keeps things as simple as possible. The application is run out of a single page and updates are done using AJAX calls, but the content is still delivered in the "old fashioned way" as standard HTML. WebRocketX helps the developer to do all the mundane things that need to be done on each one of these trips to the server, so the developer does not need to code them, such as controlling user interaction, handling error messages, and queuing up old content.
References On The Web:
Single-page application (SPA) Wikipedia
Single Page Application - The Worm Hole