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