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



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

Responzivní web. Co je mobilní verze webové stránky?

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

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

Generování žádostí o kvalifikovaný certifikát a instalace certifikátu Uživatelská příručka pro prohlížeč Internet Explorer

Platformy / technologie. Jaroslav Žáček

Základní informace pro uživatele webových aplikací IISPP 1. Podporované prohlížeče

PŘÍPADOVÁ STUDIE. Nakladatelství. Fraus. Konsolidace webů

OBSAH. Předmluva 13 Poděkování Přehled dnešního vývoje webů Design pro minulost, přítomnost i budoucnost 33

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

Maturitní témata z předmětu PROGRAMOVÉ VYBAVENÍ pro šk. rok 2012/2013

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

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

Kentico CMS. Hledáte rychlý, snadný a efektivní způsob jak si vytvořit firemní web? Dál už hledat nemusíte. Snadné použití pro marketéry

Platformy / technologie. Jaroslav Žáček

Mobile application developent

PLATFORMY / TECHNOLOGIE JAROSLAV ŽÁČEK

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

KIV/PIA 2012 Ing. Jan Tichava

Systém pro správu experimentálních dat a metadat. Petr Císař, Antonín Bárta 2014 Ústav komplexních systémů, FROV, JU

Vývojařská Plzeň AngularJS

Efektivní řízení rizik webových a portálových aplikací

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ě

Bezpečnost webových aplikací

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

Individuální projekt z předmětu webových stránek Anketa Jan Livora

Návod k vydání kvalifikovaného certifikátu společnosti První certifikační autorita, a.s.

Generování žádostí o certifikát Uživatelská příručka pro prohlížeč Apple Safari

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

Ruby on Rails: zapomeňte na Javu

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

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

Správce financí. Objevte způsob, jak ušetřit každý měsíc. až Kč. Správce financí od společnosti Home Credit a jejích partnerů.

NÁVOD jak na webinář přes WizIQ

Redakční systém pro skautské weby Poptávka

INTERNETOVÉ BANKOVNICTVÍ

DATA ARTICLE. AiP Beroun s.r.o.

Část 1 Moderní JavaScript

Metodiky pro automatické testování webové aplikace. Ondřej Melkes, Martin Komenda

INTERNET. Vypracoval: Mgr. Marek Nývlt

Chybová hlášení při pokusu o vstup do aplikace

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

1 z :21

1 z :17

14,819 (5.84 Stránky/Návštěva) Čvn Kvě Čvc Srp 2014

Grantový portál - príklad modernej webovej aplikácie. Juraj Červeň Softec

MVVM pro desktop i web

Bioadresář. Specifikace požadavků. Verze Datum Projektový tým Bc. Martin Ventruba Bc. Ondřej Veselý Bc. Stratos Zerdaloglu

Kromě dodávek celých webů nabízíme také zakázkové programátorské práce formou subdodávek. GlobalDAT a.s. Předseda představenstva:

Zranitelnosti webových aplikací. Vlastimil Pečínka, Seznam.cz Roman Kümmel, Soom.cz

Statická analýza kódu - za kód bez chyb

IPv6 na serveru Co by měl administrátor znát... Stanislav Petr

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

SDÍLENÍ VAŠÍ OBRAZOVKY SE STUDENTY, KTEŘÍ SE PŘIPOJUJÍ Z PROHLÍŽEČE

Zadání CRM systému pro firmu Ecoli s.r.o.

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

Identifikátor materiálu: ICT-3-55

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

Aleš Rybák, Jiří Kadlec. Pluginy budoucnosti

Server-side technologie pro webové aplikace

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

Redakční a informační systém pro správu měst a obcí

Statistica, kdo je kdo?

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

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

Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Jihlava

Proč Angular JS framework?

Nový Node Monitor. 13. prosince Lukáš Turek Praha12.Net

CZ.1.07/1.5.00/

Uživatelský manuál Radekce-Online.cz

Cloudové řešení pro ŠKODA AUTO

ARBES mytrader MODERNÍ INTUITIVNÍ OBCHODNÍ PLATFORMA určená pro profesionální i začínající investory.

