Web frameworks v praxi



Podobné dokumenty
Web frameworks v praxi Tomáš Krátký

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

Web frameworks v praxi. František Řezáč

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

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

Platformy / technologie. Jaroslav Žáček

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

2012 ET NETERA a.s. Wicket přehled technologie Martin Strejc

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

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

Formy komunikace s knihovnami

Systémová administrace portálu Liferay

Web Frameworks Java Server Faces. Petr Aubrecht CA

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


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

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

Spring framework 2.0. Roman Pichlík CZJUG

Efektivní vývoj mobilních aplikací na více platforem současně. Mgr. David Gešvindr MCT MSP MCPD MCITP

Platformy / technologie. Jaroslav Žáček

INFORMAČNÍ SYSTÉMY NA WEBU

KIV/PIA 2013 Jan Tichava

Historie, současnost a budoucnost ASP.NET

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

Firemní profil FG Forrest

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

SPECIFIKACE PŘEDMĚTU PLNĚNÍ

Informační systém pro podporu řízení, správu a zjišťování aktuálního stavu rozvrhované výuky

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

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

Architektury informačních systémů

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

O autorech 13 O odborném korektorovi 13. Poděkování 15 Úvod 17. Cílová skupina této knihy 17 Témata této knihy 17

People Manager Komplexní řízení zdrojů a projektů jednoduše

Vhodnost nasazení jednotlivých webových architektur, sdílení dat, perzistence, webové služby a REST, asynchronnost, messaging

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

InternetovéTechnologie

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

Vývoj informačních systémů. Architektura, návrh Vzory: Doménová logika

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

Tvorba podnikových aplikací v jazyce JAVA. Josef Pavlíček KII PEF CZU

Server-side technologie pro webové aplikace

UNIVERZITA PARDUBICE

Novinky v oblasti SAP Mobility. Martin Zikmund, Presale Mobility Platforms Miroslav Řehoř, Account Executive

Architektury informačních systémů

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

Úvod do Groovy pro Java experty

(Enterprise) JavaBeans. Lekce 7

CineStar Černý Most Praha

Přehled technologií mapových serverů ve státní správě

Microsoft Office 2003 Souhrnný technický dokument white paper

Uživatelské hodnocení kvality a dostupnosti ICT služeb. Zbyšek Chvojka, Mylène Veillet

Web Services na SOAP

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

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

Architektura aplikace

Využití JBoss Fuse ve skandinávské energetice

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

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

Podnikový informační systém SAP

Programovací jazyky Přehled a vývoj

2013 IBM Corporation

Technologie Java. Jaroslav Žáček

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

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

Vývojařská Plzeň AngularJS

Tvorba informačních systémů

Celkem odpovědí 96. Oblasti Javy Java EE % Java SE % Java ME %

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

Sledování výkonu aplikací?

Od klasického reportingu k SAP BO Design studio na BW power by HANA Pavel Strnad

MYBIZ - Řešení pro zpřístupnění dat ze stávajících aplikací na mobilních zařízeních (Mobilize your business!) Požadavky zákazníka.

Drupal konference sobota,

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

PŘEHLED A MOŽNOSTI VYUŽITÍ WEBOVÝCH MAPOVÝCH SLUŽEB

Dodatečné informace k veřejné zakázce SDAT Sběr dat pro potřeby ČNB 3. série

Tvorba informačních systémů

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

Návrh optimalizace informačního systému

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

Přehled systému Microsoft SQL Server. Komu je kniha určena Struktura knihy Nejvhodnější výchozí bod pro čtení knihy Konvence a struktura knihy

Mobile application developent

Enterprise Java (BI-EJA) Technologie programování v jazyku Java (X36TJV)

Úvod do Web Services

Hlavní rysy produktu MapInfo Professional

Základní pojmy spojené s webovým publikováním ~ malý slovníček pojmů~ C3231 Základy WWW publikování Radka Svobodová, Stanislav Geidl

