User:Amixyue/sandbox

I am now working on Web application:

Introduction
A web application is an application that is accessed over machine boundary. In the narrow sense, the term always mean an application developed over World Wide Web depending on HTTP protocol applying client-server model. The client always indicates a web browser, while the server always indicates a web server which responses to the HTTP request.

The web application is popular due to the ubiquity of web browsers. Also the ability of maintaining and updating the application without distributing and installing softwares on potentially thousands of client computers, which implies the cross-platform compatibility, is another key reason for the popularity.

History
The web application can date back to the proposal of "WorldWideWeb" by Tim Berners-Lee in late 1991, which suggested HTTP along with HTML and the associated technology for a web server and a text-based web browser. The first release of the Mosaic web browser in 1993 triggered the dot-com bubble covering roughly 1995-2000 with a climax in March, 2000, during which a bunch of new Internet-based companies referred to as dot-coms are founded as well as their web applications.

The client side has been experiencing advances all the time. In Nov. 1995, HTML 2.0 was published to support form which allows interaction between servers and clients.

CSS, a style sheet language, was released on Dec. 17 1996 by W3C, primarily to enable the separation of document content from document presentation. This separation can improve content accessibility, provide more flexibility and control in the specification of presentation characteristics, enable multiple pages to share formatting, and reduce complexity and repetition in the structural content. CSS can also allow the same markup page to be presented in different styles for different rendering methods, such as on-screen, in print, by voice (when read out by a speech-based browser or screen reader) and on Braille-based, tactile devices. While the author of a document typically links that document to a CSS style sheet, readers can use a different style sheet, perhaps one on their own computer, to override the one the author has specified.

JavaScript, a client-side scripting language, is developed firstly by Netscape in 1995, to provide enhanced user interfaces. In 1996, the standard version named ECMAScript was released based on Netscape's JavaScript.

The Document Object Model (DOM), a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents, was released firstly by Netscape with JavaScript. After the release of ECMAScript, W3C began work on a standardized DOM. The current release is DOM3.

Asynchronous JavaScript and XML (Ajax), a group of interrelated web development techniques such as JavaScript, XML along with DOM and CSS used on the client-side to create asynchronous web applications, and the term was coined on 18 February 2005 by Jesse James Garrett.

Asynchronous loading of content first became practical when Java applets were introduced in the first version of the Java language in 1995. In 1996, Internet Explorer introduced the iframe element to HTML, which also enabled asynchronous loading. In 1999, Microsoft created the XMLHTTP ActiveX control in Internet Explorer 5, which was later adopted by Mozilla, Safari, Opera and other browsers as the XMLHttpRequest JavaScript object, which is later supported by IE 7+. In April 2000 Microsoft filed a patent on the basic Ajax technology, which was granted in June 2006. Google made a wide deployment of Ajax with Gmail (2004) and Google Maps (2005). On 5 April 2006 the World Wide Web Consortium (W3C) released the first draft specification for the XMLHttpRequest object in an attempt to create an official web standard.

Json, or JavaScript Object Notation, derived from the JavaScript scripting language for representing simple data structures and associative arrays, but actually a language-independent data format, is launched in 2002 as an alternative to XML, which booms Ajax programming.

Above techniques has made rich client possible. Contrasted to a thin client, which is heavily dependent on a server, the rich client provides a more-responsive platform as well as rich functionality relatively independent of the central server. What is more, HTML 5, the fifth revision of the HTML standard, which is still under development, aims to support rich client and also low-powered devices such as smartphones and tablets. In addition to specifying markup, HTML5 specifies scripting application programming interfaces (APIs), including Offline Web Applications, Drag-and-drop, Web Storage, etc.

In 1996, Macromedia introduced Flash, a vector animation player that could be added to browsers as a plug-in to embed animations on the web pages. It allowed the use of a scripting language to program interactions on the client side with no need to communicate with the server. Sun Microsystems first announced JavaFX as a solution for Rich Internet application at the JavaOne Worldwide Java Developer conference on May 2007. JavaFX 2.0 was released on October 10, 2011. Microsoft Silverlight, emerged as a potential competitor to Flash, focuses on multimedia, graphics and animation.Over the course of about five years Microsoft has released five versions: The first version was released in 2007. These three are currently the three most common platforms of RIA.

On the server side, there exists equally amazing evolution.

The Common Gateway Interface (CGI), a standard method for web server software to delegate the generation of web pages to executable files, was developed in 1993. Such files are known as CGI scripts; they are programs, often stand-alone applications, usually written in a scripting language. CGI is implemented by calling a command, which leads to invocation of a newly created process on the server.

Later, such popular Web servers as Apache and IIS, are developed with their own extension mechanisms that allows third-party software to run inside the web server itself.

The Java ServerPages(JSP) and the Java Servlet are released in 1999 by Sun Microsystem, as a replacement of the CGI architecture. Both the JSP and the Java Servlet are running in a Java servlet container and this approach replaces the overhead of generating and destroying processes with the much lower overhead of generating and destroying threads. Apache Tomcat is a widely used web server with a servlet container. Till now, JSP has developed through JSP 1.0 and JSP 2.0.

Inter-server communication, such as web service, RPC (Java RMI) and SOAP came out focusing on automated generation of service endpoints concentrating on backends and server-to-server communication.

As to HTTP protocol, HTTPS, was created by Netscape in 1994 to create a secure channel over an insecure network by authenticating the server and encrypting the transporting layer.

User Interface
User interface can be categoried by techniques into JavaScript-based or framework-based. The latter needs installing a software framework using the computer's operating system before launching the application, which typically downloads, updates, verifies and executes the RIA, while the former use built-in browser functionality to implement comparable interfaces.

Through JavaScript, DOM, Ajax, JavaFX, Flash, Silverlight, HTML 5 and other techniques, the client has already been able to support almost all functionalities of a typical desktop application software, including responsive, drag-and-drop, offline web applications, multimedia, and storage. Concrete examples are Google mail which makes full use of Ajax and video streaming applying Silverlight for many high profile events, including the 2008 Summer Olympics in Beijing, the 2010 Winter Olympics in Vancouver , and the 2008 conventions for both major political parties in the United States , etc.