Ext (javascript library)
Encyclopedia
Ext JS is a JavaScript
library for building interactive web application
s using techniques such as Ajax
, DHTML
and DOM
scripting.
Originally built as an add-on library extension of YUI by Jack Slocum, Ext includes interoperability with jQuery
and Prototype
. Beginning with version 1.1, Ext retains no dependencies on external libraries, instead making their use optional.
Many of these controls are able to communicate with a web server using Ajax.
Other features include a DOM selector class allowing operations to be performed on elements within the page, data stores that can be used to manage data, and classes to create and manage data in JSON
and XML formats.
Ext JS 2.0 did not provide backward compatibility with version 1.1. A migration guide was developed to address this.
and a new Ext.Direct server side platform. New flash charting and ListView elements were added to the standard display components. It was backwards compatible with version 2.0 code.
and VML
, and revised charting and theming. It also includes an optional architecture that provides a Model-View-Controller
style of code organization.
and Raphaël
was announced forming a new organisation called Sencha Inc..
Ext JS continues to be available as a main product on the new Sencha website together with Sencha Touch, Ext GWT, Ext Designer, Sencha Animator and Ext Core.
On 20 April 2008, Ext 2.1 was released under a new dual license which allowed the options of the full GPL 3.0 license or a commercial license.
The change in license over time, from a permissive open source license to a restrictive dual license, caused controversy in the Ext user community.
JavaScript
JavaScript is a prototype-based scripting language that is dynamic, weakly typed and has first-class functions. It is a multi-paradigm language, supporting object-oriented, imperative, and functional programming styles....
library for building interactive web application
Web application
A web application is an application that is accessed over a network such as the Internet or an intranet. The term may also mean a computer software application that is coded in a browser-supported language and reliant on a common web browser to render the application executable.Web applications are...
s using techniques such as Ajax
Ajax (programming)
Ajax is a group of interrelated web development methods used on the client-side to create asynchronous web applications...
, DHTML
Dynamic HTML
Dynamic HTML, or DHTML, is an umbrella term for a collection of technologies used together to create interactive and animated web sites by using a combination of a static markup language , a client-side scripting language , a presentation definition language , and the Document Object Model.DHTML...
and DOM
Document Object Model
The Document Object Model is a cross-platform and language-independent convention for representing and interacting with objects in HTML, XHTML and XML documents. Aspects of the DOM may be addressed and manipulated within the syntax of the programming language in use...
scripting.
Originally built as an add-on library extension of YUI by Jack Slocum, Ext includes interoperability with jQuery
JQuery
jQuery is a cross-browser JavaScript library designed to simplify the client-side scripting of HTML. It was released in January 2006 at BarCamp NYC by John Resig...
and Prototype
Prototype Javascript Framework
The Prototype JavaScript Framework is a JavaScript framework created by Sam Stephenson in February 2005 as part of the foundation for Ajax support in Ruby on Rails. It is implemented as a single file of JavaScript code, usually named prototype.js...
. Beginning with version 1.1, Ext retains no dependencies on external libraries, instead making their use optional.
GUI controls
Ext JS includes a set of GUI-based form controls (or "widgets") for use within web applications:- text field and textarea input controls
- date fields with a pop-up date-picker
- numeric fields
- list box and combo boxesCombo boxA combo box is a commonly used graphical user interface widget . It is a combination of a drop-down list or list box and a single-line textbox, allowing the user to either type a value directly into the control or choose from a list of existing options.Combo boxes are typically applied to provide...
- radio and checkbox controls
- html editor control
- grid control (with both read-only and edit modes, sortable data, lockable and draggable columns, and a variety of other features)
- tree control
- tab panels
- toolbars
- desktop application-style menus
- region panels to allow a form to be divided into multiple sub-sections
- sliders
- flash charts
Many of these controls are able to communicate with a web server using Ajax.
Application support
Ext JS includes web application support with features such as:- modal dialog boxes
- interactive user-input validation prompts
- state management
Other features include a DOM selector class allowing operations to be performed on elements within the page, data stores that can be used to manage data, and classes to create and manage data in JSON
JSON
JSON , or JavaScript Object Notation, is a lightweight text-based open standard designed for human-readable data interchange. It is derived from the JavaScript scripting language for representing simple data structures and associative arrays, called objects...
and XML formats.
Ext JS 2.0
Ext JS version 2.0 was released on 4 December 2007. This version was promoted as providing an interface and features more similar to those traditionally associated with desktop applications. Also promoted were the new user documentation, API documentation, and samples.Ext JS 2.0 did not provide backward compatibility with version 1.1. A migration guide was developed to address this.
Ext JS 3.0
Ext JS version 3.0 was released on 6 July 2009. This version added communication support for RESTRepresentational State Transfer
Representational state transfer is a style of software architecture for distributed hypermedia systems such as the World Wide Web. The term representational state transfer was introduced and defined in 2000 by Roy Fielding in his doctoral dissertation...
and a new Ext.Direct server side platform. New flash charting and ListView elements were added to the standard display components. It was backwards compatible with version 2.0 code.
Ext JS 4.0
Version 4.0 of the Ext framework was released on April 26th, 2011. It includes a completely revised class structure, a revised data package, an animation and drawing package that uses SVGScalable Vector Graphics
Scalable Vector Graphics is a family of specifications of an XML-based file format for describing two-dimensional vector graphics, both static and dynamic . The SVG specification is an open standard that has been under development by the World Wide Web Consortium since 1999.SVG images and their...
and VML
Vector Markup Language
Vector Markup Language is a deprecated XML language used to produce vector graphics.VML was submitted as a proposed standard to the W3C in 1998 by Autodesk, Hewlett-Packard, Macromedia, Microsoft, and Visio. Around the same time other competing W3C submissions were received in the area of web...
, and revised charting and theming. It also includes an optional architecture that provides a Model-View-Controller
Model-view-controller
Model–view–controller is a software architecture, currently considered an architectural pattern used in software engineering. The pattern isolates "domain logic" from the user interface , permitting independent development, testing and maintenance of each .Model View Controller...
style of code organization.
Sencha
On 15 June 2010, the merger of Ext JS with JQTouchJQTouch
jQTouch is an Open Source JQuery plugin with native animations, automatic navigation, and themes for mobile WebKit browsers like iPhone, G1 , and Palm Pre...
and Raphaël
Raphaël (JavaScript Library)
Raphaël is a cross-browser JavaScript library that draws vector graphics for web sites. It will use SVG for most browsers, but will use VML for older versions of Internet Explorer...
was announced forming a new organisation called Sencha Inc..
Ext JS continues to be available as a main product on the new Sencha website together with Sencha Touch, Ext GWT, Ext Designer, Sencha Animator and Ext Core.
License history
YUI-Ext was available under the BSD license. In 2008 the open source license associated with Ext was changed. In version 2.0.2, the authors stated that Ext was available under an LGPL-style license as long as you "plan to use Ext in a personal, educational or non-profit manner" or "in an open source project that precludes using non-open source software" or "are using Ext in a commercial application that is not a software development library or toolkit". This was no longer the case with Ext 2.1. Some people claimed that the license conditions as the authors described it stood while others claimed that clause 7 of the LGPL-style license enabled the software to be used by all regardless of Ext's conditions. The Ext authors claim that section 7 of the LGPL as it is worded does not apply to "conditions" which their license requires before distribution under the LGPL is permitted as opposed to "additional restrictions" which section 7 allows a distributor to remove.On 20 April 2008, Ext 2.1 was released under a new dual license which allowed the options of the full GPL 3.0 license or a commercial license.
The change in license over time, from a permissive open source license to a restrictive dual license, caused controversy in the Ext user community.
External links
- Sencha Web site
- Additional Examples site
- Sencha forum
- Sencha Documentation
- Tutorials about ExtJS 4 from scratch
See also
- Comparison of JavaScript frameworksComparison of JavaScript frameworks- Rationale :There are many JavaScript frameworks available. The intention of this comparison is to show some examples of JavaScript frameworks with their different features.- Table of Javascript Frameworks :- External links :* * * * * * * *...