IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 1 - Výběr technologií 1

Tento článek je součástí webové reprezentace ročníkové práce Honzy Bittnera, psané ve školním roce 2014/2015.


Webové prohlížeče

Pokud vyvíjíme jakýkoliv web, je nutné jej testovat v několika prohlížečích. Každý prohlížeč totiž obsahuje rozdílné jádro (systém, který vykresluje stránku), které se mnohdy liší. Každý prohlížeč také obsahuje vlastní základní styly, které je nutno resetovat pomocí speciálních stylů. Někdy se využívá také anglický, resp. mezinárodní, výraz pro webový prohlížeč – browser.

Každý prohlížeč má z pravidla svou desktopovou (stolní počítače, notebooky atp.), tak i mobilní (chytré telefony, tablety atp.) verzi. Všechny prohlížeče budu hodnotit podle procent používanosti z multiplatformního hlediska.

Google Chrome

Nejpoužívanější prohlížeč současnosti, u nás i ve světě, vyvíjený nad open source projektem Chromium. Prohlížeč má minimalistický design a má integrovaný Google účet. Obsahuje také vlastní centrum aplikací a doplňků. Používá ho více než 40% uživatelů.

Internet Explorer

Prohlížeč vyvíjený společností Microsoft. Druhý nejpoužívanější prohlížeč na světě (cca. 15%) a třetí nejpoužívanější v Česku (cca. 19%). Starší verze byly známy pro svou zastaralost a obecně přicházely s novými technologiemi jako poslední, obvykle i s mírně upravenými. V posledních verzích se začíná situace zlepšovat, prohlížeč má dokonce nové technologie i dříve, nežli konkurence. Prohlížeč má také mobilní verzi, která se prakticky nepoužívá.

Mozilla Firefox

Open source multiplatformní prohlížeč. V Česku velmi rozšířený (cca. 26%), ve světě využívaný trochu méně (cca 12%). Prohlížeč má dobrou podporu doplňků, na které má vlastní centrum.

Další prohlížeče

Další velmi používané prohlížeče, z hlediska světového, jsou např. Safari (cca. 14%), Android (cca. 7%) a Opera (cca. 5%).

Desktop aplikace

Poslední dobou se také začaly budovat aplikace na webových základech. Využívá se většinou platformy Node.js a aplikace jsou postavené na základech Chromium nebo jádře webkit. Příkladem je např. editor Atom.

Díky jednoduchým webovým technologiím HTML, CSS (a jejich preprocesorů), JavaScript atp. je snadné vytvářet pro tyto aplikace mnoho doplňků. Bohužel je celková náročnost těchto aplikací značně náročnější, nežli jejich konkurenti napsané např. v jazyce C++.

Výběr moderních webových technologií

Kritéria výběru

Webové technologie budu vybírat podle oblíbenosti širší veřejnosti a schopnosti technologie uplatit se při vývoji webového projektu. Od každé kategorie vyberu minimálně dvě technologie, které následně zhodnotím a doporučím vhodné technologie. Obecně však platí, že na používané technologii moc nezáleží, hlavní je, že jste si nějakou konečně vybrali.

Každá technologie se dá využít, ale ne každá je dobrá právě na moderní webový projekt. Webové projekty jsou velmi specifické v tom, že se strašně rychle vyvíjí nové technologie, a jiné zase zanikají. Hodně často se také stává, že je jedna technologie na vrcholu oblíbenosti a za pár měsíců už může propadnout do zapomnění.

Nejúspěšnějšími technologiemi jsou v současnosti technologie s open source licencemi, nejčastěji např. licence MIT. Open source projekty jsou úspěšné z toho důvodu, jelikož se může zapojit v podstatě každý – a to zadarmo, což může značně pomoc v rychlosti vývoje projektu. Připojením nových vývojářů může také nastat moment, kdy někdo vnese do projektu zajímavou myšlenku a z původně nezáživného projektu se vyklube revoluční projekt, který se stane hitem.

Rozdělení do skupin

Můj výběr rozdělím na čtyři základní skupiny. Front end, back end, verzovací systémy a automatizační systémy. Je dobré vědět, že BFU vnímá v podstatě jenom první skupinu – front end. O ostatních vědí jen vývojáři, kteří na projektu pracují. BFU totiž neví, že se web musí nějakým způsobem vygenerovat, ale myslí si, že se mu prostě „nějak“ vykreslil do webového prohlížeče.

Front end

Do front end technologií patří všechny technologie, které nějakým způsobem zasahují do webové stránky na straně webového prohlížeče.

Nejčastěji se rozdělují do skupin jazyků, které stránku sestavují – jazyky HTML, XML, XHTML atd. –, stylují – CSS – a které s ní interagují – JavaScript, Dart atp.

Navíc, aby toho nebylo málo, mají všechny jazyky další nadstavby, které se buď do daného jazyka kompilují – preprocesory –, nebo schopnosti jazyka rozšiřují – knihovny a frameworky.

Sestavování

Pro sestavování webu je výběr v podstatě jistý. XHTML se již, kromě vzácných výjimek, nepoužívá. XML se v současnosti, spíše než pro tvorbu webů, používá pro uchovávání dat (jako alternativa např. k formátům JSON či CSV). Jasnou volbou je tedy jazyk HTML, který v současné nejnovější verzi HTML5 obsahuje navíc také nové sémantické elementy, podporu pro videa a zvuk atd.

Osobně neznám nikoho, a ani jsem nikde neviděl žádnou stránku, kdo by nyní používal jiný jazyk než HTML na vytváření struktury webů.

Výhody HTML jsou ty, že je značně přizpůsobivý. Nemusíme psát ukončovací značky, uvozovky u atributů, dokonce ani nemusíme elementy správně zanořovat a webový prohlížeč to „nějak“ vyřeší. A většinou dobře. Někomu se zdá HTML přese všechno složitý, a proto existují pro HTML preprocesory, které jazyk ještě o něco ulehčují. Neznámějším HTML preprocesorem je HAML (který se také používá jako alternativa k šablonovacímu systému v Ruby on Rails, nejpoužívanějšího webového Ruby frameworku). Mnoho lidí však, místo používání HTML preprocesoru, používá nástroje, které umí HTML kód generovat z předpisu podobnému CSS selektorům a vygenerují se ihned po zapsání. Takový nástroj je např. Emmet, který používám i já.


 

Všechny články v sekci
Technologie pro vývoj webových aplikací
Přeskočit článek
(nedoporučujeme)
Výběr technologií 2
Článek pro vás napsal Honza Bittner
Avatar
Uživatelské hodnocení:
24 hlasů
FIT ČVUT alumnus :-) Sleduj mě na https://twitter.com/tenhobi a ptej se na cokoli na https://github.com/tenhobi/ama.
Aktivity