+- vznikl obrovský trh z mobilními aplikacemi
+- s mobilními aplikacemi přichází touch-screen, což má obrovský impakt na UI
+- Windows Metro, Ubuntu Unity - snaha sjednotit UI mobilních a desktopových aplikací, za cenu kompromisů (např. absence hover akcí na touch screenu), zkuste se odhlásit ve Windows 10
+- dlouho jsme měli klávesnici, myš a nepsanou dohodu o tom, jak má vypadat widget-set
+
+## Potřebujeme vůbec GUI?
+
+### Výhody/nevýhody GUI aplikací
+
+- Uživatel může být hloupější a nemusí se tolik učit, existuje jisté latentní Know-How, aplikace se ovládají obdobně pomocí stejných typů widgetů.
+- Stačí pasivní znalost UI.
+- Větší vyjadřovací schopnost, obrázek má nespornou vyjadřovací schopnost.
+- Lze maximálně využít display.
+- Počítačová grafika
+- Většinu aplikace tvoří GUI
+- Lze je používat v režimu sváteční uživatel
+
+### Výhody/nevýhody CLI aplikací
+
+- Učící křivka je jednotkový skok
+- Lze jednoduše skriptovat a automatizovat práci
+- Většinu aplikace tvoří business logika
+- Je třeba je používat pravidelně, jinak uživatel zapomene, jak se to vlastně psalo
+
+### CLI aplikace s GUI kabátkem
+
+- Na desktopu ideální stav
+- Asi nejvíc práce
+
+## Tvorba aplikaci
+
+### Požadavky na aplikaci
+
+- **MULTIPLATFORMNOST** (MacOSX, Windows, Linux) (Android, iOS, Windows Mobile, Ubuntu Mobile, Sailfish OS - Jolla, ...)
+- **Write once, deploy everywhere** - jako developer jistě chcete svou aplikaci napsat jednou a pak ji prodávat na všech platformách
+- UI adaptability
+- widgetset
+- layout manager
+- atd. ...
+
+### Některé platformy
+
+- desktop
+ - Linux
+ - OSX
+ - Windows
+- web
+ - HTML5 + frameworky (Django, Ruby on rails, NodeJS, ...)
+- mobile
+ - Android - Java
+ - Apple iOS - Object C
+ - Windows Mobile
+ - Ubuntu Phone - HTML5, Qt/QML
+ - Sailfish OS - HTML5, Qt/QML
+
+**Je pozoruhodné, kolik z těchto platforem je podporováno knihovnou Qt.**
+
+### Vývojové nástroje
+
+- IDE
+- Build System (CMake, QMake, Ant, ...)
+- Source Code Management (Git, Mercurial, Bazaar, Darts, SVN, CVS, ...)
+- Issue Tracking System (Jira, BugZilla, GitLab, GitHub, Redmine, Track, ...)
+- Code Review (GitHub, GitLab, Gerrit, ...)
+- Continuous Integration CI (Jenkins, Travis, GitHub, ...)
+- Testing Framework
+- Documentation Wiki (Confluence, IkiWiki, GitLab, GitHub, DokuWiki, <1000 skipped>, MediaWiki)
+- Process Planning, Agile, Scrum, Kanban, Waterfall, (Jira, Redmine)
+
+
+[[!table class="borders" data="""
+Firma | Počet zaměstnanců | SCM | CI | Wiki | Issue tracking | Planning
+Firma1 | 1 | Git | | DokuWiki | todo.txt | včera vám to uděláme
+Firma2 | 10 000 | Git, SVN | Jenkins | Confulence | Jira | Scrum s lidskou tváří
+Firma3 | 200 000 | Git | Jenkins | Confulence | Jira | Scrum s ďábelskou tváří
+Firma4 | 200 | Git | Jenkins, Travis | GitLab | GitLab | káva po obědě
+"""]]
+
+### Krátká odbočka do korporátního světa
+
+* Každý developer, který chce pracovat v IT firmě, musí umět GIT.
+* Každý developer, který chce dělat něco užitečného v IT firmě, musí vědět, co je:
+ * Process
+ * Thread + synchronization
+ * Mutex
+ * Socket
+ * Virtuální paměť
+ * Znalost nějakého programovacího jazyka je velkou výhodou
+ * Kvalitní developer nemusí umět mnoho programovacích jazyků, stačí 5-6, ale pořádně
+
+
+----------
+
+
+#Grafický subsystém např. v Unixu
+
+vždy je dobré znát protivníka
+
+## X Window System