1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)



Podobné dokumenty
HTML - Úvod. Zpracoval: Petr Lasák

HTML Hypertext Markup Language

Tvorba webu. Úvod a základní principy. Martin Urza

Tvorba WWW stránek. Mojmír Volf

PHP framework Nette. Kapitola Úvod. 1.2 Architektura Nette

(X)HTML, CSS a jquery

Vývoj Internetových Aplikací

Základy informatiky. HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

Úvod do tvorby internetových aplikací

Hlavička dokumentu. mezi <head> a </head> obsahuje informace vztažené k dokumentu metadata <title> - název stránky, povinná párová značka

Úvod do aplikací internetu a přehled možností při tvorbě webu

Inovace výuky prostřednictvím šablon pro SŠ

Základy programovacího jazyka HTML. Autor: Ing. Jan Nožička SOŠ a SOU Česká Lípa VY_32_INOVACE_1133_Základy programovacího jazyka HTML_PWP

INTERNET A SÍTĚ. Role při tvorbě webových aplikací. Rozhodovací vrstvy při tvorbě webových aplikací. povrch kostra struktura obsah strategie

Základy informatiky. 03, HTML, tvorba WWW stránek. Daniela Szturcová Část převzata z přednášky P. Děrgela

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

WWW a HTML. Základní pojmy. Ivo Peterka

HTML - pokračování. Co už víme?

IS pro podporu BOZP na FIT ČVUT

10. SEO Obsah meta, konkrétní elementy v html kódu. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

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í

Základy WWW publikování

Tvorba webových stránek

Základy informatiky. 03 HTML, tvorba webových stránek. Kačmařík/Szturcová/Děrgel/Rapant

Webová grafika, struktura webu a navigace, použitelnost a přístupnost

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

APLIKACE XML PRO INTERNET

INFORMAČNÍ SYSTÉMY NA WEBU

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

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

<link> - definuje vztah k jiným XHTML dokumentům, typicky

ANOTACE nově vytvořených/inovovaných materiálů

Návrh stránek 4IZ228 tvorba webových stránek a aplikací

Název modulu: Tvorba webu pomocí XHTML a CSS začátečníci

Webové stránky. 2. Úvod do jazyka HTML. Datum vytvoření: str ánk y. Vytvořil: Petr Lerch.

Uspořádání klient-server. Standardy pro Web

Inovace výuky prostřednictvím šablon pro SŠ

TNPW1 Cvičení aneta.bartuskova@uhk.cz

Odkazy se v normálním případě podtrhávají samy, není nutno to nastavovat.

NSWI096 - INTERNET. Úvod do HTML

ŠKODA Portal Platform

Š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

IE1 jazyk HTML a kaskádové styly

Název: VY_32_INOVACE_PG4116 SEO, standardy, sémantika kódu, přistupnost

Internet 2 css, skriptování, dynamické prvky

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

KIV/PIA 2012 Ing. Jan Tichava

IE1 jazyk HTML a kaskádové styly

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

Obsah. Stručná historie World Wide Webu 7

Úvod do tvorby internetových stránek v jazyce HTML

HTML XHTML JavaScript PHP ASP.Net Zajímavé odkazy

Architektura aplikace

Kurz je rozdělen do čtyř bloků, které je možné absolvovat i samostatně. Podmínkou pro vstup do kurzu je znalost problematiky kurzů předešlých.

(X)HTML-TAGY. VOŠ a SŠT Česká Třebová

Nové přístupy tvorby web site. Doc. Ing. Zdeněk Havlíček, CSc. KIT PEF CZU - 13/11/2001

Kapitola 1 První kroky v tvorbě miniaplikací 11

Kartografická webová aplikace. Přednáška z předmětu Počítačová kartografie (KMA/POK) Otakar Čerba Západočeská univerzita

3 MOŽNÉ PŘÍSTUPY K TVORBĚ APLIKACÍ NAD SVG DOKUMENTY

22. Tvorba webových stránek

14. Jazyk HTML (vývoj, principy, funkce, kostra stránky). Jazyk XML, XHTML. Algoritmizace - cyklus for, while a do while, implementace v jazyce

Olga Rudikova 2. ročník APIN

Střední odborná škola a Střední odborné učiliště, Hořovice

MODERNÍ WEB SNADNO A RYCHLE

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

