Dinamikus adatszerkesztő komponens fejlesztése Xamarin környezetben

OData támogatás
Konzulens:
Tóth Tibor
Automatizálási és Alkalmazott Informatikai Tanszék

A mobiltechnológia rohamos fejlődésének köszönhetően napjainkra az online eszközpark több, mint felét a mobileszközök képviselik. Az okostelefonok térhódításának következményeként egyre több webes szolgáltatás válik elérhetővé mobilalkalmazások formájában is, javítva ezzel a felhasználói élmény minőségét. Ez a fajta átállás – főleg az online ügyintézést biztosító rendszerek esetén – gyakran összetett adatkezelő felületek, és ezt kiszolgáló logikák megvalósítását igényli.

Ennek a funkcionális követelménynek a kielégítését hivatott megkönnyíteni a szakdolgozatom keretein belül elkészített, dinamikus adatszerkesztő komponens. A fejlesztés célja egy olyan modul implementálása, amely egy adatmodell, és a hozzá csatolt metaadatok értelmezésével képes natív szerkesztőfelületet generálni az alkalmazás által menedzselt entitások adatainak módosításához. A Xamarin.Android platformon megvalósított plugin kész megoldást nyújt az említett problémára, nyitva hagyva a lehetőségét az egyértelműen alkalmazás-specifikus elemek – például megjelenés, validáció, automatikus kiegészítés támogatás – szabad konfigurálására.

Az implementáció az MVVM architekturális mintára épül, melynek alkalmazását az MvvmCross keresztplatformos keretrendszer segítette elő. Ennek használata számos ponton könnyítette meg a tervezést és a megvalósítást egyaránt. Beépített függőségtárolójával lehetővé tette az egyes komponensek laza csatolását, ezáltal egy jól strukturált és egyszerűen használható programozói interfész kialakítását. Adatkötés segítségével és a platformspecifikus nehézségek elabsztrahálásával leegyszerűsítette a felületgenerálás folyamatát, illetve biztosította az elkészült komponens megfelelő integrálhatóságát.

Szakdolgozatomban bemutatom az alkalmazott technológiákat, a különböző tervezői döntéseket, és egy példaalkalmazáson keresztül szemléltetem az elkészített modulban rejlő lehetőségeket. Részletesen kitérek a hangsúlyosabb funkcionalitások – többek között az autocomplete eszköz és a FluentValidation integráció – megvalósítására. A fejlesztés során elsődleges szempont volt a plugin képességeinek egyszerű bővíthetősége – dolgozatomban igyekszem az implementációt ebben az aspektusában ismertetni.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.