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 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.
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.
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:
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
Nachteile
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
Nachteile
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
Nachteile
Einzelne Entwickler verfolgen zwar unterschiedliche Ansätze oder Methoden, aber der Prozess der App-Entwicklung besteht im Allgemeinen aus sechs Schritten:
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.
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.
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.
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.
Nachdem die letzten Tests abgeschlossen sind und die App den gängigen Standards entspricht, kann sie endlich veröffentlicht werden.
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:
Bei der Erstellung der Informationsarchitektur legen die Entwickler die Funktionalität der App fest und beschreiben gleichzeitig, wie die Benutzeroberfläche aussehen wird.
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 sind Richtlinien, die wichtige Informationen über die App enthalten, damit das Design durchgängig einheitlich bleibt.
Auf der Grundlage von Wireframes und Styleguides zeigen Mockups den Ablauf der App in Form einer statischen Visualisierung.
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.
Erstellen Sie mit ServiceNow die Apps, die Ihr Unternehmen und Ihre Kunden brauchen.