Internet je tu s námi již přes 50 let a webové stránky přes 20 let. Během této doby se změnilo spousta věcí, kadou chvíli vznikají nové technologie a jelikož lidé mají tendenci si věci přizpůsobovat, vznikají k těmto technologiím nástroje, jako jsou nové programovací jazyky a frameworky.
Každý webový vývojář by měl tyto technologie do jisté míry znát a umět používat. Úkolem této příručky je vás s těmito nástroji seznámit a to jednoduchou a přehlednou formou.
Úvodem je nutno říct, že cílem této příručky je seznámit vás s těmito nástroji, pro důkladnější studium bych doporučil oficiální dokumentaci, či odbornou učebnici k jednotlivým nástrojům.
Co se naučíte
Na začátek začneme naprostými základy, první 3 kapitoly budou věnovány HTML, CSS a Javascriptu. Toto jsou základní stavební prvky každé webové stránky.
HTML
CSS
Javascript
Poté přejdeme k serverovým technologiím. Bude řeč o PHP, SQL a Composeru.
PHP
SQL
Composer
Co dále?
Do budoucna bych rád tuto příručku rozšířil o pokročilejší látku, která se do knížky již nevešla. Vývoj webu je totiž odvětví, kde se technologie mění velice rychle, a s tím i nutnost se neustále učit. O čem by mohla být řeč?
Objektově orientované programování
OOP je jedna ze základních dovedností každého programátora. Umožňuje nám psát strukturovaný a přehledný kód, který není redundantní a zbytečně dlouhý. Pro vývoj větších projektů naprostý základ.
Návrhové vzory
Návrhový vzor je způsob řešení, implementace konkrétních problémů a použití standardních postupů. Pojmy jako jsou Singleton, Dependency Injection, Inversion of Control by měl znát a umět každý, kdo to s vývojem webu myslí alespoň trochu vážně.
NoSQL databáze
Kromě standardních SQL databází, o kterých jsme si říkali v kapitole o SQL, existují také tzv. NoSQL databáze. Tyto databáze se vyznačují tím, že nepoužívají tabulkovou strukturu, nýbrž jinou, např. dokumentovou či klíčovou. Tyto databáze se obvykle používají současně s SQL databázemi za účelem zvýšení celkového výkonu aplikace (cache, rychlejší vyhledávání).
CSS preprocesory a frameworky
Psaní CSS samo o sobě je práce spíše pro grafiky a UX/UI designéry, než webového vývojáře. Přesto by každý web developer měl vědět, co je to LESS, SASS, jak se používají frameworky Bootstrap a čím dál populárnější Bulma. Znalost frameworků nám může velice usnadnit práci, jelikož za nás řeší pozicování, responzivitu a další věci, nad kterými bychom museli jinak strávit mnoho času.
Javascriptové knihovny a frameworky
Osobně si myslím, že se dnes čístý Javascript již v žádné firmě nepíše. To je jeden z hlavních důvodů, naučit se nějakou JS knihovnu. jQuery dokáže mnohonásobně zrychlit vývoj a ušetřit mnoho času, a jak se říká, co šetří čas, tak i peníze. Kromě toho jsou na vzestupu i stránky, na kterých převažuje kód generovaný JS frameworkem, ať už se jedná o Angular, React, či Vue. Pokud se tedy vydáte cestou frontend vývojáře, rozhodně doporučuji začít s nějakým JS frameworkem.
PHP frameworky
Pokud se naopak vydáte cestou backend vývojáře, zcela jistě vás neminou PHP frameworky. Ať už se bude jednat o Symfony, Laravel, nebo české Nette, každý z těchto frameworků dokáže ušetřit spoustu času a nervů, neboť poskytují rozhraní k PHP kódu, který je radost číst, psát i debugovat.
Git / Subversion
Umět používat verzovací nástoj by měl jednoduše každý programátor. Je to základ pro týmovou spolupráci a tato znalost se předpokládá od každého vývojáře.
Objektově relační mapování
Ačkoliv název nezní zrovna nejlépe, jedná se o velice důležitou programovací techniku, která je používána po celém světě. Jedná se v podstatě o převod databázových relací do PHP objektů pro její snadnější manipulaci a konzistenci. Nejznámějším ORM frameworkem je Doctrine.
API, REST, SOAP
Protože webové služby nejsou pouze o webových stránkách, ale také i jako rozhraní pro různé aplikace, je nutné umět tvořit programové rozhraní API. K tomu se používají nejběžněji tyto metody: SOAP (Simple Object Access Protocol) a REST (Representational state transfer).
Jak přispět?
Výhodou webové verze příručky je, že se dá průbežně doplňovat a upravovat. A jelikož je open-source, může do ní přispívat každý, včetně vás! Jelikož tento web hostije na Githubu, stačí, když na GitHubu pošlete pull request.
Budu velice rád, když mě upozorníte na nějaké nesrovnalosti, chyby, či překlepy. Díky moc!