Ext JS ist ein clientseitiges JavaScript- bzw. Ajax-Framework für interaktive Webanwendungen, das für Open-Source-Projekte unter der GPL, für andere Projekte unter kommerziellen Lizenzen erhältlich ist. In erster Linie bietet Ext JS eine umfangreiche Sammlung von Steuerelementen.
Ext JS
| |
---|---|
Basisdaten
| |
Entwickler | Jack Slocum, Brian Moeskau, Aaron Conran, Rich Waters |
Aktuelle Version | 7.6.0 (31. August 2022[1]) |
Betriebssystem | plattformunabhängig |
Programmiersprache | JavaScript |
Kategorie | Framework |
Lizenz | GPL und proprietär |
deutschsprachig | nein |
sencha.com |
Geschichte
BearbeitenUrsprünglich war Ext JS eine Sammlung von Funktionserweiterungen für die Yahoo User Interface Library (YUI) unter dem Namen yui-ext. Aufgrund wachsenden Umfangs und steigender Popularität entwickelte sich daraus die unabhängige Bibliothek Ext JS.
In der Version 2.0 bot Ext JS unter anderem JavaScript-Erweiterungen und Klassen für Ajax-Unterstützung, zur DOM-Manipulation sowie zur Ereignis-Programmierung.
Ab Version 3.0 bringt das Framework Unterstützung für REST, Ext Direct (API zur direkten Einbindung serverseitiger Funktionen)[2] sowie eine Chart-Engine auf Basis von Adobe Flash.
Am 15. Juni 2010 wurde angekündigt,[3] dass Ext JS mit JQTouch und Raphaël verschmilzt. Die drei Projekte werden auf der neuen gemeinsamen Plattform unter dem Namen „Sencha“ fortgeführt. Ext JS wurde als eigenständiges Projekt[4] auf der neu gestalteten Projekt-Webseite integriert.
Am 26. April 2011 wurde Sencha Ext JS 4.0[5] veröffentlicht und enthält unter anderem ein Klassensystem, die Sandbox Unterstützung verhindert Konflikte mit anderen Libraries, Unterstützung der Model-View-Controller-Architektur (MVC), Diagramm-Komponenten und verbesserte Rasteransichten (Grid Views). Das Framework ist nun mit über 4000 Unit Tests auf über 21 Webbrowsern in den Modi quirks, standard und strict getestet.
Die Version 5.0 von Ext JS wurde am 2. Juni 2014 veröffentlicht. Es ermöglicht die Entwicklung von Desktop-Anwendungen auf Geräten mit Touch-Display. Apps mit Model-View-ViewModel-Architektur (MVVM) sollen ebenso wie responsive Anwendungen nun einfacher zu erstellen sein.[6] Ext JS 5 unterstützt alle modernen Webbrowser: Safari 6+, Firefox, Internet Explorer 8+, Chrome und Opera 12+. Auf Mobilgeräten werden unterstützt: Safari unter iOS 6 und 7, Chrome unter Android 4.1+ und Geräte mit Touch-Display und Windows 8 (z. B. Microsoft Surface) mit dem Internet Explorer 10+. Ab Version 5 können proprietäre Entwicklerlizenzen nur noch für mind. 5 Entwickler erstanden werden. Die Einzelplatzlizenzen sind entfallen.
Mit Version 6 wurden Ext JS und Sencha Touch zusammengeführt. Ein neues Design wurde hinzugefügt und die Grids überarbeitet und einige Diagrammdarstellungen aktualisiert.[7] Seit Ext JS 6 verlangen die Entwickler, dass bei Nutzung einer GPL-Lizenz, diejenige Software, die Ext JS verwendet, nicht mehr nur unter GPL in irgendeiner Version, sondern genau unter GPL 3 lizenziert ist. Dadurch kann es zu rechtlichen Inkompatibilitäten kommen bzw. Ext JS kann so für ein Projekt unbenutzbar werden, selbst wenn dieses unter der GPL steht.[8][9]
Im Jahre 2017 wurde Sencha durch Idera aufgekauft.
Am 31. August 2022 erschien die aktuelle Version 7.6.0.[1] Die Version beinhaltet neue Filterfunktionen für Rasteransichten, vertikale Schieberegler und mehrere kleine Verbesserungen und Bugfixes.[10]
Funktionen
BearbeitenProgrammoberfläche (GUI)
BearbeitenDas Ext-JS-Framework beinhaltet eine Sammlung aus verschiedenen Formular-Elementen:[11]
- Textfelder (einzeilig und mehrzeilig)
- Kalendersteuerelemente (Drop-Down-Kalender und Terminkalender mit Tages, Wochen und Monatsansicht)
- Drehfelder und Schieberegler zur Eingabe von numerischen Daten
- Listenfelder und Auswahlboxen (Combobox)
- Schaltflächen und Umschaltflächen
- Optionsfeld (Radiobutton) und Kontrollkästchen (Checkbox)
- HTML-Eingabebereiche
Außerdem stehen verschiedene vorgefertigte Elemente, auch Widgets genannt, zur Verfügung:
- Listendarstellung (Nur-Lese- oder mit Editierfunktion, sortierbar, Spaltenreihenfolge änderbar)
- Baumstruktur
- Registerkarten-Darstellung
- Menü- und Symbolleisten
- Kontextmenüs
- Bildlaufleisten
- Fortschrittsanzeigen
- Pivot-Tabellen
- 2D- und 3D-Diagramme (Liniendiagramme, Säulendiagramme, Netzdiagramme, Kreisdiagramme etc.)
- Landkarten auf Basis von Google Maps
- Mediaplayer zur Wiedergabe von Audio- und Videodateien
- Zeichenflächen
- Dynamische Anordnung der Steuerelemente (Responsive Webdesign)
Viele dieser Elemente können direkt mittels Ajax-Technologie Daten empfangen und senden. Außerdem unterstützen einige Steuerelemente Drag and Drop. Die Entwickler-Community entwickelt das Framework ständig weiter und stellt zusätzliche Erweiterungen bereit.[12][13]
Anwendungsunterstützung
Bearbeiten- modale Dialog-Fenster
- interaktive Validierung der Eingaben mit Rückmeldung
- Sitzungs- und Zustandsverwaltung
- unterschiedliche standardisierte Datenformate wie XML und JSON
Support (Unterstützung)
BearbeitenFür aktuelle Versionen ist kostenloser Support in Foren oder kostenpflichtig über Supportverträge erhältlich. Regelmäßige Fehlerkorrekturen, sogenannte Bugfixes, werden nur Nutzern mit kostenpflichtigen Support-Verträgen angeboten.[14]
Literatur
Bearbeiten- Leslie M. Orchard, Ara Pehlivanian, Scott Koon, Harley Jones: Professional JavaScript Frameworks: Prototype, YUI, Ext JS, Dojo and MooTools. Wrox Press, 2009, ISBN 978-0-470-38459-6 (englisch).
- Shea Frederick, Colin Ramsay, Steve Blades: Learning Ext JS. Packt Publishing, 2008, ISBN 978-1-84719-514-2 (englisch).
- Crysfel Villa, Armando Gonzalez: Learning Ext JS 4. Packt Publishing, 2013, ISBN 978-1-84951-684-6 (englisch).
- Prabhu Sunderaraman: Practical Ext JS 4. Apress, 2013, ISBN 978-1-4302-6073-8, doi:10.1007/978-1-4302-6074-5 (englisch).
Weblinks
BearbeitenEinzelnachweise
Bearbeiten- ↑ a b Sachin Ibrahimpur: Ext JS 7.6 Has Arrived! In: sencha.com. 31. August 2022, abgerufen am 23. Januar 2023 (englisch).
- ↑ Ext Direct Specification. In: docs.sencha.com. Abgerufen am 26. Januar 2023 (englisch).
- ↑ Ext JS Inc. Combines with JQTouch and Raphaël Projects to Form Sencha Inc. In: sencha.com. 15. Juni 2010, abgerufen am 26. Januar 2023 (englisch).
- ↑ Sencha Ext JS. In: sencha.com. Abgerufen am 26. Januar 2023 (englisch).
- ↑ Ed Spencer: Ext JS 4.0 Final Available Today. In: sencha.com. 26. April 2011, archiviert vom am 29. April 2011; abgerufen am 26. Januar 2023 (englisch).
- ↑ Alexander Neumann: Vieles neu mit Sencha Ext JS 5. In: Heise online. 3. Juni 2014. Abgerufen am 26. Januar 2023.
- ↑ What’s New In Ext JS 6. In: docs.sencha.com. Abgerufen am 26. Januar 2023 (englisch).
- ↑ Frequently Asked Questions about the GNU Licenses. In: gnu.org. 28. Dezember 2021, abgerufen am 26. Januar 2023 (englisch).
- ↑ Sencha GPL Licensing. Sencha Ext JS & Sencha GXT. In: sencha.com. Abgerufen am 24. Januar 2023 (englisch).
- ↑ Sachin Ibrahimpur: What’s New in Ext JS 7.6? In: sencha.com. 31. August 2022, abgerufen am 25. Januar 2023 (englisch).
- ↑ Ext JS Kitchen Sink. In: examples.sencha.com. Abgerufen am 23. Januar 2023 (englisch).
- ↑ Creating User Extensions. In: docs.sencha.com. Abgerufen am 26. Januar 2023 (englisch).
- ↑ Using User Extensions. In: docs.sencha.com. Abgerufen am 24. Januar 2023 (englisch).
- ↑ Sencha Maintenance and Support. In: sencha.com. Abgerufen am 26. Januar 2023 (englisch).