Použití PostgreSQL v. P2D Martin Swiech

AEC, spol. s r. o. Bezpečnostní incidenty v IT v ČR příklady z praxe firem. Tomáš Strýček Internet & Komunikace Modrá

HMI * nad webovými technologiemi

MBI - technologická realizace modelu

DUM č. 11 v sadě. 36. Inf-12 Počítačové sítě

1. Dříve než začneme Trocha historie nikoho nezabije Co budete potřebovat Microsoft versus zbytek světa...

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




Specifikace. Odevzdání do

KSRZIS. Příručka pro externí žádost registru PIVO pro provozovatele. Projekt - ereg - Úprava rez ortních registrů a konsolidace rez ortních

OMO Patterny pro UI. Základy UI - HTML, DOM, JavaScript, CSS. Single Page Application

Interaktivní portál pro jazykovou výměnu a výuku jazyků

Úřad vlády České republiky Odbor pro sociální začleňování (Agentura)

Jak importovat šablony tiskových sestav do aplikace MarkTime PORTAL. Administrační manuál Bellman Group, s.r.o. 2007/09/23 verze 1.

Přesunutí poštovní schránky ze stávajícího serveru do systému MS Exchange si vyžádá na straně uživatele změnu nastavení poštovního klienta.

Web frameworks v praxi

programátor vs. vývojář

DODATEČNÉ INFORMACE Č. 1 K ZADÁVACÍM PODMÍNKÁM PŘESHRANIČNÍ INFORMAČNÍ SYSTÉM PRO PŘEDCHÁZENÍ A ŘEŠENÍ POVODNÍ A DALŠÍCH KRIZOVÝCH SITUACÍ

Ing. Mgr. Jiří Svoboda ICT Kurzy

Manuál pro používání Google Apps

UŽIVATELSKÁ DOKUMENTACE PRO DODAVATELE. Stav ke dni v. 2.0

Transkript:

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

Představení Milan Čapoun Šéf vývoje webových aplikací v Cleverlance a.s. Samuel Šramko Senior vývojář webových aplikací v Cleverlance

Agenda Co je to webová aplikace? Proč to dělat jednoduše, když to jde i složitě Různé oblasti dovedností, aneb to vše musím umět? Což takhle dát si Angular? Client side vs. Server side Výkon, HA, Bezpečnost, Přenositelnost Clever Akademie Otázky a odpovědi

Cleverlance Enterprise Solutions, a.s. člen skupiny Cleverlance Group Praha Hradec Králové České Budějovice Brno Jeden z největších poskytovatelů IT služeb Ryze česká společnost Bratislava

Co jsou webové aplikace? Aneb kdo nikdy nezkusil?

Vývoj webové aplikace je 1.HTML 2.CSS 3.JavaScript

Webové aplikace v enterprise sféře

Web Server Java Spring Hibernate Cloudová Služba (Google) SQL Webový prohlížeč HTML / CSS JavaScript Angular Backend systém DMS CRM Billing Apod. Databáze

Webové aplikace JDE psát jednoduše a rychle! Proč to tedy dělat složitě?

Protože

Enterprise aplikace mají požadavky Na výkon co když o Vánocích klikne 10.000 lidí naráz? Na bezpečnost co když se mi dostanou do internet bankovnictví? Na high availibility co když potřebujeme systém na hodinu odstavit? To nám utíkají peníze Na udržovatelnost Po vaší poslední malé opravě přestaly komplet fungovat objednávky!

Dříve platilo Veřejné portálové stránky musejí být krásné a poutavé Podnikové Enterprise aplikace můžou být hnusné (nikomu to neříkejte, ale je to tak )

A tak se to komplikuje Webové aplikace se musejí vyvíjet s dodržením design patternů Musejí respektovat zásady bezpečného programování (TOP 10 OWASP) Musí být navrženy s ohledem na výkon V hodně věcech vám pomůžou framewroky ale musíte je umět! A ještě ke všemu musejí být hezké!!!

Různé skilly webového vývoje Java Kreativní design / UX Angular Photoshop HTML / CSS / JS