(X)HTML. Internetové publikování

Název DUM: VY_32_INOVACE_2B_14_ Programovací_jazyk_HTML

Tvorba webových stránek

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Úvod do CSS. Střední škola informatiky, elektrotechniky a řemesel Rožnov pod Radhoštěm. Modernizace výuky s využitím ICT, CZ.1.07/1.5.00/34.

Wichterlovo gymnázium, Ostrava-Poruba, příspěvková organizace. Maturitní otázky z předmětu INFORMATIKA A VÝPOČETNÍ TECHNIKA

Obsah. Úvodem 11 Komu je kniha určena 11 Forma výkladu 12 Cvičení a příklady ke knize 12

Mgr. Vlastislav Kučera přednáška č. 1

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

<html> - párový tag, uzavírá celý dokument <head> - párový, určuje hlavičku dokumentu <body> - párový, uzavírá tělo dokumentu Př. Základní struktura

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Mgr. Stěpan Stěpanov, 2013

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

Návrh webové prezentace. Internetové publikování

13. Vytváření webových stránek

Základy HTML (2. přednáška)

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

Základy webových aplikací ZWA Přednáška č. 2 HTML. Martin Klíma

1. Začínáme s FrontPage

Jazyky XHTML, DHTML, CSS a WML

Střední odborná škola a Střední odborné učiliště, Hořovice

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

Název modulu: XHTML a CSS pokročilé techniky tvorby webových stránek

Tvorba webových stránek

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

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

PŘÍRUČKA. Správa obsahu webové prezentace. Formátování textu

Zadání maturitní práce ve školním roce 2016/2017

Čtvrtek 11. dubna. Základy HTML. Obecná syntaxe HTML. Struktura HTML

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

Správnost XML dokumentu

TNPW1 Cvičení

SEZNAM VZDĚLÁVACÍCH MATERIÁLŮ - ANOTACE

Transkript:

1. Struktura stránky, zásady při psaní kódu, MVC pattern Web pro kodéry (Petr Kosnar, ČVUT,

Obsah } Terminologie } Prezentace x Obsah } Struktura kódu } Sémantika kódu } Struktura stránky } Šablony } Template engine } MVC pattern } Další zdroje informací 2

Terminologie } Doména jednoznačné jméno počítače nebo serveru na internetu. (např. www.cvut.cz ) } Dělí se na několik řádů. Národní a mezinárodní koncovky jako.cz,.sk,.com,.org a další jsou tzv. TLD (top level domain), neboli domény prvního řádu. Domény ve tvaru cvut.cz je druhého řádu, fjfi.cvut.cz je třetího řádu, atd. } URL -(uniform resource locator) je řetězec s určitou strukturou, který slouží k určení umístění zdrojů (dokument nebo služba) na internetu. } definuje doménovou adresu, umístění na serveru, protokol a parametry. (např. http://en.wikipedia.org:80/w/wiki.phtml?title=pork&action=edit) } Web ucelený soubor dokumentů (obvykle HTML stránek) dostupný pod určitou doménou nejnižšího řádu (např.všechny stránky a dokumenty dostupné pod adresou www.cvut.cz) } Stránka jedna konkrétní HTML stránka nebo dokument. Stránka je fragment webu. (např. http://www.cvut.cz/cs/ao/vedeni-cvut ) 3

Prezentace Obsah } Každá webová stránka se dá rozdělit na dvě části Prezentační a obsahovou } Obsah } Co chce stránka sdělit } Text, tabulková data, grafy, fotografie, audio a video nahrávky... } Prezentace } Jakou formou to chce stránka sdělit } Grafické prvky, CSS, fonty, barvy, obrázky bez obsahové důležitosti (ozdobné prvky), layout stránky (rozložení jednotlivých částí)... 4

Struktura kódu Snaha o... } Oddělení prezentace od obsahu } Vzhled definovaný jen pomocí CSS } Obsah jen v (X)HTML } Maximální stručnost kódu, eliminace obsahově nedůležitých prvků využívaných jen pro prezentaci } Sémanticky správný kód } Navigace a funkční prvky stránky nezávislé na platformě, prohlížeči, uživatelkém nastavení } Funkční menu bez javascriptu, odpovídající alternativní texty k důležitým obrázkům... } Plná použitelnost stránky bez prezentační části } s vypnutými styly, obrázky, javascriptem } Snadno stylovatelný (X)HTML kód 5

