DIALOG AUSGABE 41/15


Auf T(o)uchfühlng!

Als Spezialist für kundenindividuelle Hardware und Software unterstützt Lachmann & Rink seine Kunden seit über 30 Jahren bei der Umsetzung ihrer Visionen und innovativen Ideen. Mit unseren Entwicklungen sichern sich viele Technologie- und Weltmarktführer ihre Spitzenposition und bauen diese weiterhin aus. So gesehen begegnet man uns – oder eher gesagt unserer Hardware und Software öfters als man denken mag. Höchste Zeit, dass Sie uns(noch) genauer kennen lernen, denn auch wir entwickeln uns stetig weiter!

Wussten Sie zum Beispiel, dass Lachmann & Rink größter IT-Dienstleister in Südwestfalen ist? Oder dass wir in diesem Jahr beim Innovationspreis-IT der Initiative Mittelstand mit gleich drei Bewerbungen Best-of-Nominierungen erzielt.
Haben und damit in der IT-Bestenliste stehen? Apropos weiterentwickeln: Schlagworte wie Industrie 4.0, intelligente Fertigungstechnik und Maschinensteuerung per App sind derzeit in aller Munde. Nachdem Smartphone, Tablet& Co. im privaten Bereich nicht mehr wegzudenken sind, halten mobile Endgeräte und damit zahlreiche spezifische Anwendungen (Apps) auch im industriellen Umfeld zunehmend Einzug. Erfahren Sie im Innenteil mehr über Vorteile und Umsetzungsmöglichkeiten für plattformübergreifende Lösungen und was zu beachten ist, wenn man Apps professionell einsetzen möchte. In die Zukunft schauen können wir zwar nicht, aber eines steht wohl fest: Diesen Trend sollten Sie nicht verpassen! Und der Weg dahin? Sie wissen ja: Wir sind nur einen Anruf oder Klick entfernt!

App-Entwicklung (nicht nur) für industrielle Anwendungen

Durch die atemberaubende Entwicklung mobiler Plattformen seit der Einführung des ersten iPhones im Jahre 2007 stellt sich auch im industriellen Umfeld zunehmend die Frage, wie aus dieser Technologie ein Mehrwert generiert werden kann. Denn dort, wo keine Echtzeitreaktionen gefordert sind, eröffnen sich nahezu unbegrenzte Einsatzmöglichkeiten, beispielsweise zur Konfiguration und Diagnose von Maschinen. Weiterer Vorteil: Die Kosten für ein handelsübliches mobiles Gerät selbst im oberen Preissegment sind wesentlich geringer als die Kosten für die Entwicklung eigener Hardware in kleiner Auflage.

Zunehmend finden sich auch im industriellen Umfeld immer mehr (verschiedene) mobile Endgeräte. Was oftmals jedoch unterschätzt wird:
Der Entwicklungsaufwand für Anwendungsprogramme (Apps) steigt proportional zur Anzahl der verwendeten Plattformen. Das gilt auch
für den Pflege- und Weiterentwicklungsaufwand. Plattformübergreifende App-Entwicklung kann dann eine sinnvolle Alternative sein.

Apps halten zunehmend auch im industriellen Umfeld Einzug. Daher hat sich Lachmann & Rink im Jahr 2013 dazu entschlossen, Know-how in der Entwicklung professioneller Apps aufzubauen und seitdem einige Kundenprojekte für die Industrie erfolgreich realisiert. Eine der größten Herausforderungen ist dabei die Auswahl der passenden Technologie vor der Realisierung. Während in den Anfängen der App-Entwicklung eine separate (so genannte native) App für jede einzelne Plattform (iOS, Android und Windows Phone) entwickelt und gepflegt werden musste, haben sich mittlerweile unterschiedliche Möglichkeiten zur Verwendung von plattformübergreifenden Lösungen etabliert. Der Einsatz plattformunabhängiger Technologien hat immer auch das Ziel, den Entwicklungs und Pflegeaufwand zu reduzieren und damit für unsere Kunden einen schnelleren ROI zu gewährleisten. In diesem Artikel werden nachfolgend gängige Lösungsmöglichkeiten zur plattformunabhängigen Implementierung von Apps aufgezeigt und die jeweiligen Vor- und Nachteile diskutiert. Wie so oft gibt es kein Patentrezept, denn die am besten geeignete Technologie ist abhängig von verschiedenen Randbedingungen: Einsatzzweck und das Umfeld, in dem die App eingesetzt werden soll, sind wichtig für eine fundierte Entscheidung. Lösungen für plattformübergreifende App-Entwicklung mobile Anwendungsprogramme (nicht nur) im industriellen Umfeld sind v. a. auf die drei am meisten verbreiteten Plattformen iOS, Android und Windows Phone auszurichten. Für die plattformunabhängige Realisierung für diese Endgeräte gibt es drei verschiedene Lösungsansätze, die im Folgenden erläutert werden.

