Was ist App-Entwicklung?

App-Entwicklung steht für die Prozesse und Verfahren zum Schreiben von Software für Mobilgeräte wie Smartphones, Smartwatches und Tablets.

Die moderne Datenverarbeitung hat sich von den Desktops und sogar den Laptops früherer Jahrzehnte entfernt. Heute findet der Großteil der Datenverarbeitung auf mobilen Geräten statt. Mehr als die Hälfte des gesamten Datenverkehrs im Internet wird über Smartphones, Tablets und andere drahtlose Optionen abgewickelt.

Mit der zunehmenden Umstellung der Datenverarbeitung von stationären auf unabhängige Geräte steigt auch die Nachfrage nach Software, die auf mobilen Geräten effektiv funktioniert. Dazu gehört allerdings mehr als nur die Erstellung mobiler Apps. Unternehmen müssen in der Lage sein, Anwendungen zu entwickeln, die nicht nur auf mobilen Geräten genutzt werden können, sondern auch die einzigartigen Fähigkeiten von Mobilgeräten voll ausschöpfen.

Um diesem Erfordernis Rechnung zu tragen, setzen immer mehr Unternehmen auf App-Entwicklung.

Zum Ausführen einer Anwendung benötigt ein Mobilgerät ein funktionierendes Betriebssystem. Das Betriebssystem übernimmt die Rolle eines Vermittlers, der die Interaktion zwischen der Computerhardware und den darauf ausgeführten Programmen erleichtert. Das Betriebssystem sorgt dafür, dass die auf dem Computer laufenden Softwareprozesse Zugriff auf die richtigen Ressourcen haben und wie vorgesehen funktionieren können.

Eine App-Entwicklungs-Plattform ist im Wesentlichen ein Betriebssystem, das für die Erstellung, Prüfung und Bereitstellung mobiler Anwendungen konzipiert ist. In der Vergangenheit gab es zwar eine ganze Reihe brauchbarer Varianten solcher Plattformen. Heutzutage ist der größte Teil des Marktes jedoch zwischen zwei Anbietern aufgeteilt: Android und iOS.

Android

Android ist mit einem Marktanteil von etwa 80% die größte App-Entwicklungs-Plattform. Das liegt daran, dass Android ein Open-Source-Betriebssystem ist, das es ermöglicht, dass viele verschiedene Geräte von unterschiedlichen Herstellern mit unterschiedlichen Versionen des Android-Betriebssystems laufen. Da Android von Google unterstützt wird und auf Linux basiert, steht es jedem frei, Hardware zu bauen, die das Betriebssystem unterstützt. Das Gleiche gilt für die Entwicklung von Android-Apps: Entwickler haben volle Autonomie bei der Erstellung von Apps für Android-Geräte. Dies ermöglicht eine größere Flexibilität der Apps und senkt die Einstiegshürde extrem.

Google stellt native Tools für die Entwicklung mobiler Android-Apps zur Verfügung, darunter Android Studio. Darüber hinaus bedeutet der Open-Source-Charakter des Betriebssystems, dass Drittparteien ebenfalls ihre eigenen Android-Entwicklungstools erstellen können (und dies auch tun). Die umfassenden Entwicklerrichtlinien von Google sorgen dafür, dass die fertige App auf vielen verschiedenen Hardwaretypen ansprechend aussieht und gut funktioniert. Da die Anzahl der potenziellen Android-Geräte jedoch praktisch unbegrenzt ist, gibt es keine Möglichkeit, sicher zu sein, dass neue Apps in jeder Situation und mit jeder Art von Hardware effektiv funktionieren.

iOS

Obwohl iOS nur etwa 18 % Marktanteil aufweist, ist es zweifellos die dominantere der beiden großen Plattformen. iOS ist im Besitz von Apple, das mit der Einführung der iPhone- und iPad-Technologien maßgeblich für die Verbreitung der mobilen Computertechnik verantwortlich ist.

Der Grund dafür, dass iOS weniger Verbreitung findet als Android, liegt darin, dass es nicht Open Source ist – iOS läuft ausschließlich auf Apple-Produkten. Um Anwendungen für iOS zu entwickeln, benötigen Entwickler einen Mac-Computer mit OS X (dem Standard-Mac-Betriebssystem).

Apple stellt ebenfalls native Tools und Bibliotheken für die App-Entwicklung bereit und Entwickler werden angehalten, die Programmiersprache Swift von Apple zu verwenden.