Struktura kódu prakticky } Nepoužívat elementy <font>, <blink>, <center>, <marquee>... A další, čistě prezentační, které nemají obsahový význam } Nepoužívat atributy color, align, width, height... (do CSS) } Pro tvorbu layoutu používat jako obalové prvky jednotlivých bloků prvek <div> } Nepoužívat <br />, případně a pod. Pro účely odsazení } Upřednostňovat strukturální prvky (ul, dl...) } Elementům přiřazovat odpovídající identifikátory pomocí atributů class a id. } Identifikátory pojmenovávat podle významu či smyslu, ne podle vzhledu, který daný prvek má (žádné levy-sloupec, zelenynadpis, atp. Místo toho raději hlavni-nadpis, primarni-menu ). V případě změny vzhledu či umístění elementu v layoutu stránky by byl název zavádějící. 6

Sémantika kódu } Sémantika je nauka o významu slov, znaků a symbolů } Sémantika kódu (například (X)HTML) popisuje význam jednotlivých tagů a jejich určení. } Např. <p> značí odstavec, <h1> nadpis nejvyšší urovně (a důležitosti). } Sémanticky správný kód je založen na následujících zásadách: } Nepoužívat prezentační kód v (X)HTML (K tomu jsou určené kaskádové styly) } Používat významově vhodné tagy. Neřídit se jejich implicitním vzhledem, ale významem! (tedy například <cite> použít pro citace, i v případě, kdy nechceme, aby byl jejich text odsazený a v kurzívě to lze upravit pomocí CSS) 7

Sémantika kódu - prakticky } Každý tag má nějaké určení. <h1> je určený pro nadpisy první úrovně (nejdůležitější), <p> pro odstavec, atp. } Každý odstavec tedy uzavřít do prvků <p> a </p> místo souvislého toku textu v jednom bloku <p> rozděleném pomocí <br /> } Nadpisy uzavřené v <h1> a </h1> jsou významově mnohem důležitější, než například nadpis v <h4></h4> } Nepoužívat prvky v situacích, kde se logicky a významově nehodí. Tedy například nepoužívat <h3> v situaci, kdy chci text jen zvýraznit a není to žádný nadpis } Pro případ zdůraznění používat <em>, pro případ silnějšího zdůraznění používat <strong>. Elementy <i> a <b> jsou čistě prezentační, určují jen grafickou podobu (kurzívu, tučný text), ale nemají sémantický význam Nepoužívat! } Pro grafické úpravy bez obsahového významu použít například <span> či <div> s příslušnou class nebo id a s nastylováním v CSS } Nepoužívat názvy tříd podle vzhledu, ale podle smyslu (např. místo class= červený-sloupec použít class= novinky ) 8

XHTML - hlavní sémantické elementy } em -vyznačuje zvýraznění (emphasis). } strong -označuje důraznější zvýraznení. } dfn -obsahem tohoto elementu je pojem nebo definice (definition). } code -používá se k označení nějakého zdrojového programového kódu. } samp - vyznačuje vzorový výstup programů, skriptů, nějaký obecný vzorek } kbd - indikuje text, který má být zadán uživatelem. } var - označuje proměnnou, její vzorovou hodnotu apod. } cite - označuje citovaný zdroj, odkaz na další zdroje nebo citaci. } abbr - označuje zkratku (abbreviation), jejíž plné znění by se alespoň při prvním výskytu v dokumentu mělo nacházet v jeho atributu title. Příklady zkratek jsou XHTML, URI, ČR, nebo třeba ČVUT nebo FJFI;-) } acronym - používá se k uzavírání zkratkových slov. Ty se narozdíl od zkratek vyslovují většinou jako jedno slovo, ne po jednotlivých písmenech. Příklady zkratkových slov jsou NATO, NASA nebo Čedok. } q slouží k uzavírání citací (řádkový, neboli inline element). Automaticky také doplňuje uvozovky okolo textu, který je v něm uzavřen } blockquote - slouží k uzavírání citací (blokový element) 9

