Přednáška v PDF.

Transkript

Přednáška v PDF.
Pokročilý vývoj aplikací
alias závěrečný rozcestník
Webové aplikace, LS 2013, KS
O ÚROVEŇ VÝŠ =
= FRAMEWORK & DESIGN PATTERN
Nevýhody práce „from scratch“
• Objevování objeveného
• V PHP typicky práce bez objektů
• Špatná rozšiřitelnost v budoucnosti
– „A teď to udělejte anglicky“
– „A teď přidejte PDF výstup“
– „A nyní výstup pro smartphone a malý displej“
• Pomalý vývoj
• Začátečnické chyby, hledání chyb
• Nepřenositelný vývoj – jste vázáni na autora
Framework
• Vnutí pravidla pro práci, dobrá přenositelnost kódu
(=změna v týmu apod.)
• Objektový návrh
• Šablony
• Rozšiřitelnost: knihovny a doplňky
• Podpora pro návrhové vzory
• Podpora pro databáze:
– Typicky ORM a podpora pro časté DB
• Bezpečnost:
– Ladící nástroje součástí FW, lepší odladění během vývoje
– Celkově méně chyb – vývoj výsledek komunitní práce
Možné nevýhody
• HW náročnost
• Snížení rychlosti
• Křivka učení
MVC pattern
Front controller
(HTTP req)
Controller
(zpracování req)
Kód generující
výstup (ve formátu
HTML, XML, JSON)
Data &
business logika
Zdroj obrázku: http://www.zdrojak.cz/clanky/prezentacni-vzory-zrodiny-mvc/
MVP Pattern
Aplikační a
prezentační logika
Jako MVC +
zpracování vstupu
(volá funkce P)
Data &
business logika
Zdroj obrázku: http://www.zdrojak.cz/clanky/prezentacni-vzory-zrodiny-mvc/
Nette
•
•
•
•
•
•
•
•
•
Ladící nástroje („Laděnka“)
Česká dokumentace a komunita
Dobrý výkon
Dobrá křivka učení
Obrana proti XSS
MVP
Latte: šablonovací systém a makra
Produkční vs. debug režim – ideální pro vývoj
Ukázka: latte šablona vs. PHP
Zend
•
•
•
•
•
•
•
Plnohodnotné MVC
Dobrá dokumentace
Světově jeden z nejčastějších (od tvůrců PHP)
Editor ZendStudio (trial zdarma)
Pro databáze PDO
Ukázka: jednoduchá aplikace
Ukázka: srovnání dalších FW
DALŠÍ ZAJÍMAVÉ TECHNOLOGIE
Prohlížeč jen jako terminál
Abtraktní vrstva
nad HTML/JavaScriptem
Perl
extJS
JSF
ASP
SproutCore
Django
PHP
CGI
GWT
Cappucino
jQuery
closure
Práce s DOM
Zdroj: Seminář web inkognito 2012,
Ladislav Prskavec, Angular JS
Jiné jazyky
• Django
– Python
– ORM, šablony, cache, internacionalizace…
– Mj. výstup v PDF
• Rails
– Ruby
– Konvence má přednost před konfigurací = Nastavujeme
pouze to, co se liší od výchozí konfigurace
– http://blog.karmi.cz/2007/6/16/co-je-ruby-on-rails-cast-2
• Catalyst = Perl
JavaScript a DOM
• JQuery
– Knihovna (framework) v JavaScriptu
– Rychlé hledání a úpravy elementů v DOM
– Selektory z CSS nebo XPath
– Ukázka: článek na intervalu
• Closure
– Knihovna v JavaScriptu pro DOM od Google
– Dokumentace, rychlost
– Steigerwald a Hnídek doporučují ;)
Svět nad JavaScriptem
• Cappucino
– ObjectiveL – superset of JavaScript
– Přidává plnou objektovost do JavaScriptu (třídy,
dědičnost atd.)
• SprouteCore
– Šablony RHTML + JavaScript
– RubyServer, výstupem HTML+JavaScript
VÝSTUPNÍ SESTAVY DO PDF
Možné scénáře
• Přímý výstup do PDF přes knihovny
• Framework a doplňky
• Oddělení aplikační a prezentační vrstvy
(nejčastěji přes XML a XSLT)
• Jiný jazyk než PHP:
– JasperReports library (Java)
mPDF
• Knihovna, generuje PDF z HTML
• http://www.mpdf1.org
• Ukázka faktury:
– http://mpdf1.com/manual/index.php?tid=366
• Ukázka: kód mPDF
Eciovni
•
•
•
•
Doplněk pro nette framework na tvorbu faktur
http://addons.nette.org/cs/eciovni
Používá mPDF pro tvorbu PDF
Ukázka: PDF Faktura
FPDF
•
•
•
•
Knihovna pro PHP
http://fpdf.org i česká verze http://fpdf.cz
Dnes spíš na ústupu
Ukázka: Kód
ZendPDF
• Balíček pro Zend2
• https://github.com/zendframework/ZendPdf
JasperReports
• Knihovna pro Javu pro výstupní sestavy
• Zpočátku zdarma (LGPL)
Zdroj obrázku: http://www.java.cz/article/6795
XML do různých výstupů
1. Vlastní, pro aplikaci navržený XML dialekt
zachycující strukturu dat (generuje aplikace,
např. dynamicky)
2. Sada definovaných výstupů v různých
formátech (PDF, HTML…)
3. Šablony pro převod XML do výstupů (XSLT)
Cocoon, Apache FOP
• Cocoon – framework pro Apache pro aplikace
stojící nad XML
• Java (Spring Framework) & MVC based design
• Umí SQL, LDAP a výstupy
• Apache FOP: procesor pro formátovací objekty
– Výstup v PDF, RTF, TXT, PNG…

Podobné dokumenty

Vyuºití JavaScriptových knihoven - ExtBrain

Vyuºití JavaScriptových knihoven - ExtBrain Součástí projektu jQuery je knihovna jQuery UI [15] nabízející snadné použití vizuálních efektů, widgetů pro uživatelské rozhraní a skinovací framework. jQuery UI využívá knihovnu jQuery a je na ní...

Více

Diplomová práce

Diplomová práce Metod a aplikací na převod do PDF je mnoho. Dokumenty, tabulky, formuláře, to vše a mnoho dalšího se dnes převádí do tohoto univerzálního formátu. V diplomové práci chci poukázat na další možnou ap...

Více

Výstavba datového skladu s použitím open source

Výstavba datového skladu s použitím open source S rostoucím množstvím podnikových dat přestává být doména BI (Business Intelligence) záležitostí pouze velkých korporací. I manažeři malých a středních firem mohou opřít svoje rozhodování nejen o s...

Více

Blokování internetu - European Digital Rights

Blokování internetu - European Digital Rights weby, obsahující pouze ilegální materiál. Údaje britské IWF6) (Internet Watch Foundation, Nadace pro dohled nad internetem) ukazují, že počet domén hostujících ilegální materiál se v posledních 4 l...

Více

Galda

Galda Standard Edition (SE) – základní verze KillBill Edition – obsahuje Wine, DOSBox a QEMU. Server Edition – obsahuje DNS, DHCP, SMB, HTTP, FTP, MySQL, SMTP, POP3, IMAP, SSH, atd. Popcorn Edition – vej...

Více

Votrok cup – rozpis

Votrok cup – rozpis VETERANS FANS : LEGIA PARTIZANS

Více

mozilla - CrazyDog

mozilla - CrazyDog Mozilla Perú. Mozilla®, Firefox® a všechna ztvárněná loga jsou majetkem společnosti Mozilla Foundation.

Více