Top Banner
Vývoj frontendu na redak čním systému? aneb jak udržet poř ádek v šablonách Martin Pešout / @martinpesout / martinpesout.cz
31

Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Aug 08, 2015

Download

Internet

Martin Pešout
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Vývoj frontendu na redakčním systému?

aneb jak udržet pořádek v šablonách

Martin Pešout / @martinpesout / martinpesout.cz

Page 2: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Dosavadní zkušenosti

Redakční systémy

Tvorba šablon od základu

Page 3: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Dosavadní zkušenosti

Šablony

Page 4: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Dosavadní zkušenosti

Šablony

• Kvalita šablon není vždy 100%

• Klient chce většinou víc než daná šablona nabízí

• Nemáte pod kontrolou základní rozvržení

Page 5: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 6: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Začátky bývají o hledání vlastní cesty

• Chybama se člověk učí

• Každý dobrý frontend vývojář se musel nejprve spálit a potom se na dalším projektu poučit z vlastních chyb

Page 7: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Proč vzniká tolik problémů?

• Nezvládnutí složitých požadavků

• S přibývajícíma definicema, se zhoršuje i orientace v kaskádových stylech

• Špatné strukturování dat

• Zmatky při práci v týmu

Page 8: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Jak předcházet problémům?

• Velké problémy rozložit na menší úkoly

• Ze složitých elementů na webu si vybereme drobnější nezávislé komponenty - znovupoužitelnost

• Pomůže nám to zvládnout složité úkoly

Page 9: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 10: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Ukládejte data do samostatných souborů

• Lépe tak tvoříme nezávislé komponenty

• Kvůli rychlosti načítání stránky je potřeba načítat co nejméně zdrojů

• Soubory sloužící pro vývoj ve finále spojíme do společných souborů

Page 11: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Dostaneme veliké množství souborů

Ale co dále?

Page 12: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Správná struktura adresářů

• Co můžu rozdělit na menší části?

• Kaskádové styly

• Soubory šablony

• Javascript

Page 13: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Kaskádové styly• Kaskádové styly rozmístíme do jednotlivých

souborů

• Využijeme preprocesorů

Page 14: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 15: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

http://cssguidelin.es/

Page 16: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Co mně pomohlo?

• Metodika BEM pro rozdělení kaskádových stylů a přehledné psaní tříd

• Nešetřit komentáři

• Bohaté oddělování pomocí mezer

Page 17: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 18: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 19: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách
Page 20: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Správná struktura adresářů

• Co můžu rozdělit na menší části?

• Kaskádové styly

• Soubory šablony

• Javascript

Page 21: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Automatizace

• Oddělené soubory ve finále zkompilujeme do jednoho finálního souboru

• Tento proces probíhá na pozadí

• Nástroje pro automatizaci:

Grunt vs. Gulp

Page 22: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Co za mě Grunt udělá?• Zkompiluje SCSS do výsledného finálního CSS

• Nemusím se starat o prefixy při zápisu SCSS

• Minifikace obrázků

• Validace Javascriptu a spojení do finálních souborů

• Obnovení všech otevřených oken

• Mnohem víc…

• http://demo.martinpesout.cz/gruntfiles.zip

Page 23: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Redakční systémy

Každý redakční systém je specifický

Wordpress Drupal

Page 24: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Redakční systémy

Oddělená struktura pro samotnou šablonu

Wordpress Drupal

Page 25: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Situace, které mohou nastat a nastávají

• Práce v týmu

• Potřeba verzování kódu a sdílení změn mezi týmem

• Udržitelnost kódu a s tím související dostatečné oddělení souborů frontendu od backendu

Page 26: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Verzovací systém

• V dnešní době převládá Git

• Otázkou je, co přesně zahrnout do repozitáře a které soubory ignorovat?

• Pokud nevíte, použijte dostupné generátory https://www.gitignore.io/

Page 27: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Co do společného repozitáře nepatří

• Konfigurační soubory

• Soubory nahrané uživatelem - můžou obsahovat veliké množství dat

• Dočasné cache soubory redakčního systému

Page 28: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

.gitignore pro Wordpress### WordPress ###

*.log

.htaccess

sitemap.xml

sitemap.xml.gz

wp-config.php

wp-content/advanced-cache.php

wp-content/backup-db/

wp-content/backups/

wp-content/blogs.dir/

wp-content/cache/

wp-content/upgrade/

wp-content/uploads/

Page 29: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Má být samotná šablona také součástí repozitáře?

• Setkal jsem se s těmito možnými přístupy:

• Do repozitáře zahrneme pouze šablonu

• Oddělené repozitáře - jeden pro samotný Wordpress a druhý, který je vnořený, je pro šablonu

• Celý projekt je jeden repozitář

Page 30: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Tipy

• Pokud se chcete posouvat dál, tak volte raději práci na více menších projektech

• Snažte se na každém novém projektu vyzkoušet něco nového

Page 31: Vývoj frontendu na redakčním systému? ... aneb jak udržet pořádek v šablonách

Děkuji za pozornost

Martin Pešout / @martinpesout / martinpesout.cz