MeteoCheck Relaunch mit Xamarin

Pulfer, Patrick (2014) MeteoCheck Relaunch mit Xamarin. Student Research Project thesis, HSR Hochschule für Technik Rapperswil.

[thumbnail of MeteoCheck Relaunch mit Xamarin.pdf]
Preview
Text
MeteoCheck Relaunch mit Xamarin.pdf - Supplemental Material

Download (1MB) | Preview

Abstract

Diese Studienarbeit befasst sich mit der plattformübergreifenden Entwicklung für mobile Geräte mit Xamarin als Entwicklungsumgebung. Hinter Xamarin steht das Mono Framework, eine Open Source Implementierung des Microsofts .NET Framework, welches im Jahr 2001 erstmals veröffentlicht wurde. Der Vorteil von Xamarin ist, dass native Applikationen für alle drei führenden mobilen Plattformen mit der gleichen Programmiersprache C# entwickelt werden können. Xamarin hat die Schnittstelle von Android und iOS mit regulären C# Klassen gekapselt. Entwickler profitieren von der modernen Programmiersprache C# und deren Funktionalitäten wie LINQ, funktionalen Lambda Ausdrücken und Generics. Im Gegensatz zu Web Apps wird das User Interface pro Plattform separat programmiert. Dadurch wird das gewünschte Benutzererlebnis erreicht und es können auch leistungskritische Anwendungen wie Spiele programmiert werden. Als primäres Ziel gilt das gemeinsame Nutzen von Code. Mit Hilfe von portablen Klassenbibliotheken ist es möglich, den gleichen Code für alle drei Plattformen zu nutzen. Eine saubere Trennung zwischen dem User Interface und dem Business Layer ist erstrebenswert. Um dies zu erreichen, muss das Model-View-ViewModel Muster (MVVM) plattformübergreifend genutzt werden können. Das Framework MvvmCross stellt hierfür einige Bibliotheken zur Verfügung. Nachdem die Grundlagen von Xamarin und MvvmCross bekannt waren, stand die Portierung der bestehenden Windows Phone App „MeteoCheck.ch“ auf Android und iOS im Vordergrund. Die Applikation bietet nebst den aktuellen Wetterprognosen auch zusätzlich Informationen wie zum Beispiel Lawineninformationen, Sonnenstand und Live Kamera Bilder. Nach einer gründlichen Analyse wurde das vorhandene Projekt in eine portable Klassenbibliothek und in ein Windows Phone Projekt aufgeteilt. Die portable Klassenbibliothek enthält alle ViewModels und ist für die Kommunikation mit dem Web Server zuständig. MvvmCross hat zudem einen IoC Container und ein Navigation Controller implementiert, wodurch die Navigation der einzelnen Ansichten über die ViewModels gesteuert werden kann. Die grösste Schwierigkeit bestand fortan bei der Entwicklung der einzelnen User Interfaces. Bei der Android Entwicklung war dies vergleichsweise einfach, da Java Implementierungen fast identisch mit C# abgebildet werden konnten. Bei iOS Applikationen mit der nativen Programmiersprache Objectiv-C, war dies durch den gesetzten zeitlichen Rahmen schwieriger, was für den weiteren Verlauf bedeutete, dass der Android Prototyp erweitert wurde. Abschliessend kann gesagt werden, dass mit Xamarin gute Applikationen entwickelt werden können, sofern die notwendigen Kenntnisse über die Architektur und den Lebenszyklus der jeweiligen Plattformen vorhanden sind.

Item Type: Thesis (Student Research Project)
Subjects: Topics > User Interface Design
Area of Application > Web based
Area of Application > Mobile
Technologies > Programming Languages > C#
Technologies > Frameworks and Libraries > Mono
Technologies > Frameworks and Libraries > Xamarin
Technologies > Operating Systems > Android
Technologies > Operating Systems > iOS
Technologies > Operating Systems > Windows Phone 8
Technologies > Devices > Smartphone
Metatags > INS (Institute for Networked Solutions)
Divisions: Bachelor of Science FHO in Informatik > Student Research Project
Depositing User: OST Deposit User
Contributors:
Contribution
Name
Email
Thesis advisor
Huser, Hansjörg
UNSPECIFIED
Date Deposited: 08 Oct 2014 09:18
Last Modified: 08 Oct 2014 09:18
URI: https://eprints.ost.ch/id/eprint/377

Actions (login required)

View Item
View Item