Cross Platform Mobile Development

Pierre-Yves Schütz 15.11.2018

Development of mobile applications running on different platforms is always a matter of tradeoff.

An obvious approach is to design a native application for each desired platform. This implies developing and maintaining a code base in a different programming language for each of them: Java for Android, Objective-C or Swift for iPhone, C# for Windows Phone.

Making mention of Windows Phone, Microsoft communicated last year that they are not going to invest any more in new features or hardware for their mobile platform, de facto announcing the death of the Windows Phone. Even though it never gained a large market share, mobile cross platform nowadays definitely means support for Android and iOS.

An alternative is to deploy a hybrid development framework such as Ionic or Apache Cordova, based on the web technologies CSS, HTML5 or JavaScript. Following the ‘write once, run anywhere’ precept, a single code base can be used for all platforms. The UI elements are rendered as HTML pages, leading to a performance hit and a different look and feel than with native apps.

In between, there are a few toolkits that promise the best of both worlds: a single stack of technology for all platforms, access to all the native APIs and widgets for the developer, and a familiar user experience for the end user. The most mature of them, Xamarin, has been around since 2011. Other solutions such as React Native and Flutter are also worth mentioning.

Xamarin

Xamarin runs on Mono, an open source and multi-platform implementation of the .NET Framework. Microsoft has acquired the company behind Mono and Xamarin in 2016 and massively supports and advertises the toolkit ever since. Applications for Android, iOS and Universal Windows Platform are built using C# and Visual Studio.

Using Xamarin.Android and Xamarin.iOS products, only the business logic can be shared, limiting the potential for code reuse since a specific user interface must be created for each platform.

With Xamarin.Forms the user interface can also be shared across platforms, typically allowing between 80 to 90 percent of code reuse. The UI layer is described with XAML in a very similar way as with WPF. The performance is close to native apps and the controls are rendered as native widgets. Moreover, Xamarin has full access to the Android and iOS standard libraries. The app is larger than a native one, because the .NET Framework (stripped from all unused libraries) is enclosed with it. This means that the .NET virtual machine runs on top of the Java virtual machine. For demanding applications such as games, the performance penalty of Xamarin over a native app might thus become significant.

–> mehr erfahren

Collectors Smart Terminal

Collectors Smart Terminal
Philipp Rebsamen13.09.2018

Für den Verein Collective, Betreiber der Collectors in Solothurn, haben wir im Rahmen eines ehrenamtlichen Mandates einen Prototypen für eine smarte Abgabestation entwickelt. Kunden des Collectors-Lieferdienstes können am Touchscreen-Terminal mittels eines einfachen Prozesses ihren Auftrag erfassen und kleben danach die gleich vor Ort gedruckten Lieferetiketten auf ihre Einkaufstaschen. Diese werden anschliessend von den Collectors am Abgabestandort abgeholt und bequem an die Wunschadresse geliefert.

Azure IoT Backend

Mit der Hilfe des riesigen Microsoft Azure Ökosystem kann das Backend einer solchen komplexen Aufgabenstellung komplett in die Cloud verlagert werden. Dies reduziert nicht nur die Betriebskosten, sondern ermöglicht auch eine automatische horizontale Skalierung vieler der verfügbaren Komponenten unter Last.

–> mehr erfahren

IoT Prototyping in 8 Stunden

IoT Prototyping in 8 Stunden
Sascha Nussbaumer08.01.2018

Über die Festtage hatte ich ein bisschen Zeit mich mit Microsoft Azure IoT zu befassen und hatte das Buch von Scott Klein «IoT Solutions in Microsoft's Azure IoT Suite» durchgeackert. Das Buch erklärt Schritt für Schritt von der Programmierung und Anbindung eines Raspberry PI's bis zur Konfiguration von Azure IoT, Stream Analytics, Data Lake und Power BI. Weiter sind noch Beispiele für Machine Learning und Data Factory beschrieben.

Initialer Setup benötigte am meisten Zeit

Das initiale Setup der Entwicklungsumgebung, sowie Frameworks (Windows 10 IoT, Grove Kit) hat für mich am meisten Zeit beansprucht. Ich war vor allem damit beschäftigt herauszufinden, welche Versionen zusammenspielen und welche nicht. Zudem habe ich nachträglich Visual Studio 2017 anstelle der bereits vorhandenen 2015 Version installiert.

Anbindung an Azure IoT war ein Kinderspiel

Mein Raspberry PI hat einen DHT11 Temperatur & Feuchtigkeitssensor, der digital ausgelesen werden kann. Zudem habe ich eine LED für den "Heartbeat" angeschlossen. Das Ziel war die Temperatur- & Feuchtigkeitsdaten mit Azure IoT zu verarbeiten.

–> mehr erfahren

Boost IoT im Boostcamp

Boost IoT im Boostcamp
Sascha Nussbaumer28.11.2017

Letzte Woche fand auf dem Weissenstein unser IoT Boostcamp statt. Wir erarbeiteten für die Collectors, dem sozialen Velolieferdienst aus Solothurn, Prototypen für die technische Unterstützung ihrer Tätigkeiten. Weil wir der Auffassung sind, dass für nutzbringende Lösungen der Mensch ins Zentrum gestellt werden muss, haben wir ein Vorgehen nach Design Thinking gewählt.

Empathie entwickeln mit Interviews, Beobachtungen und Umfragen

Vor dem Boostcamp führte Jasmin Ziegler bei den Collectors Interviews und Beobachtungen durch. Kunden wurden zudem mit einem Fragebogen über deren Zufriedenheit und Motive befragt. Die Resultate wurden den Teilnehmern als Film, sowie statistischen Auswertungen präsentiert.

–> mehr erfahren
Diese Webseite verwendet Cookies. Durch die Nutzung der Webseite stimmen Sie der Verwendung von Cookies zu. Datenschutzinformationen