ZK (rámec) - ZK (framework)
Vývojáři | zkoss |
---|---|
Stabilní uvolnění | 9.5.0 / 29 září 2020[1] |
Úložiště | ![]() |
Operační systém | Cross-platform (JVM ) |
Typ | Ajax Web Framework |
Licence | LGPL / ZOL / Obchodní[2] |
webová stránka | zkoss |
ZK je open-source Ajax Rámec webových aplikací, napsáno v Jáva,[3][4][5] který umožňuje vytvoření grafická uživatelská rozhraní pro Webové aplikace s malými požadovanými znalostmi programování.
Jádro ZK se skládá z Ajax -na základě událost-řízený mechanismus, přes 123 XUL a 83 XHTML - komponenty na bázi,[6] a značkovací jazyk pro návrh uživatelských rozhraní. Programátoři navrhují své stránky aplikací v bohatý na funkce XUL /XHTML komponenty a manipulovat s nimi při událostech vyvolaných aktivitou koncového uživatele. Je to podobné jako u programovacího modelu, který se nachází v desktopových aplikacích založených na grafickém uživatelském rozhraní.
ZK používá přístup zaměřený na server, ve kterém je synchronizace obsahu komponent a obložení událostí mezi klienty a servery prováděna automaticky motorem a instalatérské kódy Ajaxu jsou pro vývojáře webových aplikací zcela transparentní. Koncoví uživatelé proto získají podobnou interaktivitu a odezvu jako desktopová aplikace, zatímco vývoj programátorů si zachovává podobnou jednoduchost jako u desktopových aplikací.
Je důležité si uvědomit, že ZK nepoužívá standardní mechanismus odezvy na webový požadavek <=> a NEPOSÍLÁ pole formuláře na server pomocí parametrů dotazu GET + nebo jednoho požadavku POST. Místo toho se na server odesílají požadavky AJAX, aby se aktualizoval vnitřní stav každého widgetu obrazovky. ZK stáhne pouze a JSON popis webové stránky a pomocí vykreslovacího modulu klienta jej promění na uživatelské rozhraní. Je to docela efektivní a při bližším zkoumání nestáhne vše najednou. Pohled na provoz mezi klientem a serverem odhaluje několik požadavků, které se mezi klientem a prohlížečem pohybují tam a zpět, dokud se vykreslování stránky nakonec nedokončí.
Volitelné přizpůsobení na straně klienta umožňuje vývojářům využívat prostředky na straně klienta pomocí takzvané fúze server + klient, k přizpůsobení a ke snížení provozu Ajaxu.
Kromě programování na základě komponent podobným způsobem Houpačka, ZK podporuje značkovací jazyk pro definici bohatého uživatelského rozhraní s názvem ZUML.
- ZUML je určen pro neprogramátorské vývojáře k intuitivnímu navrhování uživatelských rozhraní.
- ZUML umožňuje vývojářům sloučit různé značkovací jazyky, například Mozilla Jazyk XUL a XHTML, bezproblémově na stejnou stránku.
- ZUML umožňuje vývojářům vkládat skripty v čistém jazyce Java (interpretováno BeanShell ) a použít EL výrazy pro manipulaci se součástmi a přístup k datům.
Funkce
- Prostě Java. ZK je známá díky přístupu „Ajax bez JavaScriptu“, který vývojářům umožňuje transparentní vytváření bohatých internetových aplikací bez znalosti Ajaxu a JavaScriptu.
- Responzivní designová témata spolu s podporou Bootstrap
- Podpora HTML 5 a CSS 3
- Více než 100 komponent Ajax nabízí návrhářům uživatelského rozhraní řadu komponent bohatých na komponenty, které splňují požadavky podnikových aplikací Ajax.
- ZUML dělá design bohatých uživatelských rozhraní podobným redakčním stránkám HTML. ZUML je varianta XUL, která dědí všechny funkce dostupné pro XML, a odděluje definici uživatelského rozhraní od logiky běhu.
- Model založený na událostech založený na událostech (podobný modelům programování pro stolní počítače) podporující více návrhových vzorů grafického uživatelského rozhraní řízených událostmi.[7]
- Podpora pro Model-View-Controller (MVC)[8], Model-View-Presenter[9] a Model-View-ViewModel (MVVM)[10] designové vzory
- Schopnost databázového propojení prostřednictvím anotací na stránce ZUML, která automatizuje CRUD a synchronizaci stavu mezi zobrazením uživatelského rozhraní a daty a POJO.
- Součásti aplikace, jako je tabulka, kontingenční tabulka a kalendář.
- Podpora vkládání skriptů do prostředí Java (Beanshell[11]). To je důležitá výhoda, protože můžete použít jednotný programovací jazyk jak pro uživatelské rozhraní, tak pro backendové programování. Volitelná podpora pro jiné skripty Java na straně serveru v jiných jazycích, jako je JavaScript (Rhino[12]), Ruby (JRuby[13]), Python (Jython[14]) a Groovy.[15]
- Podpora integrace s existujícími webovými rámci prostřednictvím knihovny vlastních značek JSP, podpory JSF, portletu a filtru servletů. Má podporu pro Spring a Hibernate.
- Rozšiřitelné v tom, že programátoři mohou vytvářet nové vlastní ovládací prvky uživatelského rozhraní. Skupiny ovládacích prvků lze znovu použít jako komponentu makra.
- Rozsáhlé mapování s grafy ZK
ZK 9.5.0
Nejnovější verze 9.5.0 byla vydána 29. září 2020[1]. Dodává se s více než 80 změnami a ukázkovou verzí podpory WCAG.
Rozdíly od XUL
- ZK je rámec na straně serveru, který vydává HTML, a proto nezávisí na přítomnosti klienta na straně Gekon takže je přenosný do libovolného prohlížeče. ZK bere ZUML (xul a xhtml) stránky na straně serveru jako vstupní a výstupní dhtml pro prohlížeč.
- ZK zpracovává logiku uživatelského rozhraní na serveru v Javě. To zvyšuje výběr skriptovacích strojů a aplikačních knihoven, které lze použít k vytvoření logiky. Efekty prezentace lze delegovat na prohlížeč pomocí funkce Akce na straně klienta, aby se snížilo zatížení serveru pro dhtml efekty. Spuštění logiky aplikace na serveru v jediném kontejneru aplikace snižuje množství testování mezi prohlížeči a verzí prohlížeče ve srovnání s rozsáhlým programováním modelu DOM v prohlížeči.
- Zatímco ZK a XUL mají překrývající se podmnožinu komponent, ZK má své vlastní jedinečné sady komponent. Knihovnu komponent lze rozšířit o vlastní komponenty. Lze definovat makro komponenty, které jsou složenými z komponent.
- ZK poskytuje anotace databázových vazeb na straně serveru k deklarativní vazbě komponent uživatelského rozhraní na data na straně serveru.
- Podívejte se a cítit rozdíly.
Požadavky na systém
Předpoklady programátorských dovedností
Požadované
- Základní znalost jazyka Java nebo jazyka skriptovacího jádra Java, jako je Báječný, nosorožec (Java JavaScript), JRuby (Java Ruby) nebo Jython (Java Python)
- Základní znalost jazyka HTML a XUL
Volitelný
- Znalost skriptovacího jazyka pro psaní logiky lepení (běžící na serveru):
- Objektově orientované programování
- Programování servletu
- Ajax
- JavaScript (na straně klienta)
- Deklarativní datové vazby
- Styl JSTL Výrazový jazyk
ZUML
ZUML (ZK User Interface Markup Language) je značkovací jazyk pro definici bohatých uživatelských rozhraní.
- ZUML je určen pro neprogramátory, aby mohli efektivně navrhovat uživatelská rozhraní s označením ZUML
- ZUML umožňuje vývojářům sloučit různé značkovací jazyky, například Mozilla Jazyk XUL a XHTML, bezproblémově na stejnou stránku.
- ZUML umožňuje vývojářům vložit skript v čistém jazyce Java (interpretováno BeanShell ) a použít EL výrazy pro manipulaci se součástmi a přístup k datům.
- ZUML je podporován ZK.
- Oficiální dokumentace: Reference ZUML
Technologie na straně klienta
ZK je serverově orientovaný rámec. Technicky nemusíte vědět o implementaci na straně klienta. Takto se provádí ZK Mobile běžící na Java Mobile VM.
Od ZK 5.0 tzv Server + klient Fusion[16] je zavedena architektura. Vývojářům je povolen přímý přístup k widgetům na straně klienta, pokud chtějí. ZK Client Engine je založen na jQuery.[17] Technicky můžete použít knihovny a widgety kompatibilní s jQuery.
Doplňky ZK
Grafy ZK
Grafická komponenta s API pro zobrazení a ovládání grafů ze strany serveru
Kontingenční tabulka ZK
Součást Ajax sumarizace dat
Tabulka ZK
Komponenta online webové tabulky. Nahrazen Keikai[18]
Viz také
- Seznam bohatých rámců internetových aplikací
- Porovnání rámců JavaScriptu
- Seznam rámců Ajaxu
- Seznam sad nástrojů pro widgety založených na JavaScriptu
Reference
- ^ A b „Poznámky k verzi ZK 9.5.0“
- ^ ZK 3 a starší verze jsou licencovány pod GPL.
- ^ Chen, Henri (2008). ZK - Ajax bez JavaScriptu. Apress. p. 125. ISBN 978-1-59059-901-3.
- ^ Staeuble, Markus (2008). Příručka pro vývojáře ZK. Packt Publishing. p. 184. ISBN 978-1-84719-200-4.
- ^ Van der Schyff, Andre (2009-03-31). „Pohled na rámce MVC“. ITWeb.
MVC frameworks provide limited functionality when compared to ZK, Echo and other Java Web frameworks.
- ^ „ZK Explorer“. Zkoss.org. Citováno 2010-08-25.
- ^ Massey, Simon. „Implementace vzorů grafického uživatelského rozhraní řízených událostmi pomocí rámce ZK Java AJAX“. www.ibm.com/. IBM. Citováno 5. července 2014.
- ^ „ZK - ZK Developer's Reference / MVC - dokumentace“. Books.zkoss.org. 2014-01-27. Citováno 2014-03-02.
- ^ „ZK - Small Talks / 2011 / listopad / Hello ZK MVVM - dokumentace“. Books.zkoss.org. Citováno 2014-03-02.
- ^ „ZK - Small Talks / 2011 / listopad / MVVM v ZK 6 - Vytvořte si svou první stránku MVVM - Dokumentace“. Books.zkoss.org. Citováno 2014-03-02.
- ^ „Lehké skriptování pro Javu“. BeanShell. Citováno 2014-03-02.
- ^ "Rhino | MDN". Mozilla.org. 09.08.2012. Citováno 2014-03-02.
- ^ „Home - JRuby.org“. Jruby.codehaus.org. 2014-02-25. Archivovány od originál 30. srpna 2009. Citováno 2014-03-02.
- ^ „Jython: Homepage“. Jython.org. Citováno 2014-03-02.
- ^ "Groovy - Domů". Groovy.codehaus.org. 18. 02. 2014. Archivovány od originál 2. března 2014. Citováno 2014-03-02.
- ^ Clare, Timothy (02.02.2010). „Server + klient Fusion: architektonický návrh“. Dr. Dobb.
Dobrá architektura architektury je flexibilní a umožňuje vývojářům a architektům implementovat jejich aplikace inteligentním a elegantním způsobem.
- ^ Mahajan, Sachin (2010-10-19). „Vylepšete vývoj Ajaxu spojením kódu jQuery, ZK a Java“. IBM developerWorks.
Sňatek mezi Java kódem na straně serveru a jQuery vám může pomoci při řešení problémů při vývoji podnikových aplikací Ajax.
- ^ https://www.zkoss.org/product/keikai - Tabulka ZK je nyní Keikai