Web-Applikationen:
Eine Web-App ist ein plattformunabhängiges Anwendungsprogramm, das in einem Internet-Browser des Zielgeräts ausgeführt wird. Als Technologie kommen hier in der Regel die aktuellen Web Technologien HTML5, CSS und JavaScript für die Realisierung zum Einsatz. Folglich kann diese Web-App auf allen Geräten, die einen Internet-Browser mit HTML5-Unterstützung mitbringen, ausgeführt werden. Je nach Displayformat des Endgeräts kann die Darstellung der Web-App entsprechend angepasst werden. Die eigentliche Datenverarbeitung findet bei dieser Lösung jedoch nicht auf dem Endgerät, sondern auf einem Webserver statt, mit dem permanent kommuniziert wird. Daher ist auch der Programmieraufwand entsprechend gering, da es im Grunde nur um die optische Darstellung geht. Web-Apps eignen sich gut für Anwendungen, bei denen nicht auf die Sensorik des Mobilgeräts zugegriffen wird, die Oberfläche nicht den Designvorgaben der Plattform entsprechen muss oder Inhalte ggf. auch außerhalb der mobilen Plattformen geteilt werden. Bekannte Beispiele sind Online-Shops oder soziale Netzwerke.

Hybride Apps:
Die so genannten hybriden Apps kombinieren die Vorteile der Web-App mit denen der nativen App. Die App bringt damit ihren eigenen kleinen Web-Server mit, der die Seiten bereitstellt. Zur Darstellung wird, wie bei der Web-App, die Webview-Funktion der jeweiligen mobilen Plattform innerhalb der App verwendet. Für den Benutzer ist dieses Vorgehen transparent, da diese Funktion in die App eingebettet ist.
Einige der bekanntesten Frameworks für diese Variante sind Apache Cordova und Adobe PhoneGap. Beide Frameworks warten mit der Möglichkeit auf, HTML5-Seiten auf unterschiedlichsten Plattformen anzeigen zu lassen. Zusätzlich ermöglicht eine Reihe von zur Verfügung stehenden Plug-Ins den Zugriff auf die Sensoren des mobilen Gerätes (z. B. GPS oder Kamera) sowie auf Plattform-Funktionen (z. B. Zugriff auf das Dateisystem und die Kontakte).Nicht vorhandene Funktionen können durch eigene Plug-Ins ergänzt werden.Diese Variante der plattformübergreifenden App-Entwicklung eignet sich besonders für Anwendungen, die eigenen Designrichtlinien folgen und auch Online-Inhalte darstellen sollen. Die Verteilung dieser Apps erfolgt wie bei den nativen Apps über die App Stores der unterschiedlichen Plattformen.

Xamarin:
Eine andere Philosophie bei der plattformübergreifenden Entwicklung verfolgt Xamarin mit seinem Programmiergerüst. Hier werden alle Benutzeroberflächen jeweils für die Zielplattform entworfen und alle Zugriffe auf die Sensorik und die Plattformdienste sind ebenfalls für jede einzelne Plattform getrennt zu entwickeln. Die eigentliche Logik der Anwendung und die Ansteuerung der Benutzeroberfläche jedoch werden – durch geeignete Designpatterns scharf von der Benutzeroberfläche getrennt nur ein einziges Mal programmiert. Xamarin eignet sich besonders für Apps, deren Anwendungslogik viele Aufgaben übernehmen muss, während die Oberfläche den Designvorgaben der jeweiligen Plattform entsprechen soll. Da die gesamte App in der Programmiersprache C# entwickelt wird, kann die Anwendungslogik auch für ein Windows-Programm verwendet werden. Nach dem Kompilieren des C#-Codes mittels des Xamarin-Frameworks ist das Ergebnis ein echtes Java-Kompilat für Android, echter ARM-Binary-Code für iOS und echter MSIL-Code für Windows Phone. Anders als bei den vorgenannten Lösungen sieht die App nicht nur aus wie eine native App, sie ist tatsächlich eine native App.

 

PDF öffnen