Ext JS

From Wikipedia, the free encyclopedia
  (Redirected from Ext (JavaScript library))
Jump to: navigation, search
Ext JS JavaScript Framework
Developer(s) Sencha Inc.
Stable release 5.0.1 / August 2014 (2014-08)
Development status Active
Type JavaScript library
License GPLv3 or proprietary
Website www.sencha.com/products/extjs/

Ext JS is a pure JavaScript application framework for building interactive web applications[1] using techniques such as Ajax, DHTML and DOM scripting.

Originally built as an add-on library extension of YUI by Jack Slocum, Ext JS includes interoperability with jQuery and Prototype. Beginning with version 1.1, Ext JS retains no dependencies on external libraries, instead making their use optional.[2]

Features[edit]

GUI controls[edit]

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 boxes
  • 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
  • vector graphics charts

Many of these controls can communicate with a web server using Ajax.

Ext JS 2.0[edit]

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.[3]

Ext JS 2.0 did not provide a backward compatibility with version 1.1. A migration guide was developed to address this.[4]

Ext JS 3.0[edit]

Ext JS version 3.0 was released on 6 July 2009. This version added communication support for REST 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[edit]

Version 4.0 of the Ext framework was released on April 26, 2011. It includes a completely revised class structure,[5] a revised data package, an animation and drawing package that uses SVG and VML,[6] and revised charting and theming. It also includes an optional architecture that provides a model–view–controller (MVC) style of code organization.

Ext JS 5.0[edit]

Version 5.0 of the Ext JS framework was released on June 2, 2014.[7] It includes the ability to build desktop apps on touch-enabled devices[8]—using a single code base, a Model View ViewModel (MVVM) architecture, two-way data binding, responsive layouts, and other component upgrades with support for adding widgets inside a grid cell for data visualization and big data analytics.[9] Ext JS 5 also includes an upgraded touch-optimized charting package along with additional financial charting capabilities.

Ext JS 5 supports modern and legacy browsers including: Safari 6+, Firefox, IE8+, Chrome, and Opera 12+. On the mobile platform, Ext JS 5 supports Safari on iOS 6 and 7, Chrome on Android 4.1+, and Windows 8 touch-screen devices (such as Surface and touch-screen laptops) running IE10+.

Important: From the Ext JS 5 version you cannot buy license for fewer than 5 developers.

Sencha[edit]

On 15 June 2010, the merge of Ext JS with JQTouch and Raphaël was announced[10] forming a new organisation called Sencha Inc. Ext JS continues to be available as a main product on the new Sencha website[11] together with Sencha Touch, Sencha GWT (now Sencha GXT), Sencha Architect, Sencha Animator and Ext core.

Sencha Eclipse plugin[edit]

Sencha offers an Eclipse plugin (as of October 2013 in version 2.1.0), but it has a very long list of "known issues and limitations" and is not integrated with Sencha Architect, so it should probably best be seen as a work in progress, not a polished product. It can be used as a code editor for Sencha Architect, which offers only very limited code editing, and it can be used to edit projects created with the Sencha Cmd command line tool.[12]

Ext.NET[edit]

Main article: Coolite

Ext.NET is an ASP.NET component framework integrating the Ext library,[13] current version (as of April 2014) is 2.5 which integrates Ext JS version 4.2.1

License history[edit]

YUI-Ext was available under the BSD license. In April 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.[14] Some people[who?] claimed that the license conditions as the authors described it stood while others[weasel words] claimed that clause 7[15] 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 did not apply to "conditions" which their license required before distribution under the LGPL was permitted as opposed to "additional restrictions" which section 7 allowed a distributor to remove.[16]

On 20 April 2008, Ext 2.1 was released under a new dual license structure which allowed the options of the full GPL 3.0 license or a proprietary license.[17]

The change in license over time, from a permissive open source license to a restrictive dual license, caused controversy in the Ext user community.[18][19][20][21]

See also[edit]

References[edit]

  1. ^ See also, Rich Internet application
  2. ^ Ext JS as of version 2.0 works with different base libraries or adapters. (e.g. YUI, jQuery, Prototype), or it can work stand-alone. The capability to work with multiple base libraries was removed in the 4.0 release.
  3. ^ "Ext JS 4.0.7 - Sencha Docs". Extjs.com. Retrieved 2012-11-19. 
  4. ^ [1][dead link]
  5. ^ "Countdown to Ext JS 4: Dynamic Loading and New Class System | Blog". Sencha. 2011-01-19. Retrieved 2012-11-19. 
  6. ^ "Countdown to Ext JS 4: Data Package | Blog". Sencha. 2011-01-21. Retrieved 2012-11-19. 
  7. ^ "Announcing Sencha Ext JS 5 | Blog". Sencha. 2014-06-02. Retrieved 2014-07-16. 
  8. ^ "Sencha Ext JS 5 Unifies Mobile, Desktop App Dev". eWeek. 2014-06-14. Retrieved 2014-09-11. 
  9. ^ "Sencha Ext JS 5 Streamlines and Unifies". Dr. Dobb's. 2014-06-05. Retrieved 2014-09-11. 
  10. ^ "Ext JS + jQTouch + Raphaël = Sencha | Blog". Sencha. 2010-06-14. Retrieved 2012-11-19. 
  11. ^ "Industry Leading JavaScript Framework for Building Desktop Web Apps | Sencha Ext JS | Products". Sencha. Retrieved 2012-11-19. 
  12. ^ "Sencha Eclipse Plugin Tips & Tricks | Blog". Sencha. 2013-01-14. Retrieved 2013-10-13. 
  13. ^ "– ASP.NET (WebForm + MVC) component framework integrating the Sencha Ext JS JavaScript Library | ASP.NET Web Components for WebForms and MVC application. Integrates the Sencha ExtJS framework". Ext.NET. 2011-09-20. Retrieved 2012-11-17. 
  14. ^ "License Change?". Extjs.com. Retrieved 2012-11-19. 
  15. ^ "GNU Lesser General Public License - Version 3, 29 June 2007". Gnu.org. Retrieved 2012-11-17. 
  16. ^ "Sencha Forums, ExtJS License Change". 
  17. ^ "Ext JS 2.1 and Ext GWT 1.0 released, preview of Ext JS 3.0 | Blog | Sencha". Extjs.com. 2008-04-22. Retrieved 2012-11-19. 
  18. ^ Monday April 28, 2008 3:08PM by Tim O'Brien in Opinion (2008-04-28). "License Fake-out hits ExtJS and Java Service Wrapper: Communities Alienated - O'Reilly ONJava Blog". Oreillynet.com. Retrieved 2012-11-19. 
  19. ^ Asay, Matt (2008-02-25). "ExtJS: When open source is not open at all | The Open Road - CNET News". News.cnet.com. Retrieved 2012-11-19. 
  20. ^ "Ext JS and the fun with Open Source licenses". Ajaxian. 2008-04-26. Retrieved 2012-11-19. 
  21. ^ "Brewing Controversy Surround EXTJS « The Byte Stops Here". Bytestopshere.com. Retrieved 2012-11-19. 

Bibliography[edit]

External links[edit]