Mit der Nutzung dieser Webseite akzeptieren Sie unsere Nutzung von Cookies. Weitere Informationen über Cookies finden Sie hier
Zustimmen
Infopulse - Softwareentwicklung & Infrastruktur-Management-Services
Mit der Nutzung dieser Webseite akzeptieren Sie unsere Nutzung von Cookies. Weitere Informationen über Cookies finden Sie hier
Zustimmen
Infopulse - Softwareentwicklung & Infrastruktur-Management-Services
Infopulse - Softwareentwicklung & Infrastruktur-Management-Services
reCAPTCHA
Angebot anfordern Bitte füllen Sie dieses kurze Formular aus und wir senden Ihnen in Kürze ein kostenloses Angebot zu.
* Pflichtfelder
Der Schutz Ihrer Privatsphäre ist uns wichtig. Wir werden Ihre Informationen niemals weitergeben.
Abonnieren Sie unsere Updates Seien Sie unter den Ersten, die exklusive Einblicke in die IT, die Innovationen und Best Practices erhalten.
* Pflichtfelder
Der Schutz Ihrer Privatsphäre ist uns wichtig. Wir werden Ihre Informationen niemals weitergeben.
Subscribe to our Vacancies Please fill in this quick form to be among the first to receive our updates.
* Required fields
Your privacy is important to us. We will never share your data.
Abonnieren Sie unsere Updates Seien Sie unter den Ersten, die exklusive Einblicke in die IT, die Innovationen und Best Practices erhalten.
* Pflichtfelder
Der Schutz Ihrer Privatsphäre ist uns wichtig. Wir werden Ihre Informationen niemals weitergeben.
Photo of Dmitry Korolev Senden Sie eine E-Mail an Dmitry Korolev Bitte füllen Sie dieses kurze Formular aus, um unseren Experten direkt zu kontaktieren.
* Pflichtfelder
Der Schutz Ihrer Privatsphäre ist uns wichtig. Wir werden Ihre Informationen niemals weitergeben.
Infopulse - Expert Software Engineering, Infrastructure Management Services
Read the Full Case Study Don't miss the most interesting part of the story!
Submit this quick form to see the rest and to freely access all case studies on our website.
* Required fields
Der Schutz Ihrer Privatsphäre ist uns wichtig. Wir werden Ihre Informationen niemals weitergeben.

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend)

Die Wahl der richtigen Plattform und des passenden Entwicklungsansatzes ist immer ein Kompromiss, wenn eine Anwendung funktionale und nicht-funktionale Anforderungen erfüllen soll. Die Schlüsselaspekte sind hierbei die Zielbestimmung, die Verfügbarkeit des einschlägigen Fachwissens und natürlich die Kosten.

Im zweiten Teil unserer Blogartikel über die Entwicklung mobiler Anwendungen wollen wir die bestehenden Ansätze und die zu berücksichtigen Faktoren unter die Lupe nehmen, die bei der Wahl der Plattform für die Entwicklung einer mobilen Anwendung eine Rolle spielen.

Plattformauswahl

Lassen Sie uns zunächst einen genaueren Blick auf die aktuellen Plattformen werfen und ein paar Zahlen und Diagramme analysieren. Alternativ können Sie dieses Unterkapitel überspringen und direkt zu dem Überblick der Entwicklungsansätze gehen.

Das unten stehende Diagramm wurde auf Statista veröffentlicht und zeigt die Daten zu dem Marktanteil der an die Endverbraucher verkauften mobilen Betriebssysteme von Anfang 2009 bis zum 1. Quartal 2017.

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 037188

Ähnliche Zahlen werden von IDC herausgegeben, wie weiter unten zu sehen ist: 2017 dominiert das Android-Betriebssystem weiterhin den Markt mit den umfangreichen 85% des weltweiten Geräteumsatzes.

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 420704

Gleichzeitig, so die NetMarketShare-Studie, sieht der Marktanteil der Plattformen in Bezug auf die genutzten Geräte zum Juni 2017 ein bisschen anders aus:

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 623244

