Dynamic and Interactive Web Application Explained

A few days ago, a very interesting thread came up on webdeveloper forum. It asks the question of “What is meant by Dynamism in Web Applications ?” Here is what I think…

The poster ask question with the following information :

Could anybody could tell me what “dynamism in web applications” means to them? I’m trying to develop a web application for my 4th year thesis that will incorporate dynamism and interactivity. I was hoping to develop something using HTML5 and CSS3 with HTML5 APIs showcasing interactivity.
When I think of dynamism I think of techniques such as AJAX & JSON and their implementation within a 3 tier client/server architecture but I’m not sure whether or not I’m missing something.

Dynamic and Interactive are two separate words:

  • Dynamic is a state of change. It is best represent by a back-end.
  • Interactive is an action that produces a result. It represent the front-end.

Naturally, the two of them goes together.

Now, onto back-end and front-end :

  • The back end represent processing that are done behind the screen, without the user aware of the process.
  • The front end, is of course what the user see on the screen and ‘interact’ with.

So, the back end is usually a web programming language, which can be anything from PHP, Python, Ruby, ASP and a lot of other web programming languages. The back end also contains a database, which can be standard SQL-based databases such as MySQL, PostgreSQL, Oracle, MS SQL, etc. Or it can be a NoSQL-based databases.

The major point is that the back end is a storage with interface done by a web programming language.

On the other hand, the front end is usually HTML and CSS. The interaction are mainly provided by AJAX, JQuery and other Javascript languages that lives in the browser. The biggest advantage is that the user interact with a button or fill in the form, the front-end reacts immediately. By presenting an error when a form is filled incorrectly and prompt the user to correct it before the data is sent to the back end.

The front end is also the face of the application, because the user mainly interacts with it.

How do front-end and back-end communicates ? Normally through HTTP protocol of GET and POST. They can also communicates via REST, implemented through JSON.

There have been a lot of progress made to unify the front-end and back-end. Such as HTML5 storage. However, the main resistance is that browser based interaction should be confined to a sandbox mode. This is to prevent a major failure on the server (back-end) due to incorrect programming on the front end, as well as for security reason.

Now, I hoped I cleared the true meaning of dynamic and interactive in web applications. Hope you find them useful. Feel free to share your thoughts in the comment section below.