Det finns flera olika tillvägagångssätt för att göra det möjligt att skapa program som kan exekveras på flera olika plattformar. Detta tillvägagångssätt för utveckling mot flera plattformar, kallas plattformsoberoende utveckling. En av teknikerna för plattformsoberoende utveckling, bygger på att de specifika plattformarna har tillgång till en virtuell maskin som programmet kompileras mot. Den virtuella maskinen översätter sedan koden till plattformens specifika maskinkod. Denna teknik används bland annat av plattformsoberoende språk som Java och .NET-familjen. Andra tekniker som exempelvis förprocessering (eng. Preprocessing), möjliggör plattformsoberoende genom att programmets källkod kompileras olika beroende på vilken plattform som programmet ska exekveras på.Studien hade för avseende att utreda problemen med plattformsoberoende utveckling mellan de mobila plattformarna Android, iOS och Windows Phone 7. Utredningen visade att det vid studiens utförande, inte fanns något ramverk eller annan teknik som till fullo hade stöd för att skapa ett högpresterande mobilspel för målplattformarna. Genom användandet av Mono for Android och XNA skapades ett plattformsoberoende spel för plattformarna med utvecklingsspråket C#. Plattformsoberoendet kunde uppnås tack vare Mono Runtime som är en implementation av Common Language Runtime för Android och iOS. Common Language Runtime är .NET’s plattformsoberoende teknik och är en virtuell maskin.Mobilspelet skapades för att påvisa att utveckling av plattformsoberoende funktionalitet för 2D- och 3D-grafik, användarinmatning och hantering av media, är möjligt. Spelprototypens funktionalitet togs fram genom att undersöka populära mobilspel, ute på marknaden idag. För plattformsoberoende grafik användes en spelmotor vid namn Axiom, för användarinmatningen samt hanteringen av media utvecklades egna lösningar. Med spelet visade studien att det är möjligt att skapa plattformsoberoende, högpresterande spel för plattformarna Android och Windows Phone 7. Att lösningen fungerar även för iOS bevisades bara teoretiskt då Axiom vid studiens tidpunkt inte hade fullt stöd för utveckling till plattformen. Teknikerna som lösningen utnyttjade var en virtuell maskin för varje plattform samt förprocessering som såg till att vissa delar av källkoden kompilerades specifikt för de olika plattformarna.Lösningen som studien presenterar är inte en fullskaligt plattformsoberoende lösning då källkoden innehåller vissa plattformsspecifika delar. Dock har lösningen visat att mycket av koden är plattformsoberoende mellan plattformarna. Det är främst implementationen av användarinmatningen och hanteringen av media som innehåller plattformsspecifik kod. Därför med dessa redan implementerade är det möjligt att nästan helt och hållet skapa ett plattformsoberoende, högpresterande spel för målplattformarna. / Program: Systemarkitekturutbildningen
Identifer | oai:union.ndltd.org:UPSALLA1/oai:DiVA.org:hb-16752 |
Date | January 2012 |
Creators | Jeppsson, Andreas, Snygg, Johan |
Publisher | Högskolan i Borås, Institutionen Handels- och IT-högskolan, Högskolan i Borås, Institutionen Handels- och IT-högskolan, University of Borås/School of Business and IT |
Source Sets | DiVA Archive at Upsalla University |
Language | Swedish |
Detected Language | Swedish |
Type | Student thesis, info:eu-repo/semantics/bachelorThesis, text |
Format | application/pdf |
Rights | info:eu-repo/semantics/openAccess |
Relation | Kandidatuppsats, ; 2012KSAI06 |
Page generated in 0.0024 seconds