Wie wir anhand der oben aufgeführten Diagramme und Tabellen sehen können, ist der Smartphone-Markt zwischen den beiden großen Plattformen aufgeteilt, der Android-Plattform und der iOS-Plattform. Es wurde viel über diese Plattformen gesagt und geschrieben, sie bedürfen keinerlei Vorstellung mehr. Die Entwicklung und das Targeting jeder dieser beiden Plattformen sind sehr unterschiedlich, da sie jeweils ihre eigenen Standards, Richtlinien und Besonderheiten haben.

Die dritte mobile Plattform, die derzeit im Rückstand ist, aber dennoch genannt werden soll, ist Microsofts UWP.

Microsoft ist beim Einführen und Verwerfen seiner eigenen Plattformen einen langen Weg gegangen, sogar die neuesten Plattformen Windows Mobile und Windows Phone verblassen langsam und treten schon in den Hintergrund. Allerdings ist UWP gesund und munter und zwar aus folgendem Grund. UWP ist ein neuer, bei Windows 10 eingeführter Standard, mit dessen Hilfe man skalierbare und elegante plattformübergreifende Anwendungen für Desktop-PCs, Xbox, HoloLens, IoT und mobile Geräte entwickeln kann. Obwohl sich Microsoft aktuell aus der Produktion mobiler Standardgeräte zurückgezogen hat, wird UWP eine wichtige Rolle bei den angeblich aufkommenden ARM-basierten zellularen Handheld-PCs mit Windows 10 spielen. Daher kann die UWP-Entwicklung oder die Umstellung der Standard-Anwendungen auf UWP zu einer wichtigen strategischen Aufgabe für Unternehmen werden, die den Microsoft-Stack verwenden und sich darauf verlassen.

Dabei bevorzugen die meisten Unternehmen heutzutage die iOS- /Android-Entwicklung und nur noch sehr wenige entscheiden sich für UWP-Anwendungen. Die Unternehmen prüfen immer noch und überlegen sich die Annahme von Windows 10 gut, wobei 68% der Unternehmen immer noch Windows 7 nutzen.

Somit wird die Wahl des richtigen Ansatzes zur Anwendungsentwicklung zu einer wichtigen, strategischen und manchmal harten Herausforderung.

Ansätze zur mobilen App-Entwicklung

Bei der Wahl des richtigen Ansatzes müssen Sie eine Menge Faktoren berücksichtigen, wie z.B. Benutzerbasis und Targeting, Produkteinführungszeit, Vertrieb, Wiederverwendbarkeit des Codes, Skalierbarkeit und Leistung der App und natürlich die Höhe der Kosten und die Verfügbarkeit des erforderlichen Fachwissens.
Im Moment gibt es vier wichtigste Ansätze zur Entwicklung mobiler Anwendungen:

  • Native App-Entwicklung
  • Web-Anwendungen
  • Hybrider Ansatz – WebView (gewickelte Web-Anwendungen)
  • Plattformübergreifende Anwendungen

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 730074

Jeder Ansatz zur Entwicklung mobiler Anwendungen hat seine eigenen Vor- und Nachteile, die wir uns einzeln anschauen wollen.

Native Plattform-Entwicklung

Native Anwendungsentwicklung ist die traditionelle und zuverlässigste Art, mobile Apps zu entwickeln. Wenn Sie sich für die native Anwendungsentwicklung entscheiden, können Sie sich sicher sein, dass Ihre Anwendung den offiziellen Richtlinien entsprechend entwickelt wird und mit den Plattform-Standards in Bezug auf die Benutzeroberfläche und Benutzererfahrung vollständig kompatibel ist. Normalerweise funktionieren native Anwendungen gut, was die Leistung, Sicherheit und Zuverlässigkeit angeht, und verfügen über eine einwandfreie Integration mit den Mutter-Plattformen.

Wenn es um die Entwicklung geht, hat jede Plattform die jeweils eigenen Entwicklungskits und Technologien, die speziell auf die Bedürfnisse der Entwickler zugeschnitten sind, sodass die native Entwicklung für die Entwickler glatt und geschmeidig verläuft:

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 126856

