Skip to content

Instantly share code, notes, and snippets.

@iiic
Created December 5, 2012 22:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iiic/4219914 to your computer and use it in GitHub Desktop.
Save iiic/4219914 to your computer and use it in GitHub Desktop.
Popularizace IT
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>HTML</title>
</head>
<body>
<h1>Dělejte weby !</h1>
<p>
<i class="perex">
Webové stránky zná zaručeně každý, nebo alespoň ví o co jde. Možnost jak vizuálně prezentovat text, nebo v dnešní době i video,
či zvuk pomocí Internetu, nebo jiné počítačové sítě. Aktuální statistiky používání počítače ukazují, že právě internetový prohlížeč
je tím programem, který po startu počítače spouštíme jako první a vypínáme ho jako poslední. Zároveň je to aplikace u které uživatel
tráví nejvíce času. Takže buďte součástí této celosvětové sítě.
Udělejte si vlastní stránky, nebo dokonce celou aplikaci provozovanou pomocí internetového prohlížeče !
</i>
</p>
<h2>Motivace</h2>
<p>
Potřebuje váš fotbalový klub webovou prezentaci pro získání sponzorů?, Nevyhovuje vám žádný z online hudebních katalogů?
Chcete vytvořit fórum pro pro uživatele stejné značky mobilních telefonů? Potřebujete jednoduchou aplikaci na vedení domácího účetnictví,
ale nechce se vám tyto potenciálně citlivé údaje svěřovat cizí aplikaci, nebo stránce? Na tohle všechno vám pomůže znalost html,
některého ze serverových programovacích jazyků a několik užitečných rad, které se na vysoké škole chtíc nechtíc dozvíte.
</p>
<h3>To už jsme měli na střední, nestačí to?</h3>
<p>
Mohlo by, pokud děláte web, který uživatelé budou muset používat (k tomu vám pomůže exkluzivní obsah), ale jejich zážitek z používání
takové služby by mohl být lepší. Pokud si budou moci vybrat, budou na chování webu velmi nároční. Pak bude každá rada drahá.
Záleží především na typu webu, který chceš dělat. Někdy je dostačující, udělat web rychle s minimálními náklady (a to i náklady na čas).
Na to jsou nejvhodnější služby, které se právě na něco takového specializují. Jde o editory tipu
<a href="http://cs.wikipedia.org/wiki/WYSIWYG">WYSIWYG</a> ať už ve formě desktopové aplikace,
nebo webové služby. S pomocí takovýchto nástrojů můžete s minimem znalostí stvořit funkční web velice rychle. Problém je jen,
že dokonalosti takto nedosáhnete, musíš se spokojit s tím, co nástroj umožní, i když to třeba nebude přesně podle vašich představ.
</p>
<h4>Nové znalosti</h4>
<p>
V oblasti webových stránek je dnes velmi zajímavý vývoj. Zajímavé na něm je především to, jak rychle jde kupředu. Podobně,
jak v javascriptu je třeba každou metodu před použitím otestovat, jestli ji prohlížeč umí, nyní podobné testy přicházejí i do CSS a v
oblasti značkovacího jazyka HTML přináší jeho nejnovější 5. verze taky vylepšení umožňující rychlejší vývoj. Součástí standardu HTML5
totiž je přesně popsáno, jak se vyrovnat s dosud neznámými tagy i atributy. Je to z důvodu dopředné kompatibility. Takže až v budoucnu
bude poptávka po nových vlastnostech, které by html standard měl mít, nebudou ani starší prohlížeče (které už budou umět HTML5) mít
problém s tím, jak s novými tagy, nebo atributy naložit. Nebudou novou funkci sice umět použít, ale v žádném případě nedojde k znefunkčnění
stránky. Stejně tak nový DTD se zjednodušil a už neobsahuje číslo verze.
Je to z toho důvodu, že HTML5 je už poslední verzí, se kterou <a href="http://www.w3.org/">W3C</a> počítá.
Volně totiž přejde do takzvaného HTML living standard,
který bude velmi rychle přinášet drobná vylepšení, která budou přímo reagovat na aktuální potřeby společnosti.
Tyto změny budou přinášeny tak rychle, že vydávat nějaký standard a ještě číslovat jeho verze by bylo naprosto nepřehledné.
Výrobci prohlížečů budou pak tyto novinky rychle implementovat, a na programátorovi pak už bude, aby si existenci nové funkce
v prohlížeči ověřil a podle toho se svým webem naložil. Což je mimochodem stejná situace jako s aktuálním HTML5.
Více práce pro programátora, ale více novinek pro uživatele. Webové technologie budou díky HTML5 použitelné na stále více věcí,
na které by dříve nikdo při jejich použití ani nepomyslel. Přináší totiž například offline režim, kde je možné rozsáhlé části
kódu obsahující, obrázky, texty i javascripty uložit v prohlížeči uživatele a používat je i bez připojení k internetu.
Díky těmto novinkám můžeš už dnes číst a psát maily i bez dosahu internetu a to jen s jejich webovým rozhraním… speciální aplikace netřeba.
A že jde s HTML5 toho dokázat spousta ukazuje například Rovio, které přepsalo jejich populární hru Angry Birds právě s pomocí této technologie
a nejen, že všechno funguje stejně jako na mobilních platformách, ale hra podporuje i offline provoz, kdy se dosažené skóre ukládá v prohlížeči
a v nejbližší vhodné příležitosti, kdy je v dosahu připojení k internetu se vše synchronizuje se serverem.
</p>
<h2>Nové znalosti</h2>
<p>
Novinek je tolik, že zastarávání webových stránek bude o to markantnější. U malých webů se dá říct, že jsou ve vývoji, nebo hotové.
U větších stránek, které mají návštěvníky, kteří se pravidelně vracejí se ale mluví o živých, nebo mrtvých webech, podle toho,
jestli je někdo stále vyvíjí, nebo už na inovace rezignoval. Je pak myslím jasné, že na mrtvé weby se návštěvníci zrovna
nehrnou a namísto toho jich jen ubývá.
Neustálé vzdělávání se už stalo běžnou součástí práce každého, kdo to s weby myslí vážně. Jinak se může ucházet tak maximálně o státní zakázky.
</p>
<h2>Strana serveru</h2>
<p>
No a jestli ti vývoj na straně klienta připadá příliš zběsilý, jak tedy správně nazvat vývoj technologií na straně serveru,
kde je všechno ještě o několik řádů rychlejší a rozmanitější. Novinky nejsou rozhodně samoúčelné,
ale řeší nedokonalosti v oblasti serverových programovacích jazyků.
Většina lidí začne s něčím jednoduchým, jako je třeba PHP, ostatně taky proto je to světově nejrozšířenější programovací
jazyk pro dynamický webový server. Jenže základní funkcionální PHP jim brzy přestane stačit. Další logický vývoj je přejít na objektové
programování PHP, nebo, když už dělat takový velký skok, tak rovnou k jinému jazyku. Ostatní totiž také nabízejí unikátní vlastnosti.
Ruby je jeden z novějších jazyků a je téměř nerozlučně svázán s frameworkem Ruby on Rails. Specializuje se na velmi rychlé dosažení kýženého
výsledku a dělení aplikace podle <a href="http://cs.wikipedia.org/wiki/MVC">MVC</a> modelu.
Python je sice jedním z nejstarších a neoplývá příliš usnadňujícími funkcemi,
zato ale aplikace napsané v něm jsou velmi nenáročné na hardware a proto vhodné pro náročné aplikace využívané mnoha uživateli současně.
Nebo rovnou Java, která nabízí pouze objektové programování a je tedy přímo určena pro pokročilé uživatele. Další zajímavou
alternativou jsou potom javascripty přímo na serveru, v poslední době jich přibývá jako hub po dešti. Tady je jasná výhoda v tom,
že když už javascript ovládáte stačí vám jen nastudovat si API daného jazyka a máte vše potřebné k výrobě pokročilé webové aplikace.
Pokud se ti do ničeho nového nechce i na to je v PHP řešení... mnoho pokročilých frameworků, které ti umožní psát všechny myslitelné
weby mnohem rychleji a sami se vypořádají s bezpečnostními ryziky, a umožní snáze spravovat rozsáhlé zdrojové kódy, tak, aby na nich
mohlo spolupracovat více lidí. Možností je nespočet. Na každý z programovacích jazyků existují spousty různých frameworků, které je možné
použít zdarma a i libovolně si je přizpůsobit. Obecně se dá říct, že vždy je lepší použít existující řešení, než začít znovu vytvářet své
vlastní, ale pochopení cizího kódu může být dosti obtížné.
Je potřeba se naučit jisté standardní postupy a pravidla, která se při programování používají. V tomhle ti škola ušetří velké množství času,
který bys jinak musel strávit samostudiem.
</p>
<h2>Všechno se zjednodušuje</h2>
<p>
Vývoj novinek nejde v žádném případě v nějakých kruzích, nýbrž postupuje dopředu. Sice se musíš učit mnoho novinek, ale ty staré
můžeš často zapomenout. Zní to nepříjemně, ale není to tak hrozné, zvlášť začátečník, pokud s tvorbou stránek začne, může už určité postupy,
které by se ještě před pár lety musel naučit může nyní úplně přeskočit. Nástroje se specializují především na šetření času programátora.
Dlouho vždy zabere třeba tvorba formulářů. Dnešní frameworky vám usnadní čas například tím, že programátor tvoří ověření zadaných
dat uživatelem pouze jednou. Framework sám už pak z těchto údajů vytvoří ověření jak na straně klienta (javascript),
tak na straně serveru. Zároveň umí data z formuláře uložit do databáze tak, že název
<a href="http://docs.webplatform.org/wiki/html/elements/input">input</a> odpovídá názvu sloupce v tabulce.
A ano, odpověď na otázku, jestli je tedy nutné vytvářet jak formulář, tak tabulku se nabízí.
Stačí vytvořit formulář a tabulku do databáze vygeneruje program sám. Tyto postupy vám ušetří obrovské množství času.
Trend je ve všech odvětvích stejný, snížit čas potřebný na tvorbu, ale i následné změny stránek. Například i v oblasti CSS,
které se zdá, že žádné vylepšení nepotřebuje jich je možné vylepšení udělat mnoho a užitečných. Existují zde CSS preprocesory,
které umožní znovu použití kódu, využití proměnných, nebo funkcí.
Pokud například používáte stejnou barvu na mnoha různých částech stránky definujete si ji jako proměnnou, pokud je později potřeba
barvu změnit vše se provádí z jednoho místa. Není třeba prozkoumávat kód a hledat kde všude je daná barva použita.
Kdo se naučí nové technologie ušetří spoustu času. Těch co dělají weby je hodně a umí!
</p>
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>HTML</title>
</head>
<body>
<h1>Software chytrých telefonů</h1>
<p>
<i class="perex">
Chytré telefony i tablety se standardními operačnímy systémy jsou mantrou dnešní doby. Myslím, že není technika, kterého by
tyto moderní zařízení nezajímaly. Je to totiž obor, který zrovna prochází nejrapidnějším vývojem. A tvořit software pro ně
je dnes o to zajímavější podnikatelský záměr.
</i>
</p>
<h2>Operační systémy v mobilních telefonech</h2>
<p>
Je to skutečně tak. Do mobilních telefonů se dostává pro tento účel speciálně vytvořený operační systém. Tedy už neplatí,
že každý výrobce přístrojů má svůj systém, který je specifický právě pro daného výrobce přístrojů a liší se dokonce i u
každého z jednotlivých přístrojů v jeho nabídce. Výhody jsou jasné. Uživatel se nemusí pokaždé učit s novým systémem a může
si vybírat přístroje napříč širokou škálou výrobců i různých cenových hladin. Také ruku v ruce s tím jde rozmanitost aplikací,
které se na takový operační systém dají sehnat. Když mají vývojáři jistotu, že jejich aplikace bude i v dalších letech a v
dalších telefonech stále fungovat mají větší motivaci pro takovýto systém své aplikace programovat.
</p>
<h2>trocha historie mobilních OS</h2>
<p>
První kdo takovéto standardizované mobilní operační systémy začal používat byla Nokia a její systém se jmenoval Symbian.
Jeho problém ovšem byl, přílišného rozšíření se ale nedočkal. Nebylo to snad z důvodu nízké kvality, ale spíše proto,
že ho Nokia nasazovala jen do dražších přístrojů a také proto, že byl pouze pro Nokie. Ten kdo začal tvořit operační
systémy a nabízel ho výrobcům telefonů za určitý licenční poplatek byl Microsoft. Jenže jeho operační systém Windows mobile
byl velice nepovedený. To mi věřte, používal jsem ho. Nebyl navíc dobře ovládatelný na dotykových displayích. Microsoft
počítal s ovládáním přes směrový kříž, potvrzovací tlačítka a celou číslenou klávesnici. Velké popularity, obzvláště v
USA se dočkaly telefony BlackBerry od kanadské společnosti RIM. Masovou poptávku po chytrých telefonech nastartoval ale
až Apple, se svým iPhonem. Ten totiž nabídl ovládání dobře používané prstem ruky a display bez číselníku a AppStore,
obchod s aplikacemi, který později chtěla každá softwarová firma. Problém iPhonu a jeho iOS je ale to, že Apple svůj operační
systém nenabídl dalším výrobcům mobilních telefonů. A přístroje Applu byly pro většinu světové populace příliš drahý.
Zajímavou inovaci následně přinesl Google a jeho Android, který je postavený na otevřených technologiích a snadno ho může
do svých zařízení nainstalovat každý výrobce telefonů (a že jich po příchodu Androidu přibylo!). Microsoft samozřejmě
nemohl zůstat pozadu a nabídl dobře vypadající i dobře ovladatelný Windwos Phone. Ten teď s Androidem a iOS zápasí v
nelítostném boji o přízeň zákazníků
</p>
<h2>Co smartphony aktuálně nabízí</h2>
<p>
Ví dnes téměř každý, ostatně i kdyby nechtěl stále mu to předhazují televizní reklamy. Jde o mnoho drobností, které
mohou zpříjemnit každodenní život. Například když ve vlaku zapomeneš vystoupit a přejedeš zastávku, vytáhneš smartphone
a je vyhráno. Na něm totiž můžeš najít vhodné aplikace, pomocí kterých se podíváš, kdy ti jede další vlak, nebo jestli
bude výhodnější jít pěšky. Díky navigaci se nestratíš, přesně víš kde jsi, kam máš dojít i jak dlouho bude taková cesta
trvat. Pokud bude ale výhodnější použít vlak, aplikace nejen, že spoj vyhledá, ale umí ho i přidat do kalendáře a s
vhodným předstihem na něj upozornit, ale i rovnou zakoupit a zaplatit jízdenku. Nebo jiné úžasné možnosti... existují
aplikace, které s využitím kompasu, zjištěné polohy a akcelerometru umí zobrazit hvězdnou oblohu s názvy souhvězdí.
Stačí večer natočit telefon směrem k danému místu a hned vidím, jak se to které souhvězdí jmenuje. Navigace pro pěší,
pro auta, spousta her, sociální sítě, internetové prohlížeče srovnatelné kvalitou s těmi Deskopovými. To všechno jsou
dnešní smartphony. Protože přístroje ví, že nemusíte mít vždy internet mají i synchronizaci, na velmi vysoké úrovni.
Třeba kontakty si můžu prohlédnout jak z telefonu, tabletu, tak z počítače, všechno tohle se vzájemně synchronizuje,
takže jakákoliv změna, nebo přidání nového kontaktu se projeví na všech zařízeních hned, jak budou mít dostupný internet.
Stejně tak se přenášejí maily, kalendář, RSS zdroje čtečky, a neomezeně dalších aplikací... stačí si jen vybrat.
</p>
<h2>Co nám smartphony nabídnou v budoucnu</h2>
<p>
Tady je situace ještě optimističtější. Všechny tyto moderní platformy zatím nejsou úplně dokonalé, optimalizace pro ARM
procesory by se mohla stále zlepšit a tím zvýšit výkon. Naštěstí vývojáři mobilního softare nezahálejí a pracují na tom,
takže i starý přístroj neustále dostává aktualizace svých aplikací a někdy i operačního systému samotného. V tomto směru
je nejzajímavější Android, jeho systém je totiž otevřený a dostává tak aktualizace nejen od Google, ale můžete si stáhnout
klidně operační systém přestavěný komunitou.
Velice zajímavé projekty také vznikají v oblasti automobilové navigace… Telefon oproti běžné navigaci má více senzorů a
s jejich využitím jdou dělat pro běžné navigace věci nevídané. Jde o takzvanou rozšířenou realitu, kdy se mobilní zařízení
připevní do držáku na čelní sklo automobilu a přes kameru snímá vozovku. Samotné navigační prvky pak může takováto navigace
umisťovat přímo na reálný obraz vozovky a tak třeba na křižovatce může šipku na odbočení ukázat přímo na danou vozovku.
Zároveň může takováto navigace reagovat na objekty na silnici jako překážky, nebo ostatní automobily. Díky tomu, že zná
aktuální rychlost vozidla a vidí obraz může třeba snadno spočítat bezpečnou vzdálenost od předchozího automobilu a
varovat řidiče v případě, že je příliš blízko.
Rozšířena realita ale není určena pouze pro navigace. Zajímavé jsou třeba projekty, které v reálném čase překládají
cizojazyčně psané texty při jejich zobrazení kamerou. Většinou jde o projekty v beta verzích, nebo v přípravě, ale jistě
se jich brzy dočkáme… a bude to hit.
To mě přivádí na zajímavou myšlenku. Nechceš být u toho? Přijď studovat technické obory, těch příležitostí na zajímavé
aplikace, na kterých se pochopitelně dají získat pěkné peníze je stále hodně.
</p>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment