2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc www.etnetera.cz 5.4.2012



Podobné dokumenty
Nástroje a frameworky pro automatizovaný vývoj. Jaroslav Žáček jaroslav.zacek@osu.cz

Servlety a JSP. Petr Adámek, petr.adamek@ibacz.eu

KAPITOLA 3. Architektura aplikací na frameworku Rails. V této kapitole: modely, pohledy, řadiče.

Komponentově orientované webové frameworky. Jiří Stránský twitter.com/jistr

Architektura aplikace

Technology Entry form Entry up-to-date? Internal links Faulty internal Possible internal links

Web frameworks v praxi

Semináˇr Java X J2EE Semináˇr Java X p.1/23

Snadný vývoj webových aplikací s Nette. Lukáš Jelínek

WEB KNIHOVNY JAKO NÁSTROJ K PROPAGACI SLUŽEB A INFORMACÍ ING. PAVEL CIMBÁLNÍK

Olga Rudikova 2. ročník APIN

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

PA165: Úvod do Java EE. Petr Adámek

<Insert Picture Here> Vývoj portálových řešení v Javě

MBI - technologická realizace modelu

Google Web Toolkit. Martin Šurkovský, SUR března Katedra informatiky

Systémová administrace portálu Liferay

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

Webové programování a Open Source. Open-source. Liberix o.p.s

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

KIV/PIA 2013 Jan Tichava

Platformy / technologie. Jaroslav Žáček jaroslav.zacek@osu.cz

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

Web frameworks v praxi Tomáš Krátký

Úvod. Petr Aubrecht (CA) Martin Ptáček (Wincor Nixdorf) Je 10 typů lidí: ti, kteří znají binární kód, a ti, kteří ne.

Úvod do problematiky vývoje Vývoj informačních systémů

Ing. Přemysl Brada, MSc., Ph.D. Ing. Martin Dostal. Katedra informatiky a výpočetní techniky, FAV, ZČU v Plzni

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

Bakalářská práce, FEL ČVUT Praha. Michal Turek. červenec 2007

Business Intelligence

DELTA - STŘEDNÍ ŠKOLA INFORMATIKY A EKONOMIE, s.r.o. Obor informační technologie AJAX ESHOP. Maturitní projekt. Třída:

Web Services na SOAP

Proces vývoje HRIS Vema (Human Resources Information System) Jaroslav Šmarda

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

1. Distribuce Javy. 2. Vlastnosti J2EE aplikace. 3. Fyzická architektura J2EE aplikace. Distribuce Javy se liší podle jejího zamýšleného použití:

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Řízení reálných projektů, agilní metodiky

Formy komunikace s knihovnami

Aplikační vrstva. Úvod do Php. Ing. Martin Dostal

Aplikace je program určený pro uživatele. Aplikaci je možné rozdělit na části:

Spring framework 2.0. Roman Pichlík CZJUG

Ruby on Rails. Bc. Tomáš Juřík Bc. Bára Huňková

Část IV - Bezpečnost 21. Kapitola 19 Bezpečnostní model ASP.NET 23

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Obsah. Úvodem 9 Zpětná vazba od čtenářů 10 Zdrojové kódy ke knize 10 Errata 10

Databáze EMS podacích lístků

SUTOL Symposium 2014

Obsah. Rozdíly mezi systémy Joomla 1.0 a Systém Joomla coby jednička online komunity...16 Shrnutí...16

KIV/PIA Semestrální práce

Základy databází. O autorech 17 PRVNÍ ČÁST. KAPITOLA 1 Začínáme 19

Ruby on Rails. VŠE, Jiří Hradil

Testování software. Jaroslav Žáček

Databázové aplikace pro internetové prostředí PHP úvod, základní princip, vkládání skriptu, komentáře, výpis na obrazovku

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové technologie

- 1 - Smlouva o dílo. uzavřená podle 536 a násl. obchodního zákoníku v účinném znění

INFORMAČNÍ SYSTÉMY NA WEBU

D R U P A L V O J T Ě C H K U S W O J T H A

Systém elektronického rádce v životních situacích portálu

Vývoj informačních systémů. Přehled témat a úkolů

Databázové a informační systémy

IS pro podporu BOZP na FIT ČVUT

Vývoj informačních systémů. Přehled témat a úkolů