All das hat allerdings seinen Preis. Native Anwendungsentwicklung erfordert große Budgets, weil der native Code, der für die Entwicklung auf einer Plattform verwendet wird, leider nicht für eine andere wiederverwendet werden kann. Außerdem werden bei den nativen Anwendungen verschiedene Kompetenzen für jede Plattform benötigt. Wenn Sie also Benutzer von zwei oder mehr Plattformen mitnehmen möchten, müssen Sie Ihr Team vergrößern und geeignete Spezialisten finden. Dies führt zum Anstieg der Kosten, die Sie in die Entwicklung und später auch in die Wartung der Anwendung investieren müssen.

Darüber hinaus können sich die Implementierung und die Funktionalität der neu hinzufügten Anwendungsfeatures von Plattform zu Plattform unterscheiden. So können einige Dinge, die auf iOS leicht erledigt werden können, auf Android viel mehr Zeit in Anspruch nehmen, und umgekehrt. Die Produkteinführungszeit kann auch unterschiedlich sein. Am Ende werden sich die Benutzer mit verschiedenen Versionen der gleichen App herumschlagen, was zu inkonsistenter Benutzererfahrung quer durch verschiedene Plattformen führt.

Native Anwendungsentwicklung im B2B- und B2E-Modus ist immer die perfekte Wahl für große Unternehmen, die hervorragende Produktivität, gute Leistung und hohe Verfügbarkeit bei ihren Anwendungen brauchen und keine Sorgen bezüglich Budget, langfristiger Planung und der Verfügbarkeit von Entwicklern haben. Wenn Ihr Budget doch limitiert ist, können Sie die native Anwendungsentwicklung dennoch durch die Auswahl einer primären Plattform für Ihre Benutzer in Betracht ziehen.

Web-Anwendungen – Webseitenanpassung für mobile Geräte

Die Entwicklung der Web-Anwendungen ist eine sehr beliebte und preiswerte Möglichkeit, HTML5-basierte Anwendungen zu erstellen. Dafür müssen Sie Ihrer Webseite nur einen mobilen Look verpassen. Heutzutage kann es besonders schnell gelingen, da viele Webseitenplattformen mit dem integrierten Responsive Design ausgestattet sind. Dabei erfordert die Entwicklung solcher Anwendungen relativ fundierte Kenntnisse von CSS, HTML-5 und JS. Obwohl die Senkung der Kosten für die zusätzliche Programmierung und die sehr kurze Produkteinführungszeit zu den Vorteilen einer Web-Anwendung gehören, gibt es viele Einschränkungen bei diesem Ansatz. Die Web-Anwendung öffnet sich im Browser auf dem Gerät wie jede andere Webseite, die Benutzer müssen sie nicht installieren, was jedoch zwangsläufig weniger Vermarktungsmöglichkeiten bietet. Außerdem können die Web-Anwendungen die meisten Funktionalitäten der mobilen Geräte noch nicht nutzen, sie sind wegen der Browserkompatibilität eingeschränkt einsetzbar und erfordern zwingend eine Internetverbindung.

Hybride WebView-Container

Ein weiterer Ansatz wäre, Ihre Web-App in einen Container zu packen, beispielsweise mit Hilfe von PhoneGap, Cordova oder Ionic. In diesem Fall wird die Anwendung die Standard-UI /UX einer Plattform nachahmen und sogar die grundlegende Integration mit dem System haben. Um die WebView-App aber einzustellen und das (bis zu einem gewissen Grad) vollständige Potential einer bestimmten Plattform zu entdecken, benötigen Sie zusätzlich native Programmierung und extra Plug-ins. Die meisten modernen nativen Funktionen und Integrationen werden einer solchen App höchstwahrscheinlich fehlen. Die Anwendung kann im jeweiligen App-Store hochgeladen werden und wird wie eine native App aussehen. Die WebView-Anwendungen werden jedoch in ihrer Funktionalität eingeschränkt sein und sich ganz anders als die nativen Anwendungen in puncto Animation oder Scrollen anfühlen, da sie erweiterte Grafiken oder Animationen nicht unterstützen.

