Postupné vylepšení - Progressive enhancement
Postupné vylepšení je strategie v webový design to klade důraz na Webový obsah za prvé. Tato strategie zahrnuje oddělující the sémantika prezentace z obsahu, přičemž prezentace je implementována v jedné nebo více volitelných vrstvách, aktivovaných na základě aspektů prohlížeč nebo Internet připojení uživatel.[1] Navrhované výhody této strategie spočívají v tom, že to umožňuje všichni mají přístup základní obsah a funkčnost webové stránky, zatímco uživatelé s dalšími funkcemi prohlížeče nebo rychlejším přístupem k internetu místo toho dostanou vylepšenou verzi.
Dějiny
„Progresivní vylepšení“ vytvořil Steven Champeon & Nick Finck na SXSW Interaktivní konference 11. března 2003 v Austinu,[2] a prostřednictvím řady článků pro Webmonkey které byly zveřejněny v období od března do června 2003.[3]
Charakteristický Kaskádové styly (CSS) techniky týkající se flexibility rozložení stránky přizpůsobené různým rozlišením obrazovky je koncept spojený s responzivní webdesign přístup. .net Magazine vybrala Progressive Enhancement jako # 1 na svém seznamu Top Web Design Trends pro rok 2012 (citlivý design byl # 2).[4] Google podpořila přijetí postupného vylepšení, které pomůže „našim systémům (a širšímu spektru prohlížečů) vidět použitelný obsah a základní funkce, když některé funkce webového designu ještě nejsou podporovány“.[5]
Úvod
Tato strategie je vývojem předchozí strategie webového designu známé jako půvabná degradace, přičemž webové stránky byly nejprve nejprve pro nejnovější prohlížeče, ale poté fungovaly dobře ve starších verzích softwaru prohlížeče.[6] Půvabná degradace si klade za cíl umožnit „degradaci“ stránky - zůstat prezentovatelná a přístupné i když určité technologie očekávané designem chybí.
Při postupném zdokonalování je strategie záměrně obrácena: Webový obsah je vytvořen pomocí značkovací dokument, zaměřené na nejnižšího společného jmenovatele funkčnosti softwaru prohlížeče.[7][3] The vývojář přidává všechny požadované funkce do prezentace a chování stránky pomocí moderních CSS, Škálovatelná vektorová grafika (SVG) nebo JavaScript. V případě JavaScriptu se skript také řídí zásadami nenápadný JavaScript.
Pozadí
Tato sekce může být pro většinu čtenářů příliš technická na to, aby je pochopili. Prosím pomozte to vylepšit na aby to bylo srozumitelné pro neodborníky, aniž by byly odstraněny technické podrobnosti. (Listopad 2015) (Zjistěte, jak a kdy odstranit tuto zprávu šablony) |
Přístup progresivního vylepšení je odvozen z raných zkušeností společnosti Champeon (c. 1993-4) s Standard Generalized Markup Language (SGML), před prací s HTML nebo jakékoli jazyky webové prezentace, stejně jako z pozdějších zkušeností s prací s CSS při řešení chyb v prohlížeči. V těchto raných kontextech SGML mělo sémantické značení klíčový význam, zatímco prezentace byla téměř vždy zvažována samostatně, spíše než aby byla vložena do samotného značení. Tento koncept je v značkovacích kruzích různě označován jako pravidlo oddělení prezentace a obsahu, oddělení obsahu a stylunebo oddělení sémantiky a prezentace. Vzhledem k tomu, že se web vyvinul v polovině devadesátých let, ale předtím, než byl zaveden a široce podporován CSS, bylo toto základní pravidlo SGML opakovaně porušováno rozšiřovači HTML. Výsledkem bylo, že návrháři webu byli nuceni přijmout nové rušivé technologie a značky, aby zůstali relevantní.[Citace je zapotřebí ] S kývnutím na ladnou degradaci, protože si uvědomili, že ne každý má nejnovější prohlížeč, mnoho lidí začalo jednoduše přijímat designové postupy a technologie podporované pouze v nejnovějších a možná i v jednotlivých předchozích hlavních verzích prohlížeče. Několik let většina webu jednoduše nefungovala v ničem jiném než v nejnovějších a nejpopulárnějších prohlížečích.[Citace je zapotřebí ] To platilo až do vzestupu a širokého přijetí a podpory CSS, stejně jako mnoha populistických a místních vzdělávacích snah (od Erica Costella, Owena Briggsa, Davea Shea a dalších), které ukazují webovým návrhářům, jak používat CSS pro účely rozvržení.
Progresivní vylepšení je založeno na poznání, že základní předpoklad "ladné degradace" - že prohlížeče byly vždy rychlejší a výkonnější - se s nárůstem kapesních počítačů a aplikací PDA zařízení s nízkofunkčními prohlížeči a vážnými omezeními šířky pásma. Kromě toho se rychlý vývoj HTML a souvisejících technologií v počátcích webu zpomalil a velmi staré prohlížeče se staly zastaralými, což návrhářům umožnilo používat výkonné technologie, jako je CSS, ke správě všech prezentačních úkolů a JavaScript k vylepšení komplexních klientských boční chování.
Nejprve navrženo jako poněkud méně nepraktická fráze popisující delikátní umění „oddělit strukturu a obsah dokumentu od sémantiky, prezentace a chování“ a na základě tehdy běžného používání hacků CSS k obcházení vykreslování chyb v konkrétních prohlížečích, strategie postupného zdokonalování získala svůj vlastní život, protože noví designéři tuto myšlenku přijali a rozšířili a revidovali přístup.[jak? ]
Základní principy
Strategie postupného zlepšování se skládá z následujících základních principů[3]:
- Základní obsah by měl být přístupný ve všech webových prohlížečích.
- Základní funkce by měla být přístupná všem webovým prohlížečům.
- Řídké sémantické označení obsahuje veškerý obsah.
- Vylepšené rozvržení poskytuje externě propojený CSS.
- Vylepšené chování poskytuje nenápadný, externě propojený JavaScript.
- Předvolby webového prohlížeče koncového uživatele jsou respektovány.
Podpora a přijetí
- V srpnu 2003 vytvořil Jim Wilkinson stránku wiki s progresivním vylepšením, kde shromáždil některé triky a tipy a vysvětlil celkovou strategii.[8]
- Návrháři jako Jeremy Keith ukázaly, jak lze tento přístup harmonicky použít s ještě jinými přístupy k modernímu webový design (jako Ajax ) poskytovat flexibilní, ale výkonné uživatelské prostředí.[9]
- Aaron Gustafson pro A List Apart napsal sérii pokrývající základy progresivního vylepšení, od základní filozofie přes přístupy CSS k tomu, jak zacházet s JavaScriptem.[6][10][11]
- Ostatní, včetně Dave Shea, pomohly rozšířit přijetí termínu tak, aby odkazoval na designové strategie založené na CSS.
- Organizace, jako je Projekt webových standardů (WaSP), který stál za vytvořením Kyselina2 a Kyselina3 testy, přijaly progresivní zdokonalování jako základ pro své vzdělávací úsilí.
- V roce 2006 Nate Koechley at Yahoo! podrobně odkazoval na postupné zdokonalování svého vlastního přístupu k webovému designu a podpoře prohlížečů, Graded Browser Support (GBS).[12]
- Steve Chipman z AOL označil progresivní vylepšení (skriptováním DOM) jako základ pro svou strategii webového designu.[13]
- David Artz, vůdce optimalizačního týmu AOL, vyvinul sadu technologií Accessible Rendering Technologies a vynalezl techniku demontáže „vylepšení“ za běhu, čímž šetřil preference uživatele.
- Chris Heilmann hovořil o důležitosti cíleného doručování CSS, aby každý prohlížeč získal pouze obsah (a vylepšení), který zvládne.[14]
- Scott Jehl z Filament Group navrhl „Test-Driven Progressive Enhancement“,[15] doporučuje otestovat schopnosti zařízení (spíše než je odvodit od zjištěného uživatelský agent ) před poskytnutím vylepšení.
- Hm je open-source framework pro webové aplikace na straně serveru, který transparentně implementuje progresivní vylepšení během svého bootstrapu, postupující od obyčejného HTML k plnému Ajaxu.
Výhody
Přístupnost
Webové stránky vytvořené podle principů postupného vylepšování jsou ze své podstaty přístupnější, protože strategie vyžaduje, aby byl vždy k dispozici základní obsah, který nebrání běžně nepodporované nebo snadno deaktivovatelné skriptování. Princip rozptýleného značení navíc usnadňuje vyhledání obsahu nástroji, které čtou obsah nahlas. Není jasné, jak dobře fungují weby s progresivním vylepšením se staršími nástroji navrženými pro řešení rozvržení tabulek, “tag polévka ", a podobně.[Citace je zapotřebí ]
Optimalizace pro vyhledávače (SEO)
Vylepšené výsledky s ohledem na optimalizace pro vyhledávače (SEO) je dalším vedlejším účinkem strategie webového designu s progresivním vylepšením. Protože základní obsah je vždy přístupný pavoukům vyhledávačů, stránky vytvořené pomocí metod postupného vylepšení se vyhnou problémům, které mohou bránit indexování vyhledávače.[16]
Kritika a reakce
Někteří skeptici, jako je Garret Dimon, vyjádřili své znepokojení nad tím, že postupné vylepšení není funkční v situacích, které se při dosažení určitých prezentací nebo chování uživatelského rozhraní silně spoléhají na JavaScript,[17] ke kterému nenápadný JavaScript je jedna odpověď. Jiní se postavili proti tomu, že informační stránky by měly být kódovány pomocí postupného vylepšení, aby mohly být indexovány pavouky,[18] a že i stránky náročné na Flash by měly být kódovány pomocí progresivního vylepšení.[19] V související oblasti mnozí vyjádřili své pochybnosti o principu oddělení obsahu a prezentace v absolutních číslech, místo toho prosazovali realistické uznání, že tyto dva jsou nerozlučně spjaty.[20][21]
Viz také
- Nenápadný JavaScript
- Ladná degradace
- Reagovat na web
- Sémantické HTML
- Přizpůsobení obsahu, transformujte obsah tak, aby se přizpůsobil schopnostem zařízení
Poznámky
- ^ Mills, Chris (8. července 2011). „Půvabná degradace versus progresivní vylepšení“. World Wide Web Consortium. Citováno 2020-08-13.
- ^ Champeon, Steven & Finck, Nick (2003) Inkluzivní webový design pro budoucnost Prezentace SxSWi
- ^ A b C Champeon, Steven (2003), Progresivní vylepšení a budoucnost webového designu, Webmonkey
- ^ „15 nejlepších trendů v oblasti webového designu a vývoje pro rok 2012“. 9. ledna 2012.
- ^ Pierre Far (2014), Aktualizace našich technických pokynů pro webmastery, Blog střediska pro webmastery
- ^ A b Aaron Gustafson (2008), Pochopení progresivního vylepšení, A List Apart
- ^ „101 tipů pro optimalizaci vyhledávače“. www.meta4creations.com. Citováno 2016-04-14.
Progresivní vylepšení […] znamená [] budovat vaše webové stránky počínaje prohlížeči s nejnižším společným jmenovatelem.
- ^ Wilkinson, Jim (2003), Progresivní vylepšení - diskutujte o CSS Archivováno 09.03.2016 na Wayback Machine
- ^ Blog Adactio od Jeremyho Keitha (2005), Progresivní vylepšení s Ajaxem
- ^ Aaron Gustafson (2008), Progresivní vylepšení pomocí CSS, A List Apart
- ^ Aaron Gustafson (2008), Progresivní vylepšení pomocí JavaScriptu, A List Apart
- ^ Nate Koechley, Podpora odstupňovaného prohlížeče Archivováno 2006-04-14 na Wayback Machine
- ^ Steven G. Chipman (2005), Nové skriptování Skool DOM
- ^ Chris Heilmann, Double Vision - Dejte prohlížečům CSS, které dokáží strávit (2005) Archivováno 06.07.2017 na Wayback Machine
- ^ Jehl, Scott. „Test Driven Progresive Enhancement“. A List Apart. Citováno 27. října 2009.
- ^ Stephan Spencer, PE je dobré pro SEO | Searchlight - zprávy CNET
- ^ Dimon, Garret, Realita postupného vylepšení Archivováno 2007-03-17 na Wayback Machine
- ^ IA Summit 2006 »Archiv blogů» Web 2.0 a SEO? Archivováno 17. 04. 2006 na Wayback Machine
- ^ deconcept »Používání alternativního obsahu jako obsahu ve Flashi
- ^ „Stopdesign | Are They Really Separated? (2003)“. Archivovány od originál dne 02.01.2009. Citováno 2006-04-14.
- ^ Seznam kromě: Články: Úzkost z oddělení: Mýtus o oddělení stylu od obsahu (2000)
Reference
- Bowman, Doug (2003) Jsou skutečně odděleni? Citováno 14. dubna 2006.
- Edwards, James & Adams, Cameron (2006) Script Chytřejší: Kvalitní JavaScript od nuly Citováno 14. dubna 2006.
- Heilmann, Christian (2006) Sedm chyb přístupnosti, část I. Citováno 14. dubna 2006.
- Koechley, Nate (2006) Podpora odstupňovaného prohlížeče Citováno 14. dubna 2006.
- Malicoat, Todd (2003) Forma vs. funkce v designu stránek Citováno 14. dubna 2006.
- Nyman, Robert (2006) Co je přístupnost? Citováno 14. dubna 2006.
- Olsson, Tommy (2007) pro Accessites.org Půvabná degradace a progresivní vylepšení Citováno 2. dubna 2007.
- Shea, Dave (2004) Zen a umění vylepšení webu (WE04 Keynote) Citováno 14. dubna 2006.
- Stearns, Geoff (2006) Používání alternativního obsahu jako obsahu ve formátu Flash Citováno 14. dubna 2006.
- van der Sluis, Bobby (2005) Deset osvědčených postupů pro psaní JavaScriptu v roce 2005 Citováno 14. dubna 2006.
Další čtení
- Články
- Gustafson, Aaron (2008) Pochopení progresivního vylepšení Citováno 7. července 2011
- Gustafson, Aaron (2008) Progresivní vylepšení pomocí CSS Citováno 7. července 2011.
- Gustafson, Aaron (2008) Progresivní vylepšení pomocí JavaScriptu Citováno 7. července 2011
- Gustafson, Aaron (2007) Zničení uživatelské zkušenosti Citováno 7. května 2007.
- hesketh.com, 12. září 2003 Progresivní vylepšení: připravuje cestu pro budoucí webový design
- Keith, Jeremy (2006) Behaviorální separace Citováno 7. května 2007.
- Olsson, Tommy (2007) Půvabná degradace a progresivní vylepšení
- Knihy
- Briggs, Owen; Champeon, Steven; Costello, Eric; Patternson, Matthew (2004) Kaskádové šablony stylů: Oddělení obsahu od prezentace (2. vyd.). San Francisco: Apress. ISBN 1-59059-231-X
- Gustafson, Aaron (2011) Adaptivní webový design: Vytváření bohatých zkušeností s progresivním vylepšováním. Chattanooga: Snadní čtenáři. ISBN 978-0-9835895-0-1.
- Keith, Jeremy (2007) Neprůstřelný Ajax. Berkeley: Noví jezdci. ISBN 0-321-47266-7
- Keith, Jeremy (2005) Skriptování DOM: Web Design s JavaScriptem a objektovým modelem dokumentu. Berkeley: přátelé ED. ISBN 1-59059-533-5
- Parker, Todd; Toland, Patty; Jehl, Scott; Costello Wachs, Maggie (Skupina vláken ) (2010) Navrhování s progresivním vylepšováním Peachpit / Noví jezdci. ISBN 978-0-321-65888-3