Ext JS - Ext JS
|
Ext JS 2.0 Web Desktop
| |
| Stabilní uvolnění | 7.4.0 / 10. května 2021
|
|---|---|
| Typ | Knihovna JavaScript |
| Licence | Proprietární |
| webová stránka | www |
Ext JS je čistě JavaScriptový aplikační framework pro vytváření interaktivních webových aplikací napříč platformami pomocí technik, jako je skriptování Ajax , DHTML a DOM . Může být použit jako jednoduchý komponentní framework (například pro vytváření dynamických mřížek na jinak statických stránkách), ale také jako úplný rámec pro vytváření jednostránkových aplikací .
Ext JS, původně postavený jako rozšíření knihovny YUI od Jacka Slocuma 15. dubna 2007, počínaje verzí 1.1, nezachovává žádné závislosti na externích knihovnách, místo toho činí jejich použití volitelným. V současné době lze Ext JS použít buď jako jeden skript (se všemi třídami a komponentami v jednom souboru), nebo vytvořením aplikace pomocí Sencha Cmd.
Funkce
Ovládací prvky GUI (komponenty)
Ext JS obsahuje sadu ovládacích prvků formuláře (neboli „ widgetů “) na bázi GUI pro použití ve webových aplikacích:
- ovládací prvky vstupu textového pole a textarea
- datová pole s vyskakovacím výběrem data
- číselná pole
- seznam a kombinovaná pole
- ovládání rádia a zaškrtávacího políčka
- ovládání editoru html
- ovládání mřížky (s režimy jen pro čtení a úpravy, seřaditelná data, uzamykatelné a přetahovatelné sloupce a řada dalších funkcí)
- ovládání stromu
- záložkové panely
- panely nástrojů
- nabídky ve stylu desktopové aplikace
- panely oblastí, které umožňují rozdělení formuláře na více dílčích sekcí
- posuvníky
- vektorové grafické grafy
Motivy a sady nástrojů
Sencha také poskytuje některá témata pro stylování komponent. Změna motivu vyžaduje jednoduše změnu CSS a skriptu tématu. Při použití Sencha CMD může být vyžadováno opětovné sestavení aplikace.
Všechny komponenty by měly fungovat s každým tématem, ale jejich vzhled a dojem se změní. Například klasické téma má poměrně malé prvky, které nejsou vhodné pro dotyková zařízení. Neptune Touch má větší prvky vhodnější pro tablety a telefony.
Ext JS přichází ve dvou příchutích nazývaných moderní a klasický soubor nástrojů. Liší se nejen dostupnými motivy, ale také mezi nimi existují určité rozdíly v API. Migrace z jedné sady nástrojů do druhé není tak snadná jako u témat. Existují plány na vyrovnání některých rozdílů mezi sadami nástrojů v Ext JS 7.1, které je plánováno na rok 2019.
Sada programovacích nástrojů
Ext JS je kompozice tříd, která má mnoho funkcí. Nějaké příklady:
- abstraktní vrstva pro prohlížeče (např.
Ext.isArraykterou lze použít jako náhraduArray.isArray) - státní správa (obchody)
- komunikační vrstva serveru (proxy a
Ext.Ajax.request) - rozložení a správa oken
- správa událostí (se zjednodušeným vytvářením vlastních událostí pro vlastní komponenty)
- směrování
Třídní systém
Ext JS má svůj vlastní třídní systém. Třídy jsou definovány pomocí Ext.definea poté lze pomocí nich vytvořit instanci Ext.create. Některé třídy (např. Komponenty a obchody) mohou mít aliasy a mohou být vytvořeny pomocí aliasu. Instance komponent se vytvářejí automaticky při vytvoření nadřazené komponenty.
Třída může rozšířit vlastní i vestavěné třídy. Vlastní komponenty by obvykle rozšířily vestavěné součásti (např. Rozšířily MyApp.views.ProductsTableby vestavěné Ext.grid.Panel).
Existuje vestavěný dynamický zavaděč, takže třídy mohou mít dynamické závislosti (načtené na vyžádání). V ExtJS existují dva typy závislostí. Závislosti deklarované pomocí requiresvlastnosti se načtou před vytvořením instance třídy. Závislosti definované ve usesvlastnosti mohou být načteny po vytvoření instance třídy.
Je také možné přepsat třídy. Dokonce i vestavěné třídy. Přepsání vestavěných tříd může být užitečné například pro zajištění internacionalizace nebo vytváření oprav. Přepsaná třída bude sloučena s novou deklarací. Každá třída může být přepsána tolikrát, kolikrát je potřeba (např. Poskytnutí i18n a poté l10n).
Historie verzí Ext JS
Ext JS 2.0
Ext JS verze 2.0 byla vydána 4. prosince 2007. Tato verze byla propagována jako rozhraní a funkce více podobné těm, které jsou tradičně spojovány s desktopovými aplikacemi. Rovněž byly propagovány nová uživatelská dokumentace, dokumentace API a ukázky.
Ext JS 2.0 neposkytoval zpětnou kompatibilitu s verzí 1.1. Za tímto účelem byl vyvinut průvodce migrací.
Ext JS 3.0
Ext JS verze 3.0 byla vydána 6. července 2009. Tato verze přidala podporu komunikace pro REST a novou platformu na straně serveru Ext.Direct. Ke standardním komponentám zobrazení byly přidány nové flashové grafy a prvky ListView. Byla zpětně kompatibilní s kódem verze 2.0.
Ext JS 4.0
Verze 4.0 rámce Ext byla vydána 26. dubna 2011. Obsahuje kompletně přepracovanou strukturu tříd, revidovaný balíček dat, balíček animací a kreslení, který používá SVG a VML , a revidované grafy a motivy. Obsahuje také volitelnou architekturu, která poskytuje styl modelování - zobrazení - řadiče (MVC) organizace kódu.
Ext JS 5.0
Verze 5.0 rámce Ext JS byla vydána 2. června 2014. Obsahuje možnost vytvářet desktopové aplikace na zařízeních s dotykovým ovládáním-pomocí jediné základny kódu, architektury Model View ViewModel ( MVVM ), obousměrné datové vazby, responzivní rozvržení a další upgrady komponent s podporou přidávání widgetů do buňky mřížky pro vizualizaci dat a analýzu velkých dat. Ext JS 5 také obsahuje vylepšený dotykový grafický balíček spolu s dalšími možnostmi finančního mapování.
Ext JS 5 podporuje moderní a starší prohlížeče včetně: Safari 6+, Firefox, IE8+, Chrome a Opera 12+. Na mobilní platformě Ext JS 5 podporuje Safari na iOS 6 a 7, Chrome na Androidu 4.1 a vyšším a zařízení s dotykovou obrazovkou Windows 8 (například Surface a notebooky s dotykovou obrazovkou) se systémem IE10+.
Důležité: Od verze Ext JS 5 nemůžete zakoupit licenci pro méně než 5 vývojářů.
Ext JS 6.0
Verze 6.0 rámce Ext JS byla vydána 1. července 2015. Slučuje rámec Sencha Touch (mobilní) do Ext JS.
Ext JS 7.0
Verze 7.0 rámce Ext JS byla vydána 29. srpna 2019. Ext JS 7.0 byla menší verze. Do Modern Toolkit bylo přidáno několik komponent. Classic Toolkit obdržel motiv Material Design .
Sencha
Dne 15. června 2010 bylo oznámeno sloučení Ext JS s JQTouch a Raphaël , které tvoří novou organizaci s názvem Sencha Inc. Ext JS je nadále k dispozici jako hlavní produkt na novém webu Sencha společně se Sencha Touch , Sencha GWT Sencha GXT), Sencha Architect, Sencha Animator a Ext core.
23. srpna 2017 získala společnost Sencha společnost IDERA (která zase vlastní společnost Embarcadero Technologies ). Společnost Embarcadero je známá pro akvizice softwaru pro rychlý vývoj aplikací, jako je Delphi (který se spoléhá na Object Pascal jako svůj primární programovací jazyk).
Plugin Sencha JetBrains
Plugin JetchaBrains od společnosti Sencha je nástroj integrovaného vývojového prostředí, který vytváří soutok mezi nástroji Sencha Frameworks a softwarem JetBrains. Tato integrace přichází ve formě dokončení kódu , inspekce a návrhu při spolupráci s nativním chováním JetBrains.
Ext.NET
Ext.NET je framework komponent ASP.NET integrující knihovnu Ext, aktuální verze (k září 2017) je 4.4, která integruje ExtJS verze 6.5.1.
Historie licencí
YUI-Ext byl k dispozici pod licencí BSD . V dubnu 2008 byla změněna open source licence spojená s Ext. Ve verzi 2.0.2 autoři uvedli, že Ext byl k dispozici pod licencí LGPL, pokud „plánujete používat Ext osobním, vzdělávacím nebo neziskovým způsobem“ nebo „v open source projektu, který vylučuje použití jiných -otevřený zdrojový software “nebo„ používáte Ext v komerční aplikaci, která není knihovnou nebo sadou nástrojů pro vývoj softwaru “. To už u Ext 2.1 neplatilo. Autoři Ext tvrdí, že část 7 LGPL, jak je formulována, se nevztahovala na „podmínky“, které jejich licence vyžadovala před distribucí podle LGPL, na rozdíl od „dodatečných omezení“, která část 7 umožňovala distributorovi odstranit.
Dne 20. dubna 2008 byl Ext 2.1 vydán pod novou strukturou dvojí licence, která umožňovala možnosti plné licence GPL 3.0 nebo proprietární licence.
Změna licence v průběhu času, z tolerantní open source licence na restriktivní duální licenci, vyvolala v komunitě uživatelů Ext kontroverzi.
Sencha na svém webu zveřejnila podrobnosti o svých komerčních licenčních podmínkách a licenčních podmínkách GPL.
V listopadu 2018 Sencha oznámila svou komunitní edici, která je zdarma, ale je omezena ročními příjmy osoby nebo společnosti využívající ExtJS.
Viz také
Reference
Bibliografie
- Orchard, Leslie M .; Pehlivanian, Ara; Koon, Scott; Jones, Harley (31. srpna 2009). Profesionální JavaScriptové rámce: Prototype, YUI, ExtJS, Dojo a MooTools (1. vydání). Wrox Press . p. 888. ISBN 978-0-470-38459-6.
- Frederick, Shea; Ramsay, Colin; 'Cutter' Blades, Steve (28. listopadu 2008). Learning Ext JS (1. vyd.). Packt Publishing . p. 299. ISBN 978-1-84719-514-2.
- Gonzalez, Armando; Villa, Crysfel (08.10.2012). Learning Ext JS 4 (1. vyd.). Packt Publishing . p. 434. ISBN 978-1-84951-684-6.