Přednáška v PDF.
Transkript
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
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í...
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ý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...
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...
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...
mozilla - CrazyDog
Mozilla Perú. Mozilla®, Firefox® a všechna ztvárněná loga jsou majetkem společnosti Mozilla Foundation.