PHP Best Practices. Please try to fit your code to 80 columns. That's decimal 80. A. Morton

Zvýšení kvality IA s využitím nových technologií: Představení řešení IDEA - SymSure pro CCM

Geografické Informační Systémy 2007/ Kačmařík Vojtěch

Ing. Jiří Fůsek. Základní informace. Pracovní zkušenosti. Vzdělání. 09/ nyní Freelancer. 09/ /2010 Univerzita Tomáše Bati ve Zlíně

Databáze EMS podacích lístků

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

Domino 10 nové komponenty a související témata (node.js, ES )

Mgr. Jan Folbrecht Senior softwarový inženýr, softwarový architekt, manažer

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

Efektivní recruitment na sociálních sítích

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

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

Transkript:

Web frameworks v praxi Tomáš Krátký tomas.kratky@profinit.eu http://www.profinit.eu/cz/podpora-univerzit/univerzitni-vyuka

O čem to dnes určitě nebude Uţ víte, co je framework Uţ víte, proč jsou frameworks důleţité Znáte trochu z jejich historie Víte, co je Pipes&Filters, MVC,

O čem to dnes bude Seznámení Máme problém? Postup pro výběr frameworku Naši favorité Co si myslím já Diskuse

Seznámení

Přednášející Zaměření na J2EE, Web aplikace (vnitropodnikové i určené pro veřejnost) na platformě Java Moje zkušenosti Struts: od roku 2005 (v1.2.x) Tapestry: od roku 2005 (v3, v4, v5) JSF: od roku 2007 (v1.1, v1.2) Webwork Struts 2: experimenty v roce 2007 Spring MVC: experimenty v roce 2007 GWT (Google Web Toolkit): od roku 2007

Čerstvá zkušenost Projekt pro velký evropský finanční dům Existující rozsáhlá aplikace (tisíce stránek) typu internetového bankovnictví Mnoho klientů, nároky na výkon, dostupnost, Zastaralé technologie, sloţitý vývoj, Chceme to přepracovat! Do čeho? A jak?

Posluchači Co očekáváte od dnešní přednášky? Vaše zkušenosti s webovými aplikacemi Vaše platforma (J2EE,.Net, Rails, LAMP, )? Vaše zkušenosti s non-web frameworks? Spring, Hibernate, Vaše zkušenosti s web frameworks? Struts, JSF, Seam, Wicket, Stripes, GWT, Flex,

Máme problém?

domain Spring framework Naše typická architektura web web services business services data - access O/R mapping integration Database other services

Problém

Jak se rozhodnout?

Podstatná kritéria Typ frameworku vs. typ aplikace Snadný vývoj Dostupnost lidí/expertů na trhu Komunita spojená s projektem Budoucnost projektu (roadmap) Technické vlastnosti jiná?

Typy web aplikací Primárně View internetové aplikace s vysokou dostupností a poţadavky na škálovatelnost Typicky View&Write intranetové aplikace, obvykle určené pro omezenou mnoţinu lidí, obvykle se sloţitější business logikou Vysoce interaktivní internetové aplikace Produkty, udrţované po 5 10 let Legacy backend a další, pokud přestaneme zjednodušovat

Typy web frameworků Push-based frameworks (Request-based) Struts 1/2, Rails, Stripes, Pull-based frameworks (Component-based) JSF, Tapestry, GWT, ASP.NET, RIA frameworks Flex, OpenLaszlo, JavaFX, Microsoft Silverlight, Java Web Start,

Snadný vývoj Jak rychle pochopíte základní koncepty? Jak rychle se naučíte framework pouţívat? Minimalizuje framework nepříjemná překvapení? Pouţíváte-li uţ nějaký framework, liší se ten nový koncepčně?

Dostupnost lidí na trhu Jaká je dostupnost lidí se znalostí frameworku na trhu? Jaká je jejich kvalita? Jaká je jejich cena? Jaká je dostupnost expertů pro daný framework na trhu? Jaká je jejich cena?