Apple kontrolliert die Hardware- und Softwareaspekte der iOS-Entwicklung sehr genau. Daher ist iOS in der Regel sehr reaktionsschnell, stabil und einfach zu bedienen. Auch die Gerätefragmentierung ist weniger problematisch, da Apple seine Apps nur auf der eigenen, proprietären Hardware laufen lässt. Auf der anderen Seite bedeuten die strengeren Richtlinien, dass es schwieriger sein kann, vollständig angepasste Apps zu erstellen, und dass alle neuen iOS-Apps zur Überprüfung und Genehmigung im App Store eingereicht werden müssen.

Andere Plattformen

Alle anderen aktuellen App-Entwicklungs-Plattformen teilen sich die restlichen 2% des Marktanteils. Dazu gehören die Entwicklungsplattformen von Windows und BlackBerry, aber fast alle App-Entwickler entscheiden sich für Android, iOS oder eine Kombination aus beiden.

Für die App-Entwicklung gibt es verschiedene Ansätze. Nachfolgend sehen wir uns drei der gängigsten näher an:

Native Entwicklung

Die einfachste und naheliegendste Methode für die App-Entwicklung ist die Verwendung der vom Betriebssystem-Anbieter bereitgestellten Tools und Plattformen. Diese Tools sind auf Benutzerfreundlichkeit ausgelegt und bieten Beispiele, Tools, Frameworks und andere Ressourcen, die eine schnellere Fehlersuche und optimale Funktionalität in dem mobilen Betriebssystem gewährleisten, für das sie entwickelt werden.

Native Entwicklungstools haben jedoch auch Nachteile. Da sie darauf ausgelegt sind, die Entwicklung für ihr jeweiliges Betriebssystem zu erleichtern, basieren sie auf unterschiedlichen Programmiersprachen. Das bedeutet, dass Entwickler, die mit Android- oder iOS-Entwicklungstools programmieren möchten, mit den Sprachen vertraut sein müssen, die diese Tools verwenden, und nicht einfach in ihrer eigenen bevorzugten Sprache arbeiten können. Ebenso kann die Entwicklung einer einzigen App für beide Betriebssysteme doppelte Arbeit bedeuten, da die Anwendung zweimal programmiert werden muss und zwei verschiedene Prozesse und Best Practices befolgt werden müssen.

Für diejenigen, die Apps nur für ein bestimmtes Betriebssystem entwickeln wollen, ist die native Entwicklung jedoch die schnellste und einfachste Lösung.

Vorteile

  • Optimierte Leistung
    Nativ entwickelte Apps funktionieren in der Regel besser und einheitlicher, da sie die Funktionen des Geräts optimal ausnutzen.
  • Verbesserte Benutzerfreundlichkeit
    Native Apps werden für bestimmte Geräte entwickelt. So können sie die Fähigkeiten dieser Geräte nutzen, um eine bessere Benutzer-Experience zu bieten.
  • Programmierung für nur eine Plattform
    Native Apps lassen sich leichter entwickeln, da sie nur für eine einzige Plattform konzipiert sind und nicht auf mehreren Betriebssystemen funktionieren müssen.

Nachteile

  • Erforderliche Spezialisierung
    Native Apps, die für bestimmte Betriebssysteme entwickelt werden, erfordern Entwickler mit speziellen Kenntnissen in der Programmierung für das jeweilige Gerät.
  • Mehrfache Entwicklungsarbeit
    Da native Apps speziell für die einzelnen Betriebssysteme entwickelt werden müssen, sind für die Entwicklung einer App, die auf mehr als einer Plattform funktionieren soll, mehrere Entwicklungsschritte und damit verbundene höhere Kosten und ein höherer Zeitaufwand erforderlich.

Plattformübergreifende Frameworks

Plattformübergreifende (auch hybride) Entwicklungsframeworks sollen es Entwicklern ermöglichen, effektive Apps zu erstellen, die unter beiden Hauptbetriebssystemen optimal funktionieren. Im Idealfall bedeutet dies, dass der Entwickler den Code nur einmal schreiben muss und dieser dann auf allen unterstützten Plattformen ausgeführt werden kann. Die meisten plattformübergreifenden Frameworks neigen dazu, das eine oder andere Betriebssystem zu bevorzugen, sodass Entwickler gezwungen sind, die Version der App für das andere Betriebssystem zu optimieren.

Häufig handelt es sich bei plattformübergreifenden Frameworks um Abstraktionen. Sie verwenden systemeigene Bibliotheken und Frameworks und setzen voraus, dass Entwickler über ein grundlegendes Verständnis dieser Elemente verfügen. Andere verfolgen einen hybriden Ansatz, indem sie neben nativen Komponenten auch webbasierte HTML-Komponenten einbeziehen.

Die meisten plattformübergreifenden Lösungen unterstützen eine bestimmte Programmiersprache, sodass viele Entwickler ihre Wahl davon abhängig machen, mit welchen Programmiersprachen sie bereits vertraut sind.