Der schwächste Punkt sowohl der Web- als auch der WebView-Anwendungen ist ihre Skalierbarkeit: Je mehr Funktionen werden hinzugefügt, desto schwerfälliger und plumper werden solche Anwendungen. Dies führt zu unerwünschten Verlangsamungen, zur schlechten und instabilen Leistung. Außerdem ist es viel schwieriger, solche Apps zu aktualisieren, zu pflegen und zu unterstützen, was wiederum zum erhöhten Verbrauch der Kosten und der Ressourcen führt.

Die Entwicklung der WebView-Apps ist nur sinnvoll, wenn Sie Ihre mobile App mit minimalen Funktionalitäten schnell an Ihre Endkunden ausrollen müssen oder Ihre Produktidee bei knappen Ressourcen erst testen wollen.

Plattformübergreifende Lösungen: fast der reine native Ansatz

Unternehmensansatz zur Entwicklung mobiler Anwendungen, Teil 2: Vergleichende Analyse (nativ vs. web vs. hybrid vs. plattformübergreifend) - Infopulse - 176187

Der plattformübergreifende Ansatz ist die beste Wahl, wenn Sie Ihre Anwendungen einmal entwickeln und überall nutzen möchten. Mit diesem Ansatz sparen Sie die Zeit sowie die Kosten für Entwicklung und Wartung ein und bekommen eine App mit fast perfekter Leistung und hervorragender Skalierbarkeit. Plattformübergreifende Entwicklung ermöglicht beschleunigte und kurze Produkteinführungszeit, da Sie etwa 75% des Codes für die Geschäftslogik, den Datenzugriff und die entsprechenden Services wiederverwenden können. Im Gegensatz zum hybriden Ansatz ermöglichen plattformübergreifende Frameworks den Zugriff auf alle Geräte-APIs. Dieser Ansatz geht mit vereinfachten Test und unkomplizierter Wartung einher, sodass Sie weniger Zeit mit dem Feinschliff für die App verbringen müssen. Aber es kann sein, dass Sie noch zusätzliche Spezialisten einstellen müssen, um eine richtige plattformspezifische Benutzeroberfläche (z.B. bei bestimmten Icons) zu entwerfen und plattformabhängige Funktionen zu integrieren.
Momentan gibt es mehrere Plattformen für die Entwicklung plattformübergreifender mobiler Anwendungen. In den meisten Fällen erfordert ihre Bedienung Kenntnis und Beherrschung spezifischer Entwicklungssprachen und IDEs.

  • Microsoft XamarinDurch die kürzlich erfolgte Übernahme von Xamarin und die anschließende Integration mit Visual Studio hat Microsoft die Entwickler mit einer der besten Möglichkeiten ausgestattet, plattformübergreifende mobile Lösungen gleichzeitig für iOS, Android, Windows und sogar macOS zu kreieren! Bei Xamarin sind Kenntnisse von C# (Mono .NET) oder F# und Microsoft-Tools notwendig. Xamarin funktioniert effektiv und reibungslos und bietet eine Vielzahl an Unterplattformen für die Entwicklung des nativen App-Codes, der Benutzeroberfläche, für die Tests usw. Mit Hilfe von Xamarin ist es möglich, 75-80% des gemeinsamen Codes zu entwickeln, der dann auf die entsprechenden UI-Richtlinien der Plattform angepasst werden soll. Xamarin.Forms kann diesen Prozentsatz bis zu 90% des UI-Codes erhöhen, wenn Sie eine einheitliche Benutzeroberfläche für alle Plattformen erstellen möchten. Xamarin hat viele gemeinschaftlich entwickelte Komponenten und ist sowohl für kleine Teams als auch für große Unternehmen geeignet. Xamarin wird von Tausenden Unternehmen wie Bosch, Cognizant oder Kimberly-Clark verwendet und ist die erste Wahl für plattformübergreifende Entwicklung. Allerdings könnte die Suche nach den noch verfügbaren Xamarin-Entwicklern zu einer Herausforderung werden.
  • React Native ist ein weiteres boomendes Open-Source-JS-Framework von Facebook und der Community. Obwohl noch relativ frisch, ist React Native bei der Entwicklung nativer mobiler Anwendungen bereits recht weit verbreitet, wobei JavaScript zusätzlich zu den nativen Komponenten verwendet wird. Der Anteil des gemeinsamen Codes kann bis zu 75-80% reichen, während die UI-Schicht auf die Besonderheiten der jeweiligen Plattform angepasst werden kann, also werden die React-Native-Anwendungen laufen und toll aussehen! Von Netflix, Airbnb, Tesla, Tencent QQ und SoundCloud bevorzugt, ist React Native eine weitere Top-Wahl, wenn Sie eine komplexe Benutzeroberfläche entwerfen wollen und Ihre Entwickler ReactJS und JSX-Syntax sowie Architektur-Frameworks wie Redux oder Flux auf fortgeschrittenem Niveau beherrschen.
  • Telerik NativeScriptwird von Google betreut und hat eine umfassende Unterstützung seiner Entwickler und der Community. Obwohl es weniger populär als React Native ist, ermöglicht NativeScript den Zugang zu den nativen Plattform-APIs, wodurch ein einheitliches Look-and-feel unabhängig von der Plattform erschaffen werden kann. Die wichtigsten Unterschiede zwischen den beiden Frameworks sind auf der technischen Seite und bei der UI-Verarbeitung. Architektonisch unterstützt NativeScript JavaScript, um sein Potenzial jedoch zu entdecken, ist es besser, TypeScript oder Angular zu verwenden.
  • Appcelerator Titanium.Titanium ist nicht rein plattformübergreifend, aber eine weitere Open-Source-Plattform für die Entwicklung nativer Anwendungen mit einer großen Auswahl an Erweiterungen und Modi sowie der Möglichkeit, 60-90% des Codes wiederzuverwenden. Es hilft, den Entwicklungsprozess zu beschleunigen und die Zeit der Entwickler einzusparen, da sie beim Titanium weniger Codezeilen schreiben müssen. Leider funktioniert das nur gut, wenn Sie keine komplexe App entwickeln wollen, denn die Einfachheit des Codes schränkt die zukünftige Unterstützung der Anwendung eher ein.

