Trendy v programování a vývoji aplikací
Otázka č. 15 - pojmy cloud computing a SaaS, big data a data mining, umělá inteligence a strojové učení, open-source vývoj, digitální
distribuce a její důsledky, monetizace aplikací
Cloud computing
= poskytování služeb přes internet
- přístup odkudkoliv pomocí prohlížeče/klientské aplikace
Služby a aplikace
- uživatel si pronajímá HW/SW od poskytovatele
- odpadá nutnost řešení instalací, aktualizací a správy Služby: Datová uložiště, virtuální server, freemail
Aplikace: Plánovače, hry, kancelářské balíky
Distribuční modely
IaaS (Infrastructure as a Service) - poskytování infrastruktury pro vlastní provoz PaaS (Platform as a Service) - prostředí pro vývoj a provozování web aplikací SaaS (Software as a Service) - pronájem aplikací
SaaS = Software as a Service - kupujeme si přístup k aplikaci ne samotnou aplikace
= aplikace neběží u nás ale na serverech poskytovatele Výhody
- nižší počáteční náklady - aktualizace v ceně
- předem známé náklady
- platíme jen za to co využijeme
Nevýhody
- data nemáme u sebe - obtížná customizace
Big data a data mining
= data, která jsou rozsahem mimo schopnosti běžných programů - jsou ukládána v datových skladech (data warehouse)
Příklady
- data pocházející ze senzorů autonomních vozů
- různá data uživatelů např. o procházených stránkách nebo sledovaných reklamách
Data mining = získávání skrytých, potencionálně užitečných informací z dat - použití například v marketingu (jakou reklamu zobrazit)
- vědecký výzkum
Umělá inteligence
= obor informatiky tvořící systémy vykazující inteligentní chování
Typy
- expertní systém (poskytování rad)
- genetické programování (řešení problému evolučními metodami)
- prohledávání stavového prostoru (vylučování možností na základě rozhodnutí) - strojové učení
Strojové učení a neuronová síť
= podoblast umělé inteligence zabývající se technikami umožňujícími programu učit se Typy
- s učitelem (předložíme vzorový vstup a výstup) - bez učitele (vložíme vstupy a necháme pracovat)
- zpětnovazební (předchozí výstup jako jeden ze vstupů)
Neuronová síť = výpočetní model používaný v umělé inteligence - skládá se z jednotlivých vzájemně propojených neuronů
- cílem je nastavit váhy jednotlivých vstupů tak aby poskytovala správný výsledek
Open source
x (free software)= software s otevřeným zdrojovým kódem - možnost užití dle vlastního uvážení
- záleží na typu licencování! (GPL)
Příklady
- LINUX x GNU
(GPL = zdrojové kódy s touto licencí mohou být svobodně upravovány a používány, šířeny však musí být opět pod GPL)
Distribuce a monetizace aplikací
Typy distribuce
- klasická (fyzické médium) - digitální (download)
- bez distribuce (SaaS)
Typy monetizace
- pro sebe (zefektivnění) - na zakázku (DPP)
- bez zakázky (reklamy, mikrotransakce)