Acht Smartphone Appliationen

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8

8


Acht Smartphone Applikationen

Read in English

Auch im vierten Semester meines Studiums an der FHNW nahm ich wieder an einem Workshop teil. Geführt wurde der Unterricht von der Firma Zühlke aus Schlieren. Es ging im Grunde darum, einen groben Überblick über die Entwicklung von Smartphone Apps zu erhalten.

Acht mal sollte das Gleiche in unterschiedlicher Form umgesetzt werden. Als Plattformen kamen die aktuellen Spitzenreiter in Frage: Android, iOS und Windows Phone. Für die ersten drei Applikationen wurden die von den Herstellern empfohlenen nativen Entwicklungsumgebungen verwendet:

Android
Eclipse und Java
iOS
XCode und Objective-C
Windows Phone
Visual Studio und C#

Aufgabe

MegaCRM Logo

Wir sollten eine Customer Relationship Management Applikation genannt MegaCRM entwickeln. Die Anforderungen schrecken kaum ab: Im Minimum muss jede App Kunden auflisten, einen Kunden hinzufügen, einen Kunden anschauen, einen Kunden bearbeiten und einen Kunden löschen können. Über eine REST basierte Schnittstelle wurde uns online ein Assortment von Kunden zur Verfügung gestellt. Damit der Kurs, für die zu vergebenden zwei ECTS Credits, nicht allzu viel Zeit in Anspruch nimmt, wurde für jede Applikation jeweils ein Grundgerüst vorgegeben, auf dem man aufbauen konnte.

Umsetzung

Windows Phone

Als erstes wurde eine Applikation für Windows Phone entwickelt. Parallel zu diesem Workshop besuchte ich ein Modul Einführung in C# und das .NET Framework. Wichtige Konzepte die in diesem Modul behandelt wurden (Events und LINQ) und die Ähnlichkeit zur alltbekannten Programmiersprache Java erleichterten mir den Einstieg in die Windows Phone Entwicklung enorm.

Android

Es folgte eine App für den Marktführer. Hier war das Grundgerüst sehr mager und es gab viel zu tun. Bis ich mit den Tools und den Grundprinzipien der Entwicklung von Android Apps klarkam, verging gut ein Nachmittag.

iOS

Um die von Apple entwickelte Programmiersprache Objective-C wirklich zu lernen reichte die Zeit leider nicht. In den Lektionen hatten wir eine sehr gute Einführung, die den Interface Builder und die Grundprinzipien verständlich darlegte. Was folgt, sind einige kleine Modifikationen (Logo und Karte) am fast vollständig vorgegebenen Grundgerüst.

Xamarin für Android und iOS

Die restlichen Apps wurden ebenfalls für diese Plattformen entwickelt. Allerdings mit plattformübergreifenden Technologien. Statt mit Visual Studio und C# auf Windows Apps für Windows Phone zu entwickeln, kann man mit einer Software genannt Xamarin auch Apps für iOS und Android schreiben. So entstand mit Xamarin je ein App für die Betriebssysteme von Google und Apple.

Mir fehlte leider die Zeit mich mit Xamarin näher zu beschäftigen, allersings kann ich sagen, dass es für Windows Entwickler sicher ein gutes Sprungbrett auf die anderen Plattformen darstellt.

Android

iOS

Ein Code, drei Plattformen

Mit einer Technologie namens PhoneGap schreibt man eine gewöhnliche Web Applikation in HTML, CSS und etwas JavaScript. PhoneGap wandelt diese nun so um, dass sie wie eine (fast) gewöhnliche App auf dem Smartphone läuft.

Mit iOS und Android klappte dies auch sehr gut und da eine JavaScript Technologie verwendet wurde, die ich schon in einem vorherigen Workshop verwendete, wurden daraus dann auch tatsächlich die besten Apps.

iOS

Android

Wie man sieht, kommt die App mit folgenden Zusatzfunktionen daher:

  • Login mit Passwort
  • Adresse wird in Karte angezeigt
  • Suche auf der Liste
  • Verschiedene Anzeigeoptionen auf der Liste
  • Bild auswählen beim Editieren

Windows Phone

Für Windows Phone war die Prozedur dieselbe, wie für die obigen Plattformen, das Ergebnis lässt allerdings in der aktuellen Version noch zu wünschen übrig.




Für PhoneGap wurden neben dem im letzten Workshop schon erwähnten AngularJS Framework, zusätzlich ein HTML und CSS Framework genannt ionic eingesetzt. Wie es das Framework Bootstrap mir schon oft einfach machte eine professionell wirkende Webseite in Minuten zu gestalten, ermöglicht ionic dasselbe für kleinere Bildschirme. Von Responsive Webdesign muss man sich damit allerdings verabschieden.

Wegweiser

Ich werde in Zukunft meine erste App für Android entwickeln. Dies obwohl mir Windows Phone und iOS sowohl beim Entwickeln, als auch von Ergebnis her besser gefielen. Dies kann aber den tiefen Marktanteil beider Plattformen und die schlechten Zukunftsaussichten nicht wettmachen.

18. August 2014