Komunita Existuje společnost zaštiťující projekt? Seam (jboss), JSF (Oracle), ASP.NET (Microsoft) Jak je na tom mailing list? příliš mnoho problémů? příliš málo dotazů? relevantní odpovědi? Frekvence nových verzí? Vyuţití v reálném světe? Existují pro framework kvalitní knihy?

Budoucnost vs. údržba Jak ambiciózní jsou cíle projektu? Co zpětná kompatibilita? Je jedním z cílů vývojářů frameworku? Jsou jednotlivé verze zpětně kompatibilní? Existují jasné a přesné návody pro upgrade? Jak snadno lze framework testovat? Udrţí se framework minimálně několik let?

Technické vlastnosti Přecházíte-li z jiného frameworku Má nový vše, co jste ocenili v původním? Nebudou vám důleţité věci chybět?

Technické vlastnosti Vytváříte-li novou aplikaci Je to vývoj na zelené louce? Musíte se integrovat do existujícího prostředí? Neklade tato integrace na vás nějaká omezení? Neztíţí vám framework integraci? Nejsou vám všechny ty features na obtíţ? Není framework aţ příliš restriktivní? nelze ovládat Javascript, URL,

Podpora pro AJAX Integrace Javascriptu Bookmarking a URL Validace I18N View language Page decoration Testovatelnost Kvalita, chybovost Výkonnost jiné Technické vlastnosti

Srovnání http://bit.ly/jvm-frameworks-matrix

Srovnání

Důležité jsou VÁHY u jednotlivých kritérií!

Výkonnost?

Naši favorité

JSF Výhody JEE standard Široká podpora, stabilita Řada komponent, nástrojů, rozšíření Nevýhody JEE standard Performance, komplexnost Dokumentace, komunita

Výhody Spring MVC Jednoduchá konfigurace Bezproblémová integrace s mnoha view technologiemi (JSP, FreeMaker, Excel, ) Vynikající podpora pro REST Nevýhody Nemá zabudovaný instant reload (JRebel) Nemá otevřený vývojový proces (SpringSource) AJAX vyţaduje knihovnu třetí strany

GWT Výhody Píšeme Javu produkuje se optimalizovaný JS Snadno se učí a vyvíjí se standardními nástroji Velmi aktivní komunita Nevýhody Velice obtíţně testovatelné Pomalá kompilace Spíše knihovna komponent neţ framework

Tapestry Výhody Live Class reloading Vývoj klade velký důraz na výkonnost a stabilitu Vynikající reporting výjimek Nevýhody Ţádné nabídky práce Jako JS knihovnu natvrdo Prototype Anotace vs. Konvence

Výhody Grails Jednoduchý přechod pro Java programátory Groovy Pluginy pro celou řadu typů aplikací Nevýhody Studijní matriály cílené na Java vývojáře Stack traces Znalost frameworků, na kterých je vše postaveno je opravdu velmi uţitečná

Co si myslím já

Hlavní hráči

Java oriented

Budoucnost (2011++) Webové technologie jako základní platforma mobilní telefony, dotykové obrazovky, ipad, ipod, televizory, desktop (Adobe Air, Titanium, ) Konec IE6 (snad ) HTML5 (ale s problémy) Důraz na AJAX Méně inovací, více stabilizace

Nevěřte reklamním trikům Buďte opatrní při četbě (ne)kritických blogů Věřte vývojářům, nejlépe těm zkušeným, kteří framework pouţívají v produkci Všechno si sami vyzkoušejte Pokud váháte, zkuste pouţít více neţ jeden framework

Vybírejte s rozvahou Existují různé typy aplikací s velmi rozdílnými nároky! Vţdy je o aplikaci! Ţádný nástroj není univerzální! Něčí názor je prostě jen názor! Volte velké hráče! Udělejte prototyp jde vám to těţko? Zahoďte framework!

Děkuji za pozornost