90 likes | 201 Views
AIRDANCE – realizácia multiplatformovej aplikácie typu klient - server. Juraj Pančík juraj@pancik.com Gymnázium JG Tajovského Tajovského 25, Banská Bystrica. Úvod. V dnešnej dobe je veľký tlak na vývojárov poskytovať svoje aplikácie na viacerých platformách
E N D
AIRDANCE – realizácia multiplatformovej aplikácie typu klient - server Juraj Pančík juraj@pancik.com Gymnázium JG Tajovského Tajovského 25, Banská Bystrica
Úvod • V dnešnej dobe je veľký tlak na vývojárov poskytovať svoje aplikácie na viacerých platformách • Vývojári hľadajú kompletné riešenia pretože takýto vývoj predstavuje niekoľko problémov • Vyvíjaná aplikácia je vo forme hry • Preferovaný je sociálny kontakt napríklad cez internet • Vhodné použiť typ spojenia klient – server • Realizácia = Návrh + Implementácia
Ciele práce • Dve aplikácie • Vytvoriť klientskú aplikáciu • Bude spustiteľná a zároveň plne funkčná na viacerých platformách • Prispôsobuje sa viacerým veľkostiam obrazoviek • Optimalizované pre slabšie zariadenia • Po prerušení behu je schopná obnovenia svojho stavu • Vytvoriť serverovskú aplikáciu • Bude bežať nepretržite a odpovedať viacerým klientom naraz • Po prerušení behu je schopná obnovenia svojho stavu
Metodikačasť návrhu • Definícia požiadaviek • Pre klienta • Pre server • Následná analýza a návrh • Popis implementácie • Programovací jazyk Java • Knižnica LibGDX, KryoNet, Gson • Grafický rasterizátorOpenGL, zvuková knižnica OpenAL • Jednotná báza kódu • Testovanie funkčnosti
Metodikačasť implementácie • Klientská aplikácia beží v LibGDX rozhraní • Prvky používateľského rozhrania a ich prispôsobovanie sa veľkosti obrazovky • Serverovská komunikuje s klientom cez KryoNet • Ukladá dáta každý deň o polnoci
Výsledky práce • Optimalizovaný klient aj pre staršie zariadenia • Klient komunikuje so serverom • Klient je nezávislý od servera • Klient funguje na viacerých platformách • Server zálohuje dáta • Server vie obnoviť svoj stav po prerušení behu • Napísaných 9500 riadkov kódu pre klienta a 900 riadkov pre server
Závery práce a diskusia • Ciele splnené • Podporované platformy: Windows, Linux, Mac, Android • Práca prináša kompletné riešenie pre multiplatformový vývoj • Klient však nie je možné urobiť úplne bezproblémový • Server nie je tak robustný ako by mohol byť, možnosti útoku • Ďalší rozvoj v podpore nových platforiem: HTML5 a iOS
Ďakujem za pozornosť Nasleduje praktická ukážka