Docker a desktop app


Často počujeme, že Docker (kontajnerizácia) a mikroservisy nie sú vhodné pre vývoj desktopových aplikácií. Argumentom je, že aplikácie sú vytvorené pre Systém Windows, ktorý Docker nepodporuje.

Tieto argumenty by sme chceli vyvrátiť.

Kontajnerizácia a mikroservisy sú vhodné na tieto účely, ale podliehajú určitým postupom.

Aplikácie, ktoré sa vyvíjajú už mnoho rokov, niekedy aj desiatky, sa časom stávajú zastaranými a je potrebné ich modernizovať. Tu vám kontajnerizácia môže veľmi pomôcť.

Aktuálny stav:

  • Nízka rýchlosť - Výpočty sa konajú v sekcii klienta a dáta zahlcujú linku do databáze.
  • Ovládanie cez terminálový server - vzdialenú pracovnú plochu alebo konzolu.
  • Nabaľovanie kódu v priebehu rokov.
  • Zmena technológie znamená úplný prepis aplikácie.
  • Duplicita kódu pri súčasnom behu webovej a desktopovej aplikácie.
  • Úprava v jednom module aplikácie môže spôsobiť zlyhanie celej aplikácie alebo problémy inde.
  • Často ho vyvíja jeden vývojár alebo úzko spolupracujúci tím.
  • Komplexné zapracovanie a pochopenie aplikácie pre nových vývojárov.
  • Dvojvrstvová architektúra
 

S použitím kontajnerizácie:

  • Vysoká rýchlosť - výpočty sa konajú na serverovej infraštruktúre.
  • Pripojenie akéhokoľvek používateľského prostredia (mobilného, webového, desktopového).
  • Jednoduché úpravy a zmeny samotných funkcií.
  • Schopnosť vykonávať podrobné a nezávislé zmeny pre špecifické funkcie.
  • Klientská aplikácia je len používateľské rozhranie bez výpočtov odkazujúcich na funkcie v sekcii servera.
  • Úprava v jednom module nemá vplyv na kód iných nezávislých modulov.
  • Nezávislé tímy a vývojári pre klienta aj pododdiely aplikácie.
  • Jednoduchosť a jasnosť kódov nezávislého modulov.
  • Trojvrstvová architektúra

Schéma – dvojvrstevná aplikácia

 

Schéma – trojvrstevná aplikácia