Vorteile

  • Schnellere Entwicklung
    Für die Entwicklung einer plattformübergreifenden App ist nur ein einziger Codesatz erforderlich, der auf mehreren Betriebssystemen funktioniert, was schnellere Entwicklungszyklen ermöglicht.
  • Leichtere Entwicklung
    Entwickler von Hybrid-Apps müssen nur eine Technologie erlernen, was die Einstiegshürde senkt und den Entwicklungsprozess vereinfacht.
  • Breitere Zielgruppe
    Plattformübergreifende Apps sind so konzipiert, dass sie in beiden großen App-Marketplaces verfügbar sind. So können Entwickler sowohl Android- als auch iOS-Benutzer erreichen.

Nachteile

  • Verminderte Benutzerfreundlichkeit
    Apps, die für beide Betriebssysteme entwickelt wurden, können meist nicht alle plattformspezifischen Funktionen voll ausschöpfen. Dies kann sich auf die Benutzerfreundlichkeit auswirken und dazu führen, dass Apps langsamer laufen als solche, die nativ entwickelt wurden.
  • Langsamerer Rollout neuer Funktionen
    Wenn neue native Funktionen eingeführt werden, müssen plattformübergreifende Entwickler darauf warten, dass ihr Entwicklungsframework diese Funktionen unterstützt.
  • Schwierige Anpassung
    Wenn eine App nicht nativ entwickelt wird, ist die Anpassung der App viel schwieriger und mit plattformübergreifenden Frameworks möglicherweise nicht vollständig möglich.
  • Leistungsprobleme
    Bei Apps, die nicht für ein bestimmtes Betriebssystem entwickelt wurden, kann es zu Kommunikations- und Leistungsproblemen kommen.

Mobile Web-App

Die dritte Option, die sich in den letzten Jahren immer größerer Beliebtheit erfreut, ist die Verwendung einer Web-App für die App-Entwicklung. Dabei wird eine Webanwendung für den Zugriff über einen Standard-Webbrowser erstellt, aber für die Nutzung auf mobilen Geräten optimiert.

Dieser Ansatz mag wie eine Mogelpackung erscheinen, aber Fakt ist, dass Web-Apps genauso effektiv, funktional und ausgefeilt sein können wie jede nativ entwickelte Anwendung. Tatsächlich gibt es viele Frameworks, die Entwicklern helfen, Web-Apps zu erstellen, die sich wie native Anwendungen anfühlen, wenn sie unter einem bestimmten mobilen Betriebssystem ausgeführt werden. Mobile Web-Apps können sogar Funktionen der Mobilgeräte integrieren, auf denen sie ausgeführt werden– Zugriff auf die Kamera, Wählen von Telefonnummern, Abrufen von Standortdaten und vieles mehr.

Vorteile

  • Vereinfachte Wartung
    Durch die Verwendung von Standard-Website-Programmiersprachen und -Regeln sind Web-Apps genauso einfach zu erstellen und zu aktualisieren wie Websites.
  • Schnellere Entwicklung
    Bei der Entwicklung von Web-Apps wird nur ein einziger Codesatz verwendet, was den Entwicklungsprozess beschleunigt und vereinfacht. Da dies Apps nicht von den großen App-Marketplaces genehmigt werden müssen, können sie auch wesentlich schneller veröffentlicht werden.
  • Geringere Kosten
    Vereinfachte Programmierung und schnellere Entwicklungszyklen bedeuten geringere Entwicklungskosten.
  • Optimaler Zugang
    Web-Apps funktionieren ähnlich wie Websites und sind über jeden Standard-Webbrowser verfügbar.

Nachteile

  • Abhängigkeit vom Internet
    Da der Zugriff auf Web-Apps mithilfe von Standard-Webbrowsern über das Internet erfolgt, benötigen sie Onlineverbindungen, um zu funktionieren. Ohne Zugang zu WLAN oder mobilem Datennetz können Benutzer nicht auf die App zugreifen.
  • Eingeschränkte Funktionalität und Zugriffsmöglichkeiten
    Web-Apps haben keinen Zugriff auf die nativen Funktionen eines Geräts oder Betriebssystems, was ihre Funktionalität einschränken kann.
  • Keine Verbindung zu App-Marketplaces
    Web-Apps sind nicht über App-Marketplaces erhältlich und können leicht übersehen werden.

Einzelne Entwickler verfolgen zwar unterschiedliche Ansätze oder Methoden, aber der Prozess der App-Entwicklung besteht im Allgemeinen aus sechs Schritten:

1. Idee

Das Entwicklungsteam muss gemeinsam mit anderen Abteilungen und Stakeholdern die Anforderungen an die künftige App festlegen. Dazu gehören alle Funktionen und Fähigkeiten, die die App benötigt, sowie die Frage, welche Zielgruppe sie ansprechen soll und welche spezifischen Probleme sie lösen muss.

