Today it is impossible to imagine the Internet not to exist. More and more businesses rely on the Internet to make their products and services available to their customers. One can even say the Internet is now the most important business platform today. The World Wide Web (WWW) is the vehicle of this transformation. Invented in 1989, the main purpose at the time was to connect static documents to each other. As the Web has become more dynamic this is no longer the case and the demands on developers who write applications for the Web are now higher than at any time in history. One of the first ideas to change the Web landscape was the Common Gateway Interface (CGI) which was invented in 1993. It served to exchange data between the Web server and external software which could then produce pages tailored to individual customer interactions. With the introduction of CGI the first Web frameworks also appeared on the market, so one can say this was the point where true Web applications were born. Today, CGI is no longer a complete solution for Web development problems. Software is getting more and more complex and therefore there is the need to create new layers of abstraction to overcome the obstacles which unfortunately still occur when using the WWW. tutorial
With time and advancing techniques Web applications have become more and more popular with users and developers and they are unlikely to go away. The following definition narrows down the concept of Web application and as a result identifies characteristics, features and problems:
> An application running on a Web server which interacts with Web browsers over the Internet.
Doubtless the most important benefit in this style of application is their ease of use. Users do not usually need to install additional software and everything runs in the same browser where all the other Web applications run. This saves disk space on the user's local PC, the control system of the browser is well-known and rich (history, back and forward button) and the user needs only minor support installing and maintaining the software. Developers also see a big advantage since they only need to deploy and maintain the software on their server. There is no need to navigate the customer through sometimes complicated install routines and the cost is thus less for both parties. Since all data and most processing occurs on the server; however, this can lead to a higher burden for performance and to a potential security risk. Also some customers like to store their data locally and the typical "feel" of desktop applications is difficult to achieve with Web applications. This criticism is currently being addressed with new technologies, like Ajax.
Figure 1.1: Typical Web Scenario
~
BOURAQADI, Noury and MASON, Dave, 2016. Mocks, Proxies, and Transpilation as Development Strategies for Web Development. In: Proceedings of the 11th edition of the International Workshop on Smalltalk Technologies. Online. New York, NY, USA: Association for Computing Machinery. 23 August 2016. p. 1–6. [Accessed 30 August 2022]. IWST’16. ISBN 978-1-4503-4524-8. DOI 10.1145/2991041.2991051.