A Review of Internet Technology Part 1 – Client Side Technologies

By | December 13, 2011

Web browsers like Microsoft’s Internet Explorer, Mozilla’s Firefox, Google Chrome, Opera Software’s  Opera, Safari and other are essential medium for communicating and displaying most of the web applications, they are build upon layout engine that takes the markup language such as xml, html, images and so on and render them and displays them properly.

They are very powerful tools for user interaction on the web, a user can customize the settings of a web browser, search the internet through search engines, keep track of favorite sites, use File Transfer Protocol (FTP) to transfer data over the internet. Most web browser needs to support client side technologies to render the relevant data.

Most of browsers have support for ECMA Script support (JavaScript Support), Events support like mouse events, zoom and so on, Network Requests support to load additional data and content to the web page, Document Object Model (DOM) Support that is a language independent API for the manipulation of the document tree, Scalable Vector Graphics (SVG) support that supports animation, internationalization and other nice features, Java support that enables 2d, 3d vector graphics and applets, Plug-ins support to empower browsers to have any sort of modification and debugging.

A client can be an Internet Application known as either Web User Interface (WUI) or Graphical User Interface (GUI) that is running on the web browsers or web mobile browsers, Or a client can be a native application that is running on iOS, Android, BlackBerry, Windows Phone, and Java ME apps or some thick desktop applications that is running on PCs. There are other types of clients that are running on IP also, like IPTV clients or UCT IMS clients and so many other clients that are running on the web.

 

 

 

Usually there is a presentation logic that defines what WUI displays and how user’s requests follow the rules and how they get handled. The presentation logic is build upon some sort of technology like applets, HTML, XHTML and HTML5, Dynamic HTML (DHMTL) consists of HTML, JavaScript, DOM, and CSS. Ajax, Ajax frameworks such as DWR, YUI library, Dojo Toolkit, MooTools, jQuery, Adobe Flash & Flex

Here is a brief description of each technology:

Applet: An applet can be a standalone application hosted by an operating system. But it can also runs on the web, it is written in Java, so it has the benefit of running on all platforms and it is secure however it is a thick client and slow.

HTML, XHTML & HTML 5: The mother of all mark up languages is SGML (Standard Generalized Markup Language) that become known in 1986 as international standard for defining description of the structure of electronic documents, but web doesn’t support SGML, so any application deliver SGML information over the web, convert SGML to HTML and then it get displayed.

HTML (HyperText Markup Language) is a subset of SGML and is most frequently used document type in the web.

XHTML (Extensible HyperText Markup Language) is HTML defined as an XML application, and is supported by all major browsers.

HTML5 is the new standard for HTML, XHTML and HTML DOM, It has new elements and also supports usability of advanced UI components like data picker, sliders, and so on, supports Geo-location services, works well with CSS3                     

DHTML: Dynamic HTML is not a language, it combines HTML, JavaScript, HTML DOM, and CSS, based on W3C HTML4 has rich support for dynamic HTML. I defined HTML previously so no need to repeat, JavaScript is the most popular scripting language on the internet; it works in all major browsers well. DHTML is using JavaScript to control and manipulate HTML elements. HTML DOM is Document Object Model that is describing a standard way for accessing HTML elements in a document. And CSS is Cascading Style Sheet language that defines how to display HTML elements and it is widely used for styling and positioning of HTML elements. CSS3 is the latest standard for CSS and it is split up into “modules” like selectors, box model and so on.

Ajax: Ajax stands for Asynchronous JavaScript and XML is a client side technology allowing web applications send and receive data asynchronously. Ajax is not one technology is a group of technologies like JSON, HTML, CSS, DOM, and XML. There are several frameworks that they include Ajax technology and they leverage it and the technologies included. 

jQuery: jQuery is a powerful, popular, cross-browser JavaScript Library that simplifies HTML document going across the net, it has great support for event handling, animating, rapid web development. It also has libraries for UI for Mobile UI and it is widely used. 

Adobe Flash & Flex: Flex is a rich Internet application (RIA) development toolkit based on the ActionScript 3.0 and MXML languages that can be deployed for the web using the flash player plug-in, or to the desktop using the Adobe Integrated Runtime (AIR), it is a client side technology that is getting used to build RIAs. There are wide variety of white papers that is explains each. No RIA technology is currently browser transparent and apple products don’t support Flex applications. However they have very good look and feel and it enables applications and new business models such as SaaS, it has a support for animation, bitmap manipulation, video & audio rendering, a flash plug in is required to become cross browser cross platform runtime.