Ruby on Rails: zapomeňte na Javu

Co se chcete dozvědět?

Mobile application developent

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Část 1 Moderní JavaScript

Manuál pro obsluhu Webových stránek

(Enterprise) JavaBeans. Lekce 7

GWT pro pokročilé. MoroSystems, s.r.o. Pavel Klobása. Senior Java Developer.

Maturitní témata Školní rok: 2015/2016

Co by měl umět dobrý vývojář. Petr Adámek Home Credit International a.s.

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Aplikace pro srovna ní cen povinne ho ruc ení

Webové programování je CHALENGE! Milan Čapoun, Samuel Šramko

MVVM pro desktop i web

Znalostní systém nad ontologií ve formátu Topic Maps

Tvorba informačních systémů

Tvorba informačních systémů

Webové stránky Webové aplikace WebDesign Internet Marketing VAFRO CMS MODUL REALITY

Jak se dělá sociální síť. Část 1- Implementace. Implementace, Startup, Motivace

Programování II. Třídy a objekty (objektová orientovanost) 2018/19

Redakční systém Joomla. Prokop Zelený

Dokumenty dle eidas v praxi Michal Vejvoda

Analýza a návrh webových aplikací I N G. M A R T I N M O L H A N E C, C S C. Y 1 3 A N W

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

HLEDEJCENY.mobi. Obsah. Mobilní verze e-shopu. Důvody instalace

================================================================================ =====

Ročníkový projekt. Jaroslav Žáček

Free and open source v geoinformatice. Příloha 3 - Praktické cvičení R Studio

Elektronická podpora výuky předmětu Komprese dat

Web. Získání informace z internetu Grafické zobrazení dat a jejich struktura Rozšíření funkcí pomocí serveru Rozšíření funkcí pomocí prohlížeče

Obsah. Úvod 11 O autorovi 11 Koncept knihy 11 Zpětná vazba od čtenářů 12 Zdrojové kódy ke knize 12 Errata 12 ČÁST I VÝVOJ MOBILNÍ APLIKACE

Připravil: Ing. Jiří Lýsek, Ph.D. Verze: Webové aplikace

X36ASS Dokumentace projektu. Firemní helpdesk se správou požadavků. Bc. Ondřej Brynda Bc. Petr Hůla

Jak udělat webový projekt

PHP PHP je skriptovací programovací jazyk dynamických internetových stránek PHP je nezávislý na platformě

Historie, současnost a budoucnost ASP.NET

Transkript:

Wicket přehled technologie Martin Strejc www.etnetera.cz 5.4.2012

Osnova přednášky 1. Vznik Wicketu 2. Co Wicket umí a co neumí? 3. Účely užití výhody a nevýhody 4. Rozšiřitelnost Wicketu 5. Srovnání s jinými technologiemi 6. Jak psát aplikace? 7. Malá ukázka Wicketu

Vývoj Jonathan Locke, 2004 Verze 1.0 uvolněna 2005, začlenění k Apache Udržovaná verze 1.4 Současná verze 1.5 (dost podobná 1.4) Chystá se 1.6 s radikálnějšími změnami

Přehled technologie 1. MVC framework 2. Komponentově orientovaný 3. Podobné technologie: JSF, Tapestry 4. Ideologicky blízký Swing (komponenty)

Co Wicket umí? 1. Generovat HTML, event. XML 2. Generovat formuláře, obsluhovat AJAX (vlastní implementace nebo jquery) 3. Perzistovat data (stránku, formuláře) 4. Starat se o integritu dat při zpracování formulářů 5. Generovat obrázky, další smíšený binární obsah 6. Konzistentně udržovat URL (vč. čistých URL)

Co Wicket NEumí? 1.Administrovat obsah (CMS) 2.Používat různé šablony vzhledu 3.On-line měnit obsah view vrstvy či funkčnost (ve srovnání s JSP nebo PHP, kde lze vyměnit konkrétní soubor) 4.Umístit kód do VIEW (HTML šablony) malá vyjímka: Apache Velocity

