Proč používat bootstrap

  • 26.05.2019
  • 4
  • CSS

Bootstrap je, jak sám uvádí na svých webových stránkách, nejpoužívanější html, css, jquery framework na světě.

Mnoho vývojářů podobné frameworky používá a chválí, mnoho je taky odsuzuje a pomlouvá. Kdo z nich ale má pravdu? Vyplatí se bootstrap používat? Odpověď je jednoznačná – vyzkoušejte bootstrap na alespoň 1-3 projektech, čím větší projekt bude, tím více pocítíte jeho výhody. Až budete mít alespoň tuto zkušenost, pak se můžete zařadit do jedné ze stran, která odsuzuje nebo chválí.

Tento článek jsem se rozhodl napsat proto, že jsem patřil do skupiny, která bootstrap odsuzuje. Vymlouval jsem ho i ostatním, ale po nějaké době jsem se ocitl ve skupině druhé. Stalo se tak jednoduše proto, že jsem ho konečně vyzkoušel na pár projektech. Čím více jsem tento framework poznával, tím více se mi líbily jeho vlastnosti. Dnes bootstrap tvoří základ každého projektu, který vytvářím a nedokážu to bez něj představit.

Tento článek pojednává o bootstrapu ve verzi číslo 4.

Co nám bootstrap přináší si popíšeme v následujících bodech.

Přehledná a podrobná dokumentace

Jednou z největších výhod bootstrap frameworku je jeho dokumentace. Když píšete kód v souladu s bootstrapem a jeho funkcemi je snadno pochopitelný i pro ostatní. Je rozhodně příjemnější se zorientovat v udržovaném frameworku, než kódu, který slepil vývojář „na míru„. Tato míra a přehlednost se odvíjí od zkušeností vývojáře. Pokud vývojář nemá alespoň 2-3 roky praxe v tvorbě webů pak je skoro zřejmé, že to, co napsal bude mít přinejmenším nedostatky.

Při kompletní tvorbě webu se často stává, že se na něco zapomene a je potřeba někde přidat nějaký textík nebo boxík. Nemusíte vytvářet nové css komponenty, protože tyto malé věci snadno pokryje bootstrap.

Šetří čas a vaše nervy

Smysl css frameworku je jejich snadné použití. Ovlivňujete pouze vzhled komponenty (velikost, barvička apod) a vše ostatní za vás řeší bootstrap (hover, focus, funkcionalita, přístupnost apod). Použitím bootstrapu:

  • vyhnete se nekonzistentnímu zobrazení v prohlížečích
  • šetříme čas skládáním hotových komponent (nejvíce platí u formulářů)
  • web nevnímáme jako celek nebo stránku, ale jako množství komponent
  • šetříme čas javascriptovými funkcemi, které pokrývají všechny nejčastější funkce, které při tvorbě webu budeme potřebovat

Modulární rozdělení css komponent

Bootstrap je napsán v SASS preprocessoru a umožňuje použít pouze to, co skutečně vývojář potřebuje. Pokud potřebujete pouze grid, pak můžete použit pouze grid a nic jiného. Bootstrap obsahuje velké množství komponent a je rozhodně správné používat pouze ty, které potřebujete.

Příklad použití pouze potřebných komponent bootstrapu

Řeší nejčastější problémy za nás

Jsou určité komponenty (části), které řešíme velmi často a objevují se skoro na každém projektu, jsou to například:

  • typografie
  • css reset
  • carousel
  • modální okna
  • formulářové prvky
  • apod

Obvyklý postup vývojáře je použití externích knihoven. Síla bootstrapu je v tom, že většinu těch nejčastějších věci již má v sobě, stačí je použit.

Striktní pravidla použití

V komponentách, které má bootstrap jsou jasně daná pravidla jejich použití. Tyká se to například:

  • typografie
  • formulářové prvky
  • tlačítka
  • apod

