Letzte Woche hat man letzter ÜK in meiner Lehre statt gefunden. Insgesamt hat man 7 Kurse.
Über jeden Kurs habe ich einen Beitrag geschrieben:

  1. 1. ÜK Modul 403 – Einplatz Computer in Betrieb nehmen
  2. 2. ÜK Modul 305 – Multiuser Systeme installieren, konfigurieren und administrieren
  3. 3. ÜK Modul 302 – fortgeschrittene Funktionen von Office Werkzeugen nutzen
  4. 4. ÜK Modul 101 – Webauftritt erstellen und veröffentlichen 
  5. 5. ÜK Modul 105 – Datenbanken mit SQL bearbeiten
  6. 6. ÜK Modul 307 – Webseite mit Formular erstellen
  7. 7. dieser Beitrag

Alle Kurse von mir haben in Heerbrugg im Spirig Computer AG Center stattgefunden.

Bei diesem Kurs ging es darum eine Mobile-Applikation zu erstellen.

Einführung

Zu beginn wurde uns das Thema des Kurses etwas näher gebracht. Der Kurs handelte von einer Mobilen Applikation erstellen. Also eine App programmieren. Herr Heizmann, unser Kursleiter, stellte und die drei verschiedenen Möglichkeiten vor eine App zu erstellen:

  • Native-App
  • Hybrid-App
  • Web-App

Mit diesen drei Möglichkeiten kann man eine App erstellen.

Eine Native-App, ist eine Technologie, mit welcher man ganz einfach auf die Sensoren und die eingebaute Hardware des Mobilen Gerätes zugreifen kann. Diese empfahl er uns nicht, da diese die anspruchsvollste Variante war. Wenn man ein MacBook hat und mit Swift eine iOS programmiert, kann man durchaus sich für die Native-App entscheiden. Am besten hat man schon gewisse Erfahrungen damit.
Das ganze mit Windows und Java zu realisieren, sollten wir nicht machen, wenn wir es nicht schon oft gemacht haben, da ansonsten die Zeit zu knapp wäre. Ebenso sind Native-App Plattform abhängig.

Bei einer Web-App ist es leider nicht möglich auf die Hardware zuzugreifen. Eine Web-App ist eigentlich eine Webseite, welche das Design von einem Mobilen-Gerät hat. Sie wird in HTML, CSS und Javascript realisiert.

Die dritte Möglichkeit, war es eine Hybrid-App zu erstellen. Diese Technologie ist Plattform unabhängig und man kann trotzdem auf die Native-Elemente (Sensore, Hardware) zugreifen. Der Kursleiter empfahl uns diese Technologie, da er denkt diese sei die beste Option für die meisten Teilnehmer.
Eine Hybrid-App ist eine Kombination aus Native-Apps und Web-Apps.  Man schreibt eigentlich eine Web-App und benutzt da verschiedene Technologien um anschliessend das Ganze in eine Hybrid-App umzuwandeln.

Ich entschied mich eine Hybrid-App zu erstellen, wie empfohlen. Die meisten Teilnehmer entschieden sich für eine Hybrid-App.

Bei diesem Kurs war es speziell, das wir die ganzen fünf Tage Zeit hatten um die App zu entwickeln. Zusätzlich mussten wir parallel eine Dokumentation zu der App erstellen. Die Kursnote wurde dann aus der Applikation (40% der Note) und der Dokumentation (60% der Note) ausgerechnet. Am Schluss des Kurses musste man seine Applikation noch den anderen Teilnehmer präsentieren. Die Präsentation zählte jedoch nicht zur Kursnote.
Es gab keine Prüfung am Schluss, wie bei den vorherigen Kursen.

Ideen Sammlung

Der nächste Schritt war es eine Idee zu finden und ein Konzept zu erstellen.

Wir hatten zwei Vorgaben für die App. Erstens, mussten wir ein Formular (Input) haben, welchen man dann auch bearbeiten kann und zweitens musste man mindestens einen Sensor ansprechen (Karte (Location), Kamera, Vibration, Gyrosensor, etc.).

Zu beginn hatte ich wirklich keine Ahnung, was für eine App ich realisieren will. Ich versuchte mich bei anderen Apps inspirieren zu lassen. Also überlegte ich, welche tolle App ich letztens installiert habe.

Irgendwann stiess ich auf die WhoIsWhere App von der Namics, welche Luca Huber programmiert hat. In dieser App sieht man wer sich wo befindet in der Namics.

Mein Prinzip war genau gleich. Wenn sich ein User registriert hat, wird er auf einer Karte angezeigt. Das heisst alle registrierten User werden auf einer Karte angezeigt und man sieht jederzeit wer sich wo befindet.

So habe ich begonnen Mockups zu erstellen, ein Storyboard zu entwerfen und ein Persona. Hier zeige ich meine Mockups.

Das Endprodukt hat sich noch minimal abgeändert. Die Registrierung und das Login befinden sich auf der selben Seite. Ebenso wurde der Colorpicker komplett weggelassen und dafür die Funktionen ausloggen und Passwort ändern hinzugefügt.

Ich habe meine App anschliessend nach den Mockups  realisiert.

Endprodukt

Ich bin mit meinem Endprodukt sehr zufrieden. Ich wurde zwar nicht ganz fertig, jedoch war dies auch zu ahnen, da es wirklich wenig Zeit war und das Dokumentieren auch wichtig war. Es wurde kein einziger Teilnehmer komplett fertig mit seiner App.

Leider kann ich keine Bilder veröffentlichen, da es sein kann, das zukünftige Teilnehmer davon profitieren. Dies dürfte nicht der Fall sein. Bei ÜK’s sind sie immer extrem streng, was Duplikate betrifft.

Meine App hatte jedoch ein funktionierendes Login. Der User musste sich zuerst registrieren und anschliessend einloggen. Ebenso konnte er sein Account auch wieder löschen und sich ausloggen. Die ganzen Netzwerkfunktionalitäten wurden mit Firebase gelöst. Diese Technologie wurde uns ebenfalls vom Kursleiter empfohlen.

Nach dem Login befindet sich der User auf der Ansicht mit der Karte. Da wurde der Standort des Gerätes abgerufen und via alert ausgegeben. Leider hatte ich zu wenig Zeit um den Standort auf der Karte anzeigen zu lassen.
Wenn der Benutzer dann auf die Einstellungen wechselt hatte er folgende Möglichkeiten:

  • Standortabfrage zulassen?
  • Konto löschen
  • sich ausloggen
  • Passwort ändern

Für die Standortabfrage hatte ich zu wenig Zeit, damit habe ich mich nicht befasst. Die Funktionen Konto löschen und sich ausloggen funktionieren beide. Das Passwort zu ändern habe ich versucht zu realisieren. Jedoch klappt das Ganze noch nicht und auch diese Funktion habe ich dann aus zeitlichen Gründen nicht beenden können.

Wenn man nicht fertig wurde, war das nicht weiter schlimm, solange man alles in der Dokumentation begründet hat.

Fazit

Ich hatte noch nie eine App programmiert und hatte keine Erfahrungen damit. Jedoch war es sehr spannend sich das Wissen beizubringen. Ich habe viel gelernt in diesem Kurs und würde behaupten, dass dies einer der spannendsten Kurse von allen war.

Meine Note weiss ich noch nicht, jedoch habe ich ein gutes Gefühl.