Výhody Wicketu 1.Relativně rychlé pochopení základních Komponent 2.Oddělenost HTML/markupu a kódu 3.Jednoduchá součinnost grafika (HTML/CSS) a Java programátora 4.Rozsáhlá modifikovatelnost libovolné komponenty nebo chování frameworku 5.Dobrá řetězitelnost od abstraktního chování k implementacím, přehledné dědění od existujících komponent 6.Validní HTML/XML

Výhody Wicketu 2 1. Vysoká kompaktnost datového modelu a dobrá udržitelnost dat 2. Jednoduché zpracování a validace formulářů, včetně wizardu (vícekrokový formulář) 3. Jednoduchá implementace AJAXu (built in) 4. Podpora integračních testů (Wicket tester) 5. Knihovny 3. stran 6. Integrace s dalšími frameworky (Spring/MVC) 7. Podpora v IDE (Eclipse - qwickie)

Srovnání technologií - vhodnost 1. Webové aplikace, intranet Wicket 2. Veřejné weby, portály s vysokou návštěvností CMS, Spring MVC, PHP 3. Agilní vývoj Ruby on Rails, jiné technologie

Rychlost a výkon 1. Nic se nekompiluje za běhu (viz JPS, PHP) 2. Více paměti sporná doměnka http://ptrthomas.wordpress.com/2009/09/14/perfbenchupdate-tapestry-5-and-grails/

Další knihovny 1. Wicket extensions (přímo s Wicket) 2. Wicketstuff, contrib... (GMAP, jquery) 3. Integrace se Spring (Spring Core, Spring MVC, Spring Security) 4. Možnost další integrace s obecným servletem 5. Možnost dopsat další vlastní knihovny... vždy je třeba myslet na udržitelnost kódu

Dělám projekt ve Wicketu 1.Ujistím se, že v týmu mám někoho, kdo již Wicketu rozumí (a nenalzene překážky) 2.Dobře promyslím datový model (DB a Java) 3.Navrhnu vrstvy aplikace, aby byla testovatelná 4.Promyslím integraci se Spring (event. Spring Security, Spring MVC) a dalšími knihovnami 5.Napíšu aplikaci 6.Napíšu testy!!! (JUnit, Wicket) 7.Fakturuji zákazníkovi :-)

Dodržuji násedující pravidla! 1. Vícevrstvá aplikace, čistý kód 2. Recykluji panely a opakující se kód 3. Dávám pozor na křížové závislosti (Wicket, DAO, model, entita, servlet) 4. Píšu testy! 5. Čtu dokumentaci (nepíši znovu již napsané) 6. Knihovny 3. stran používám s rozumem

Na co si dát pozor? 1. Opakující se kód! 2. Opakující se markup (šablona, HTML) 3. Nic není bezchybné, ani Wicket 4. JS a AJAX pozor na verze prohlížeče 5. Používání návrhových vzorů (singleton)

Jak to funguje? 1. Wicket je servlet, který poslouchá na určité URL a dodává data 2. Každé view je reprezentováno kódem (HTML/markup), který se načte a sestaví kód výsledný pomocí kontroleru (funguje vkládání panely, fragmenty) 3. Data jsou reprezentována nejčastěji modelem IModel<T> 4. Vpodstatě to vypadá opravdu jednoduše

Závěr o Wicketu 1.Dobrá technologie, zejména pro aplikace 2.Vyžaduje specifický přístup k vývoji 3.Dává řadu možností pro jednoduchý vývoj kvalitních a testovatelných Java aplikací 4.Při rozhodování o projektu je třeba rozmyslet, zda je Wicket vhodný posoudit účel

Dotazy 1....? 2....? 3....? 4....? Děkuji za pozornost :-) www.etnetera.cz/akce

POZDRAV OD EJČ-ÁRA Ahoj všem, jsem rád, že jste dneska přišli na náš seminář na téma "Apache Wicket. Nemohl jsem být až do konce a proto budu rád, když mně pošlete zpětnou vazbu jak se vám to dnes líbilo, co bychom měli do příště zlepšit. hr@etnetera.cz.

POZDRAV OD EJČ-ÁRA Zároveň budu moc rád, pokud dorazíte příště, takže neváhejte sledovat náš web: http://www.etnetera.cz/cz/akce V případě informací o pracovní spolupráci, se podívejte na web: www.etnetera.cz nebo prostě napište na hr@etnetera.cz. Těšíme se na další shledání Ejč-ár a tým Et netera.