Struktura stránky } Na každé stránce by mělo být přehledné hlavní navigační menu, pokud možno jednotného vzhledu a funkce napříč celým webem. } Počítat s tím, že každá stránka může být první (nebo i jediná), kterou návštěvník uvidí. Nespoléhat na to, že všichni přijdou nejprve na homepage (návštěvy z vyhledávačů, přímých odkazů...) } Umožnit z každé stránky přístup na homepage, případně do nadřazené úrovně ve struktuře webu. } Informace o tom, na jakém webu se nacházíme na každé stránce (logo firemního webu, název portálu, atp.) } Užitečná je mapa webu stránka se strukturovaným přehledem všech stránek, které se na webu nachází } Drobečková navigace (bread-crumb) 10

Svatá Trojice webových standardů Struktura HTML XHTML XML Prezentace CSS1 CSS2 Chování ECMAScript DOM 11

Šablony } Řešení pro správu prezentačních aspektů webu tak, že jsou oddělené od logiky. } Prezentační část kódu je oddělena od logiky webu a je vytvořena univerzální kostra, do které je vkládán obsah. } Obsah je vkládán dynamicky pomocí nějakého šablonovacího enginu, nebo staticky (ručně) } Šablona definuje layout, barvy, fonty a cekový vzhled stránky bez ohledu na vkládaná data } Snadná změna celkového vzhledu stránek bez zásahu do jejich obsahu } Možnost opakovaného použití šablony pro další projekty } Oddělení prezentační a informační vrstvy dokumentu } Umožňuje efektivní rozdělení práce v týmu (grafika a funkcionalita zvlášť) } Šetří práci a čas z jedné šablony je produkováno velké množství konečných dokumentů 12

Šablonovací engine } Využívá skriptovací jazyk běžící na serveru (PHP, Ruby, Java, Python,...) } Zajišťuje kombinaci obsahu a prezentace a generuje výsledný dokument předkládaný uživateli } Obvykle zpracovává data z databáze nebo XML souboru } Hlavní funkce: } Práce s proměnnýma a funkcemi } Náhrady a formátování textu } Vkládání souborů a fragmentů stránky } Podmíněné formátování a cykly } Nejznámější: } Smarty (PHP), eruby (Ruby), FreeMarker (Java), ASP.net (C#, VB.net) 13

Ukázka šablony (Smarty) Šablona <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/dtd/xhtml1 1.dtd"> <html> <head> <title>{$title_text}</title> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> </head> <body> <p>dnes je: {$smarty.now date_format:"%d.%m.%y"}</p> <p>{$body_text}</p> <p>{"text, který bude zkrácen ve SMARTY" truncate:14:"..."}</p> {* výsledek: text, který bude... *} </body </html> Výkonný PHP skript require_once( "classes/smarty.class.php" ); $smarty = new Smarty(); $smarty->assign('title_text', 'Toto je text titulku'); $smarty->assign('body_text', 'Toto je text těla stránky'); $smarty->display('index.tpl'); 14

MVC Pattern aneb Model-View-Controller } Softwarová architektura, která rozděluje datový model aplikace, uživatelské rozhraní a řídicí logiku do tří nezávislých komponent tak, že modifikace některé z nich má minimální vliv na ostatní. } Základní komponenty: } Model Výkonná logická funkce, práce s daty v databázích, výpočty, zpracovávání dat,... } View Vykresluje konečný dokument (funkce šablony) } Controller zajišťuje interaktivitu, reaguje na akce uživatele a rozhoduje o jejich zpracování, předává data zpracovaná a produkovaná Modelem do šablony View, } Propojuje logickou vrstvu (Model) s prezentační (View) } MVC využívá mnoho PHP frameworků } Zend Framework, CakePHP, TinyMVC, Symfony, Nette, CodeIgniter... 15

MVC schema 16

Další informace } http://interval.cz/serialy/xhtml-kompletni-pruvodce } http://www.pixy.cz/dogma/dogmaw41/cs/index.html } http://www.jaknaweb.com } http://www.alvit.de/handbook } http://www.w3schools.com } http://interval.cz/clanky/tvorba-layoutu-webuprakticky-prehled } http://www.w3schools.com/tags/ref_byfunc.asp 17

Kontrolní úkol } Zadaný textový dokument zpracovat do vhodně kódovaného a stylovaného (X)HTML } Požadavky: } Validní HTML nebo XHTML } Validní CSS } Sémanticky správný kód } Oddělení obsahové a grafické části 18