Myslím, že tak je to správně. Bootstrap se nás snaží vést za ručičku a ukazuje směr jak to dělat správně. Viděl jsem mraky webů, na kterých byly nadefinované pouze nadpisy h1,h2 a zbytek už nebyl. Nebo nebyl nastylovaný odražkový nebo číselný seznam. I mě se mnoho krát stalo, že grafik nevytvořil návrh chybových hlášek a bez použíti bootstrapu jsem na ně úplně zapomněl.

Bootstrap nastavujeme ve variables, a generuje nám to vše potřebné.

Ukázka nastavení typografie pomoci variables

Bootstrap je žádaný

Hodně firem nebo projektů mají zásadní požadavek – použíti bootstrap frameworku. Prestashop dokonce nařizuje vývojářům prestashop šablon nutné použíti bootstrap frameworku. Důvod je jasný – snadná rozšiřitelnost projektu. Poznáním tohoto frameworku si nikdy neuškodíte, ba naopak polepšíte své know-how a pravděpodobnost, že získáte nový projekt.

Javascript

Hodně krát jsem se setkal s html/css kodérem, který umí pěkně napsat css, ale javascript mu dělá problémy. Umí použit externí plugin, ale sám nedokáže napsat funkci. Já osobně jsem vždy psal javascript sám. Každé otevírání něčeho (toggler), každé modální okno, každá js funkce byla napsána mým vlastním jQuery kódem. Když se poohlédnu zpět tak vidím mraky ztraceného času, které jsem trávil laděním a vytvářením komponent, které bootstrap už má v sobě. Naučte se používat bootstrapovské funkce jako například:

a tento čas ušetříte. Nevymýšlejte znovu kolo a použijte hotové řešení od bootstrapu, který za vás řeší javascript elegantně a mnohdy se obejdete bez zásahu do javascriptu.

Atomické css

Každá komponenta, ať si pod tím představíme cokoliv – například: výpis produktů, stránkování, drobečkovou navigaci, galerii atd, má stejné části:

Když projdete sekci utilities od bootstrapu, tak zjistíte, že pokrývá skoro všechny grafické prvky, s kterými se běžně setkáváme při tvorbě webu. V ideálním případě si umím představit web, vyskládaný pouze pomoci bootstrapu a jeho atomických komponent. To se vám pravděpodobně nikdy nepovede, ale i tak je bootstrap velkým pomocníkem, který šetří velké množství opakujícího se css kódu. A to rozhodně chcete!

Jednoduchá správa projektů

Jsou projekty, které nejsou jednorázovou záležitosti, ale vracejí se vám s různými připomínkami a požadavky na změny. Velmi se mi osvědčilo použití bootstrap frameworku, protože atomická změna velikosti písma (nebo barvy, mezery, responzivity apod) je příjemnější, když nemusíte vytvářet nový css kód nebo modifikátory, které kód dělají stále více komplikovanějším.

Díky bootstrapu máte k dispozici nástroj, díky kterému zvládnete vyřešit 80% i více všech grafických požadavků bez nutnosti zásahu do css.

HTML prototypování

Bootstrap nám dává komponenty, díky kterým vývojář je schopen vyskládat skoro jakoukoliv novou stránku s novými komponentami bez grafického designu. Mnohdy je to výhoda, když váš klient chce přidat na web něco nového a to něco není grafický nakreslené.

Responzivní typografie

Možná někteří z vás si všimli nové bootstrap funkce (vyšla začátkem roku 2019). Pokud správně nastavíte typografii a aktivujete funkci responzivní typografie, pak bootstrap za vás sám vytvoří responzivní velikosti písma. Výhodou tohoto řešení je v tom, že velikosti písma jsou vůči sobě proporční, tzn. že všechny nadpisy se zmenšuji stejným poměrem a nemůže se stát, že h3 bude větší než h2.

Světově nejpoužívanější komponenty