Kreativní design / UX

Photoshop

Photoshop řezání grafiky

HTML / CSS / JavaScript + = +

Angular nebo jiný FrontEnd Framework Tohle už je skutečné programování

Java nebo jiný middle/backend jazyk

Java nebo jiný middle/backend jazyk

Java a frameworky a nástroje JSF, Wicket, Vaadin, Spring Ve skutečnosti celá rodina frameworků Hibernate Log4j Atd. - Obrovské množství Open source Maven - build JUnit - test Jenkins CI Atd. - Obrovské množství Open source

Tohle všechno je třeba umět! Java Kreativní design / UX Angular Photoshop HTML / CSS / JS

Angular + HTML / CSS

Ukázka Angular Aneb ať chvilku mluví taky ten, kdo tomu opravdu rozumí ;-)

Náročnost vývoje S rozsahem webové aplikace rychle roste náročnost jejího vývoje Rozsah a funkčnost webové aplikace

Není mezi vámi zájemce? Řekněte komukoli, koho by mohlo zajímat

FrontEnd Client side vs. Server side Dosud jsme mluvili hlavně o JavaScript/Angular = Client side Další frameworky: Ember.js Backbone Meteor

FrontEnd Client side vs. Server side Jiné přístupy jsou orientované více Server side frameworky: JSF Wicket Vaadin Řada dalších

Server side Samozřejmě NAKONEC jde zase o HTML/CSS/JS v prohlížeči Ale vývojář primárně nepíše HTML/JS kód, primárně programuje v Javě Z tohoto Java kódu až framework vygeneruje cílový HTML/CSS

Server side proč takhle? Motivace byla taková, že stačí mít pouze Java programátory Nebude nutné mít zvlášť know how HTML/CSS/JS (to vygeneruje framework)

Trendy ve vlnách Server Side Klient Side 2005 ; Wicket 2010 2015 Angular

A aby to nebylo tak jednoduché

Podpora v různých prohlížečích Internet Explorer 6-11, Chrome, Firefox, Safari,

Web na mobilu Dnes je i jisté automatické očekávání, že web bude rozumně dostupný i z mobilu Responzivní design Něco řeší frameworky (Bootstrap, ) ale NENÍ TO ZADARMO!

Pozor na použití session Některé Frameworky (hlavně server side) zakládají automaticky session Pokud se to stane na HomePage a jde o navštěvovanou stránku, obrovsky naroste aloakce paměti Přitom úplně zbytečně, na HomePage nikdo session nepotřebuje. Těch, co poračují v aplikaci dále (s použitím session) je jen zlomek těch, co přijdou na HomePage

Když zákazník říká nechci tam captcha Roboti si vás najdou ;-) Několik tisíc robotických registrací rozeslalo několik tisíc SMS na existující telefonní čísla

Za chyby se platí. Doslova!!!! Důležitost konfirm dialogů Třeba převodní příkaz, co když si uživatel splete políčko pro částku s políčkem pro variabilní symbol?

Nespoléhejte jako vývojáři FrontEnd, že ti na BackEnd vše ošéfují Například, že každá backend metoda v rozumném čase vrátí výsledky Příklad nedávná kauza s registrem vozidel Backendy měly někdy pomalé odezvy. Ale na FE NEBYL timeout = zamrzla celá aplikace a nebylo možné nijak pokračovat

Neřešit bezpečnost je nebezpečné! TOP 10 OWASP Například SQL injection Co když někdo do vyhledávacího formuláře napíše OR 1=1 Výsledek: SELECT FROM Objednavky WHERE userid=123 OR 1=1 Moderní frameworky toto řeší za vás (ale musíte je umět)

Týká se nás clustering? Clustering je nutný z důvodů Výkonostních a/nebo High availibility Vývojář FE většinou nemusí řešit. Ale pozor co když si například něco uložíte na filesystem?

Týká se nás clustering? Soubor.txt Soubor.txt

Webové programování je CHALENGE!

Není mezi vámi zájemce? Řekněte komukoli, koho by mohlo zajímat

Otázky a Odpovědi