The Web Framework Evaluation - Part 05
In this article series, we are going to explore web frameworks from a Java point of view. It covers Java based frameworks and frameworks based on scripting languages that can run inside of a Java application server. The latter are for example Ruby, Python, PHP, Groovy based frameworks.� This article is taken from my eBook 'The Web Framework Evaluation'.
You can get the eBook at http://www.laliluna.de/shop.
Difference between the free article and the eBook in PDF format.
- eBook is printable
- eBook includes the upcoming detailed framework evaluations about 1-2 months earlier
- eBook includes a number of performance and load tests showing rendering performance and memory consumption under load.
The unified web application
Make SingleP and MultiP be friends
We have intensively discussed the problem of SingleP web applications which are more appropriate to deal with stateful application requirement and MultiP web applications which are the way to go, if your application should share the stateless characteristic of the web.
Can we have a unified web application technology which can satisfy both needs?
My first amser, was a clear no. The reason is simple, this would put all different kind of applications into a single monster application. This would be a nightmare.
But I changed my mind. Let me explain to you why.
Let's have a look at a use case. An internet shop offers stateless web like content. These are the categories, products, product details and so on. You are browsing through this content. For this kind of use case a MultiP web application is the perfect choice. At the same time, we have stateful interaction. I add some products to my cart, remove others I decided finally not to buy and at the end follow the checkout process. This a use case for a SingleP web application.
The following could be true
If a technology provides a functionality that makes interaction between a stateless multi-page application and a stateful single-page application seamless, then it will be the winner of the technology contest for single-page technologies. In addition it could even replace the current operating systems and enter with glory the hall of fame.
or completely nonsense.
A SingleP application does not allow navigation using the browser or using the browser back button, but imagine if you could do it. Just browse with your browser and interact with your SingleP application. It will not be reloaded but stay there all the time. We could add functionality to the SingleP application I have already introduced in this article. The SingleP application can save its state in a database on the computer or the SingleP application saves its state in a network database installed on my server etc �
This might be the future but we still live in a different world.
Remove the bonds and open the border
He can push the idea even further. A lot of people use a viewer application. It is an application capable of displaying more or less every file format on your hard disk. Linux and MacOS include a viewer out of the box.
If the browser can be convinced to natively display open source formats then we start to remove the bonds currently lying upon us. I am speaking about displaying not loading the application in the background and after 5 seconds showing it. It should be visible as fast as an HTML webpage.
What should be the first file formats to be shown?
There is a clear answer: Open Source Format or we will `Microsoftify` the web and it will no longer be free and open.
-
OpenOffice formats for the Writer, Calculation sheets and Impress presentations
-
PDF it is just the standard
-
Open Source media formats Ogg Vorbis (Audio), Speex (Voice), Ogg Media (Video)
Finally, if we reached this point then it is just a small step to remove the border between your local desktop and the web. If the browser is capable to display everything what we can display locally and if we are able to integrate the stateless web with the stateful characteristic of application dealing with content, then there is not really a need to separate your desktop from the web.