Im Endeffekt ist die Wahl zwischen Xamarin, React Native, NativeScript und Titanium eher eine Frage der Präferenz oder der Verfügbarkeit der notwendigen Kompetenzen. Backend-Entwickler, die mit dem Microsoft-Technologiestack bereits vertraut sind, können sich bei Xamarin schnell einarbeiten, weil sie C# bereits beherrschen. Frontend-Entwickler können dagegen andere Technologien schnell meistern, für die JS-Kenntnisse erforderlich sind. Idealerweise müssen Unternehmen sowohl Full-Stack-Entwickler als auch Domain-Spezialisten haben und in die Entwicklung der Talente und Fähigkeiten ihrer Mitarbeiter investieren. Die Domain-Spezialisten können spezifische Herausforderungen effektiv lösen, indem sie diese wie mit einem heißen Messer zerschneiden, während die Full-Stack-Experten von einer Technologie auf die andere „versetzt“ werden können, da sich die Suche nach neuen Entwicklern aufgrund der sich schnell verändernden Entwicklungsumgebungen und Tools schwierig gestalten würde. Große IT-Dienstleister haben hier einen Wettbewerbsvorteil, weil sie ihre Technologien und Plattformen ständig aktualisieren und verbessern und ihr intellektuelles Kapital vermehren und daher schnell ein Team bilden können, um spezifischen Projektanforderungen zu genügen.

Im nächsten Teil unserer Artikel werden wir erläutern, wie verschiedene Komponenten einer Enterprise-Anwendung während der plattformübergreifenden mobilen App-Entwicklung miteinander interagieren und korrelieren.

Infopulse hat solide Erfahrungen in der Entwicklung mobiler Anwendungen für unsere Kunden, von der nativen Entwicklung mobiler Apps bis hin zu plattformübergreifenden Anwendungen mit Hilfe von Xamarin ist alles dabei. Kontaktieren Sie uns jetzt, um mehr darüber zu erfahren!