General Interface is an open source project hosted by the Dojo Foundation

Rich Internet Applications

A survey by Forrester Research revealed that 70% of Fortune 2000 CIOs want to standardize on deploying applications to a web browser. However, of those surveyed, more than half stated that the limits of HTML prevented them from reaching this objective.

Significant investment has been made in browser development since the first browsers were released. As a result of that effort, today's web browsers, such as Internet Explorer and Firefox, do provide a stable environment where enterprise-grade applications can be deployed. However, despite the volume of research and development, the web browser today remains fundamentally aligned with the document-centric paradigms that first defined the concept of a web page. HTML, evolving from its SGML roots, has always been a document-oriented markup language.

With the advent of XML, DHTML, XHTML, and CSS (Cascading Style Sheets), the browser became increasingly powerful and flexible in its core capabilities. Additionally, the cost of web applications was much lower than that of thick client development, deployment, and maintenance. Yet, as enterprises migrated applications to the web, they discovered that web applications provided far less interactivity and performance than the thick-client solutions they were meant to replace. As a result, many businesses traded off performance for cost, or alternatively, when the document paradigm of HTML was insufficient, paid the higher costs of developing, deploying, and maintaining thick clients. Either way, businesses have had to choose between web applications and thick clients.

General Interface and Ajax

The General Interface application framework solves this problem by enabling enterprises to deliver rich internet applications (RIAs) that look, feel, and perform like desktop installed software but run in a standard web browser. With General Interface, enterprises can have the best of both options: rich, highly productive, service-differentiating GUI functionality with the low-cost profile of web development, instant distribution, and accessibility.

The General Interface application framework leverages Ajax (asynchronous communications, JavaScript, and XML), event, and rendering capabilities of the web browser to instantly create a powerful, object-based enterprise-grade application environment into which your General Interface applications can be deployed. By working with an object-based environment, as opposed to declarative markup languages, development time is shortened, and the business can easily distribute, manage, and deploy high performance solutions.

The application programming interfaces (APIs) provided by the browser remain a weak point in the development of end user applications more complex than online retail shopping. The existing browser APIs are not designed to create robust enterprise-grade applications. Therefore, development is time-consuming and expensive, maintainability is difficult, and many businesses completely avoid implementing enterprise web applications. Browsers lack the foundation classes familiar to Microsoft Windows programmers and the object-oriented presentation packages familiar to Java programmers. Instead, HTML browsers provide a generic API intended for displaying series of hyperlinked web pages that lack the features provided by many thick clients.

General Interface solves existing browser limitations by distributing many of the processes typically handled by a centralized web application server to the browser on the client machine. The application framework does this by first wrapping, then extending, browser APIs with functionality more suitable to object-oriented application development. Rather than forcing you to model complex workflows with a series of flat HTML pages, the General Interface APIs enable you to create stateful, interactive, object-based, client applications that look, feel, and perform as if launched from the local operating system.

Contents

Searching General Interface Docs

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.