Paralelní programování a vícevláknové aplikace ve Swift - Online kurz
Tutoriály online kurzu o paralelním programování ve Swift se zabývají vývojem vícevláknových aplikací pro chytré telefony a tablety Apple se systémem iOS s využitím vývojového prostředí Xcode a vysvětlují, jak spouštět úlohy na pozadí a na více jádrech procesoru pro zvýšení výkonu aplikace.
Syntax jazyka samozřejmě vychází z angličtiny. Pro pohodlnější výuku jsou však naše Swift tutoriály kompletně v češtině.
4 lekcí
Co se v kurzu naučíš?
Budeš umět vytvářet aplikace plně využívající moderní vícejádrové procesory a spouštějící náročné úlohy na pozadí. Moderní kurz nabitý praktickými příklady tě vystřelí na tvé cestě za platem až 110.000 Kč.
Tutoriály Swift kurzu tě nejprve uvedou do problematiky
vícevláknových aplikací. Dozvíš se, že hlavní vlákno jako
jediné obsluhuje UI aplikace a jak její další části
delegovat na jiná vlákna. Okrajově zmíníme třídu Thread
,
která se ve Swift příliš nevyužívá a tak se zaměříš na API
GCD (Grand Central Dispatcher), které umožňuje
efektivně řídit jednotlivé procesy.
Naučíš se jim pomocí QoS (Quality of Service) nastavovat jeden ze čtyř možných stupňů priority a zajistit, aby se dvě různá vlákna vzájemně neblokovala, protože drží reference na sebe navzájem a tím pádem nikdy nedojde k jejich dealokaci.
Poté se dozvíš, jak ve své aplikaci využít alternativní práci s vlákny, k čemu je dobrý cyklus run loop a jak různým akcím nastavit opakované spuštění. Budeš také umět danou akci na určitý čas odložit nebo ji po určité době ukončit.
V praktickém příkladu se naučíš stahovat do aplikace
obrázky z internetu a vyhledávat je tematicky pomocí
klíčových slov. Nejprve si vyzkoušíš řešení bez využití paralelního
programování a uvidíš, jak se aplikace zasekává. Poté ji upravíš dle
získaných vědomostí multithreadingu a vše bude fungovat
mnohem lépe i pokud manuálně snížíme rychlost stahování na zařízení.
V kódu také použiješ např. konstrukci defer
a naučíš se
hlídat činnost a stav jednotlivých vláken.
Online tutoriály Swift
Cena: 50 Kč