How do I prepare web technologies

The World Wide Web offers a wealth of technical implementation options for almost every application. Due to a very large and agile community of web developers, a large number of new technologies are constantly being developed, whereby these must first prove themselves for a meaningful productive use. Here it is important to weigh up which advantages and disadvantages have to be considered in the respective application scenario.

Some technologies are often associated with the keyword Web 2.0, whereby Web 2.0 describes rather abstract ideas, such as particularly interactive content generated collaboratively by one user (the prosumer) or several users. The term is closely related to social media and the semantic web. Modern web technologies help to implement these guiding principles in web applications.

Basics

Even if the divergence of the many web technologies is high, there are some fundamentals that almost all serve as a basis.

The World Wide Web is based on a client-server architecture and the Hypertext Transfer Protocol (HTTP) used for communication. When visiting a website, the web browser used sends an HTTP request to a process that runs on a web server. This generates an HTTP response from persistent data, which it sends back to the browser. The answer usually consists of an HTML file and some additional metadata. Hypertext Markup Language (HTML) is a markup language that structures the content of a website. Every website consists of an HTML document! The design of the page content is done using Cascading Style Sheets (CSS).

In addition to the technologies mentioned, JavaScript forms an important basis for modern web applications in order to enable a high degree of dynamism and interaction.

Ajax

Often only a small part of the content changes as a result of the interaction with a website and essential elements remain the same. Originally, the entire page still had to be reloaded from the server. The use of Ajax (Asynchronous JavaScript and XML) technology avoids this, only the changed data is reloaded and inserted into the website accordingly. The Ajax principles have been around since 1998, and it has been in use on a larger scale since 2004/2005.

In contrast to the traditional querying of a website, this process is asynchronous with Ajax. This means that the browser continues to process other tasks while it is waiting for an answer. For the visitor to a website, this means that it can still be used during the entire query. Ajax-heavy websites are referred to as web applications, as the uses are more similar to those of a conventional desktop application, the advantages of which are the immediate reaction to user interaction and high dynamics.

Ajax technology enables new types of application, such as a chat or automatic completion of a search, which were previously only possible through the use of proprietary technologies. Proprietary solutions had the major disadvantage that they were not accessible to everyone.

Web applications based on Ajax are characterized by a high level of:

  • speed
  • dynamics
  • accessibility

Well-known examples of web applications that make substantial use of Ajax are Google Maps, Google Texts & Tables, Facebook, and Microsoft Live applications.

Ajax and eID

If a TYPO3 website is called up with the browser, it is first prepared for output on the server. This process is unnecessary if only small parts of a website or data are to be reloaded. For extension development, TYPO3 offers the eID mechanism, a convenient way to bypass the page generation process. This reduces the response time for Ajax queries and relieves the server.

HTML5

HTML5 has been developed since 2007, which provides many new technical possibilities. Probably the most interesting components are the embedding of video and audio elements, as well as dynamic graphics using the canvas element. Because these are now directly supported by many browsers, the content can also be viewed on mobile devices (e.g. iPhone).

HTML5 is not yet a standard, but many functions are already supported by current browsers and can therefore already be used productively. Many of the functions that are now available in HTML5 could already be solved with JavaScript, but many files (JavaScript frameworks) had to be transferred to the client computer and executed by the browser. Some web browsers were so overwhelmed that larger web applications overwhelmed the web browser. HTML5 compatible browsers counteract this problem to a large extent.

WebSockets and Server-Sent Events (SSE)

WebSockets and Server-Sent Events are developed as part of HTML5 and are (besides Ajax) another way of communication between server and client. The special feature of both technologies is that the connection is not interrupted after a response has been sent from the server to the client, but remains. This means that the server can also send further data without being explicitly requested by the browser. This is why we speak of push technologies here. In contrast to the server-sent events, the client can always send data to the server with WebSockets, the connection is bidirectional.

The use of WebSockets or SSE is particularly useful when information is to be transmitted in real time, for example during a chat. The transmission is faster compared to Ajax, since there is no need to establish a connection.