Bootstrap má některé komponenty (jeho části) které jsou velmi populární. Zkrátka jsou dobře vymýšlené a vývojáři je rádi používají i samostatně, jsou to například:

  • grid – umožní vyskládat jakýkoliv layout. Pomoci spacing utilities vám dokonce umožňuje měnit mezeru mezi sloupci, což jistě oceníte
  • reboot – velmi pěkný reboot (reset). Obvykle to vývojáři řeší externím pluginem (příklad: reboot.css). Bootstrap to má zakomponované uvnitř
  • modal, btns, forms, pagination atd

Stavy komponent (states)

Bootstrap u svých komponent řeší různé stavy, například tyto:

  • hover
  • focus
  • disabled

Stavy tlačítek, které se dají přizpůsobit na míru

Mě osobně se velmi líbí, jak bootstrap řeší hover a focus stavy pro formulářové prvky (inputy, tlačítka). V chromu je velmi příjemné, když na focus stavu tlačítko má pěkný box-shadow. Weby postavené na bootstrapu jsou obvykle ovládatelné pomoci klávesy TAB a to je plus, protože ne každý vývojář na tyto věci mysli při psaní vlastního css kódu „na zelené louce„.

Shrnutí

Bootstrap je framework, který rozhodně stoji za poznání. Je to časová investice, která vám při nejmenším ukáže něco nového. Při nejlepším zásadním způsobem ovlivní způsob tvorby webu, jakým jste ho doposud znali.

A co vy, používáte bootstrap? Máte ho rádi, nebo nemusíte? Co vám na tomto frameworku vadí, nebo naopak co se vám na něm moc líbí? Pište do komentářů vaše zkušenosti.

Pokud vás toto téma zajímá, pak doporučuji shlédnout moji přednášku na téma Bootstrap.

Komentáře

PetrL29.10.2019 #

PetrL

Nejde Bootstrap trochu proti principu CSS – zápis a změny do html souboru (obsah), místo do CSS?
Teprve se to učím, ale z toho co zatím vidím, se mi zdá, že Bootstrap trochu porušuje jeden princip a to oddělení html kódu (obsahu) od jeho vzhledu, který má být v CSS souboru.
Je sice pěkné, že vše styluji pomocí předdefinovaných tříd (class), ale když potřebuji udělat změnu, tak otevřu html soubor, kde přidám, odeberu nějaký ten class a tím změním vzhled.
Jelikož je class na každou maličkost, tak už je to „skoro“ stejné, jako kdybych vkládal styly přímo do jednotlivých tagů.
Já myslel, že by se to ideálně vše mělo odehrávat v externím CSS souboru. (Html soubor může být generován jinde, spolupráce více lidí….) Jak to potom funguje ve větších projektech?
Děkuji

Vitalij30.10.2019 #

Vitalij

Peťo, máš odkaz na podložení tvého principu? Rád bych přečetl o tom více.
Podle mě ten princip je dnes bezvýznamný. Existuje mnoho technologii například cssinjs, která pracuje ve světě reactu a jemu podobných technologii, které se snaží v jednom souboru mít nejen css a html, ale i logiku (vše v jednom). Mnoho lidi to chválí a vyhovuje jim to.
Nerád vymýšlím názvy věci, je to časově náročné.. U Bootstrapu přesně vím co musím napsat za třídu aby se chovala jak potřebuji. Čím větší projekt je a čím déle na Bootstrapu dělám, tím cítím vyšší efektivnost své práce.
Pokud začínáš, pak Bootstrap tě naučí dělat věci správně. Rozhodně doporučuji investovat svůj čas, mě se vyplatil 🙂

AdamB31.10.2019 #

AdamB

Ahoj, jsem rád, že jste začali Bootstrap využívat. Je to fakt mocný nástroj. Zdravím Páju a ať se daří 😉

Vitalij01.11.2019 #

Vitalij

Ahoj Aďo, děkuji za komentář. Ať Bootstrap slouží 🙂

Přidat nový komentář

Všechny komentáře musí projít schvalovacím procesem.
Slibuji, že vámi uvedený email poslouží výhradně pro upozornění v rámci diskuze.

Děkuji za váš komentář. Po jeho schválení se zde zobrazí.