Multiplatform alkalmazásfejlesztés kihívásai egy városi közlekedést segítő alkalmazáson keresztül

OData támogatás
Konzulens:
Dr. Toka László
Távközlési és Médiainformatikai Tanszék

Az elmúlt pár évben a számítástechnika világában a semmiből óriási iparággá váltak az okostelefonok. Az okostelefonok sikerét sokan sok különféle faktorokhoz kötik, szerintem nagy köze volt hozzá annak, hogy az okostelefonokra rengeteg különböző alkalmazás érhető el, melyek segítségével a felhasználók személyre szabhatják telefonjuk tudáskészletét.

Ezeket az alkalmazásokat azonban el is kell készíteni és így az okostelefonok megjelenésével több új szakma is megszületett, melyek a mobilalkalmazások elkészítésével foglalkoznak.

Szakdolgozatom keretén belül a mobilalkalmazás fejlesztők egy nagy problémáját, a multiplatform alkalmazásfejlesztést járom körbe és mutatom be kihívásait.

Alapvetően jelenleg két szereplő uralja az okostelefonok operációs rendszereinek felhozatalát: a Google tulajdonában lévő Android és az Apple iOS-e.

Ha a fejlesztő szeretne sikert aratni alkalmazásával, akkor jobban teszi, ha mindkét platformra kiadja azt, lehetőleg egy időpontban. A két rendszerre történő alkalmazáskészítés azonban sok szempontból eltérő. Más fejlesztői környezetet és más programozási nyelvet kell használni hozzájuk és a rendszerek is más dizájn-elveket és paradigmákat alkalmaznak. Így a sikerhez a fejlesztőnek kétszer annyi munkát kell végeznie és ha kész is lesz az alkalmazással mindkét platformra, a jövőben az alkalmazás karbantartásakor, frissítésekor és hibajavításakor is két helyen kell módosítania. Így a két platform hosszútávon közel kétszerannyi energiabefektetéssel jár.

Ez a probléma természetesen már sokak fejében megfordult, ezért a fejlesztők számára több különböző olyan eszköz létezik, amelyek segítségével egyszerűbben készíthetik el alkalmazásaikat a legnépszerűbb mobil operációs rendszerekre.

Feladatom volt a félév során, hogy elkészítsek egy városi közlekedést segítő natív iOS alkalmazást, egy azt támogató szervert és utána egy multiplatform fejlesztői eszközzel elkészítsek egy, a natívhoz hasonló funkcionalitású alkalmazást és ezen a példán keresztül bemutassam a multiplatform fejlesztés nehézségeit.

Szakdolgozatom a feladat értelmezése után 6 fő fejezetre bontottam. Az első, bevezető fejezet után a másodikban megvizsgálok 3 multiplatform fejlesztői eszközt, a Xamarin-t (beleértve a Xamarin.Forms-t), a React Native-ot és a még friss Scade-et, majd összehasonlítom őket és megindokolom, hogy miért választottam munkámhoz a Xamarin.Forms-t. A harmadik fejezetben a szerveralkalmazás felépítését mutatom meg, majd a negyedik fejezetben részletesen kifejtem a mobilalkalmazás funkcionalitását. Az ötödik fejezet a natív iOS lehetőségekkel elkészített alkalmazás és a Xamarin.Forms multiplatform eszközzel készített alkalmazás implementációjáról, a kettő megoldás összehasonlításáról és a tesztelésükről írok. Végül, de nem utolsó sorban, a hatodik fejezetben összegzem a munkám során szerzett tapasztalatokat és felvázolok néhány jövőbeli fejlesztési ötletet az alkalmazáshoz és a szerverhez.

Letölthető fájlok

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