Was bei der Entwicklung mobiler Lösungen wirklich zählt, Teil 1


04.07.2016 von

https://www.iteratec.de/fileadmin/Bilder/News/iteratec_logo.png https://www.iteratec.de/fileadmin/Bilder/News/iteratec_logo.png iteratec GmbH

In dieser Blogserie möchten wir näher auf Architektur und Entwicklung von Anwendungen für mobile Lösungen eingehen und widmen uns dabei verschiedenen Fragestellungen: 

In Teil 1 der Blogserie stellen wir vier verschiedene Arten von mobilen Lösungen vor.

Apps: Web, hybrid, cross oder doch nativ?

Die drei Plattformen iOS, Android und Windows benötigen unterschiedliche SDKs für die Entwicklung. Die Entwicklung von iOS und Windows darf nur auf bestimmter Hardware (iOS) oder Software (iOS, Windows) erfolgen. Android Anwendungen können auf Windows, Linux und Apple Betriebssystemen entwickelt werden.

Aktuell haben sich vier Technologien zur Entwicklung von mobilen Anwendungen etabliert:

  • Web Entwicklung
  • Hybride Entwicklung
  • Cross Entwicklung
  • Native Entwicklung

Webanwendungen stellen die einfachste Art der Umsetzung dar, sind jedoch auch sehr limitiert in der Flexibilität der Funktionalität. Durch HTML5 ist es möglich auf Hardware des mobilen Endgeräts zuzugreifen, jedoch beschränkt sich dies auf einige wenige Komponenten, wie z. B. Kamera und GPS Empfänger, die Kopplung mit Bluetooth Geräten ist momentan nicht möglich. Im Allgemeinen wird diese Art der mobilen Entwicklung für bereits vorhandene Webanwendungen verwendet. Die Idee ist es, die vorhandene Anwendung auf einem mobilen Gerät mittels Responsive Design bedienbar zu machen. 

Hierbei fällt auf Seiten der App-Entwicklung kein Implementierungsaufwand an, da keine Installation auf dem mobilen Endgerät möglich ist, die Anwendung wird auf dem Server bereitgestellt. Die Implementierungsaufwände sind daher auf Seiten des Servers. Als Entwicklungsumgebung kann IDEA von IntelliJ, eclipse oder Netbeans verwendet werden, da HTML5, CSS und JavaScript Standards sind, die von vielen IDEs relativ gut unterstützt werden. Bei einer Webanwendung werden alle Daten zwischen dem Server und dem mobilen Gerät übertragen, was im Vergleich zu den anderen Technologien zu einem höheren Übertragungsvolumen führt. Es werden sowohl der Client als auch die Daten für die Anwendung vom Server geladen. 

Hybride Apps sind relativ ähnlich zu Webanwendungen, sie werden auch in HTML5, CSS und JavaScript entwickelt, jedoch wird ein Kompilat erstellt, das für den produktiven Betrieb über den jeweiligen Store installiert werden kann und somit denselben Vorgaben unterliegt wie eine native App. Als Laufzeitumgebung wird die jeweilige Browser-Engine verwendet. Eines der bekannteren Vertreter ist Apache Cordova bzw. PhoneGap von Adobe. Es gibt viele weitere Derivate auf Basis von Apache Cordova, die um neuere JavaScript Frameworks erweitert sind. Der Zugriff auf die Geräte-Hardware erfolgt mittels Plug-Ins, die entweder durch Cordova, dem Derivat oder Entwicklungen durch die Community erfolgen. Die Plattform bietet auch die Konfiguration der Rechteverwaltung von Zugriffen, wie z. B. auf die Galerie, GPS-Ortung etc. Da hybride Anwendungen in der Browser-Engine ablaufen, eignen sie sich hauptsächlich für die Nutzung von Anwendungen, die keine im Hintergrund laufenden Prozesse benötigen und unabhängig von der Benutzeroberfläche sind. Neue Funktion in iOS, Android oder Windows müssen in Cordova bzw. einem der Derivate nachimplementiert werden und stehen bei einem neuen Betriebssystemupdate nicht automatisch zur Verfügung. 

Cross-Plattform-Entwicklungen werden in einer Programmiersprache geschrieben und sollen auf allen mobilen Geräten laufen. Als bekanntester Vertreter sei hier Xamarin erwähnt. In Xamarin wird die Anwendung in C# mit Visual Studio geschrieben und für die jeweilige Anwendung kompiliert. Das UI sollte bei Verwendung von Xamarin in der jeweiligen Plattform und Ihren Entwicklungsumgebungen erfolgen, da sich die Bedienkonzepte teilweise sehr unterscheiden. Es wird empfohlen, die Geschäftslogik der mobilen Anwendung in C# mit Xamarin für die Plattformen umzusetzen, da dies redundante Entwicklungsaufwände einsparen kann. Dies bedingt eine strikte Trennung der Geschäftslogik und der Benutzerinteraktion. 

Bei der Nativen Entwicklung wird dediziert für die jeweilige Systemlandschaft implementiert, kompiliert und auf dem mobilen Endgerät ausgeführt. Ein Vorteil ist, dass diese Art der Apps die volle Flexibilität der öffentlichen API nutzen können. Änderungen in der jeweiligen API sind sofort verfügbar, z. B. Verwendung von 3D-Touch bei iOS. Die komplette Anwendung wird komplett plattformspezifisch geschrieben und für jede Plattform wird größtenteils ein anderes Tooling verwendet, wie z. B. die Entwicklungsumgebung oder Profiling Tools. Ähnlich zu der hybriden Entwicklung, dient ein Server nur als Datenlieferant. 

Im zweiten Teil geht es um die Besonderheiten bei der Entwicklung mobiler Apps.  

Diesen Artikel bewerten
 
 
 
 
 
 
 
0 Bewertungen (0 %)
Bewerten
 
 
 
 
 
 
1
5
0
 

Artikel im Warenkorb:

0