App-Entwicklungsprozess – ServiceNow

2. Design

Nachdem die Idee hinter der App feststeht, werden im nächsten Schritt die Benutzeroberfläche (User Interface, UI) und die Benutzer-Experience (User Experience, UX) für die App entworfen.

3. Entwicklung

In der Entwicklungsphase erfolgt die eigentliche Arbeit: Die Entwicklungsteams programmieren die App und halten sich dabei an festgelegte Richtlinien. Anschließend werden erste Tests durchgeführt um sicherzugehen, dass die App einwandfrei funktioniert.

4. Testen

Wenn sich die App der Fertigstellung nähert, müssen umfangreichere Tests durchgeführt werden. In dieser Testphase wird nicht nur festgestellt, ob die App funktioniert oder ob es zu Fehlfunktionen kommt, die behoben werden müssen, sondern es werden auch die Gesamtqualität und die Benutzer-Experience geprüft.

5. Veröffentlichung

Nachdem die letzten Tests abgeschlossen sind und die App den gängigen Standards entspricht, kann sie endlich veröffentlicht werden.

6. Marketing

Obwohl es technisch gesehen nicht zur Entwicklung einer App gehört, trägt das Marketing dazu bei, dass sich das Entwicklungsteam nicht umsonst so viel Mühe gegeben hat. Nur mit der richtigen Marketingstrategie können Sie Ihre Zielgruppe darüber informieren, dass die App verfügbar ist und welche Vorteile sie bietet. Gleichzeitig kann das Marketing wertvolles Feedback generieren, das die Entwickler nutzen können, um die App durch weiteren Support zu verbessern.

Der Erfolg praktisch jeder App hängt davon ab, wie benutzerfreundlich sie ist. Die Benutzeroberfläche bestimmt, wie die Anwendung aussieht und wie die Benutzer mit ihr interagieren. Die Erstellung einer ansprechenden Benutzeroberfläche erfordert daher bestimmte Komponenten:

Informationsarchitektur

Bei der Erstellung der Informationsarchitektur legen die Entwickler die Funktionalität der App fest und beschreiben gleichzeitig, wie die Benutzeroberfläche aussehen wird.

Wireframes

Sogenannte Wireframes vermitteln eine grundlegende visuelle Vorstellung davon, wie die fertige App aussehen soll. Dazu gehören die Größe der verschiedenen Elemente und ihr Verhältnis zueinander, was das Layout betrifft.

Styleguides

Styleguides sind Richtlinien, die wichtige Informationen über die App enthalten, damit das Design durchgängig einheitlich bleibt.

Mockups

Auf der Grundlage von Wireframes und Styleguides zeigen Mockups den Ablauf der App in Form einer statischen Visualisierung.

Prototypen

Ein Prototyp ist eine Basisversion der funktionierenden App, die alle vorherigen Komponenten enthält oder daraus abgeleitet ist. Prototypen geben Entwicklern einen dynamischen Einblick in die Funktionsweise der App, bevor sie vollständig fertiggestellt ist. Dies hilft ihnen, Bereiche zu identifizieren, in denen die Benutzeroberfläche und die -Experience zu wünschen übrig lassen. Hierdurch steigt die Chance, dass das fertige Produkt die Erwartungen der Benutzer erfüllt oder übertrifft.

Wer in der heutigen, zunehmend vernetzten Geschäftswelt wettbewerbsfähig bleiben will, muss zuverlässige, leistungsstarke Apps entwickeln. ServiceNow, der führende Anbieter von IT-Managementservices, bietet Lösungen für die App-Entwicklung an, mit denen jedes Unternehmen problemlos auf fortschrittliche Tools und Ressourcen für die Konzeption, Entwicklung, Veröffentlichung und Verwaltung ansprechender und effektiver Apps zugreifen kann.

Mit ServiceNow Mobile Studio erhalten Unternehmen alles, was sie für die Entwicklung individueller mobiler Apps benötigen, ohne dass sie ein Heer von Entwicklern beschäftigen müssen oder profunde Kenntnisse in Sachen Programmierung brauchen. Mit sofort einsatzbereiten Vorlagen, Drag-and-Drop-Funktionen und benutzerfreundlichen Branding-Optionen läuft die App-Entwicklung mit Mobile Studio auf Knopfdruck. Und die Konfigurationstools des ServiceNow Mobile App Builder leisten sogar noch mehr: Sie gewährleisten eine bessere Organisation, Transparenz und Führung bei der Erstellung von Apps.

App-Entwicklung entdecken

Erstellen Sie mit ServiceNow die Apps, die Ihr Unternehmen und Ihre Kunden brauchen.