Docker a desktop app
Často slýcháváme, že Docker (kontejnerizace) a microservices nejsou vhodné pro vývoj desktopových aplikací. Argumentem bývá, že aplikace jsou vytvářené pro Windows, který Docker nepodporuje.
Rádi bychom tyto argumenty vyvrátili.
Kontejnerizace a microservices jsou pro tato použití vhodná, avšak za dodržení jistých postupů.
Aplikace, které se vyvíjejí řadu let, někdy i desítky, časem zastarávají a je potřeba modernizovat. Zde vám kontejnerizace může výrazně pomoci.
Současný stav:
- Nízká rychlost - Výpočty probíhají v klientské části a data zahlcují linku k databázi.
- Ovládání přes terminálový server – vzdálenou plochu nebo konzoli.
- Nabalování kódu v průběhu let.
- Změna technologie znamená kompletní přepis aplikace.
- Duplicita kódu při současném běhu webové a desktopové verze aplikace.
- Úprava v jednom modulu aplikace může způsobit pád celé aplikace nebo problémy jinde.
- Často vyvíjí jeden vývojář nebo úzce spolupracující tým.
- Složité zapracování a pochopení aplikace pro nové vývojáře.
- Dvouvrstvá architektura
S použitím kontejnerizace:
- Vysoká rychlost - výpočty probíhají na serverové infrastruktuře.
- Napojení jakéhokoliv uživatelského prostředí (mobil, web, desktop).
- Jednoduché úpravy a změny dílčích funkcí.
- Možnost postupných a nezávislých změn pro konkrétní funkce.
- Klientská aplikace je pouze uživatelským rozhraním bez výpočtů odkazující se na funkce v serverové části.
- Úprava v jednom modulu nemá vliv na kód jiných nezávislých modulů.
- Nezávislé týmy a vývojáři jak klienta, tak pro dílčí části aplikace.
- Jednoduchost a přehlednost kódu nezávislých modulů.
- Trojvrstvá architektura
Schéma – dvouvrstvá aplikace
Schéma – trojvstvá aplikace