Mobile App Development Cost and Process

iPhone App Development Cost / Process, Android App Development Cost / Process

Oft bitten mich Kunden, ihnen eine ungefähre Kostenschätzung für die Entwicklung einer App zu geben, damit sie sich für ein Budget entscheiden oder an Investoren herantreten können, um Geld für das App-Projekt zu beschaffen.

In diesem Artikel werde ich den Prozess der Entwicklung einer mobilen App, verschiedene Anforderungen an das Talent und Elemente, die die Entwicklung einer mobilen App beeinflussen, erläutern.

Prozess der Entwicklung mobiler Apps

Die folgenden Punkte zeigen den typischen Prozess der Entwicklung mobiler Apps:

  1. Wireframing – Das Wireframing ist ein wichtiger Prozess bei der Entwicklung einer App, denn es bildet die Grundlage dafür, wie die App gestaltet sein und funktionieren muss. Es ist wichtig zu wissen, dass es bei mobilen Apps viel zeitaufwändiger und kostspieliger ist, die Bildschirme zu überarbeiten oder die Funktionalität neu zu erstellen als bei einer Web-App, daher ist es wichtig, die Wireframes zu erstellen, bevor mit der Entwicklung begonnen wird. Während des Wireframings müssen ein App-UX-Spezialist und ein App-Entwickler gemeinsam mit dem Projekteigentümer eine Brainstorming-Sitzung abhalten, um herauszufinden, wie die App gestaltet werden soll und wie sie funktionieren soll.Je komplexer das Projekt ist oder je mehr Bildschirme es hat, desto länger dauert das Wireframing. Um das Wireframing abzuschließen, entwirft ein App-UX-Spezialist die Navigation, die Bildschirme und alle Elemente, die in die App-Bildschirme einfließen, und notiert die Funktionalitäten für jeden Bildschirm.
  2. App Screen Design – Entwerfen der App-Bildschirme (Front-End) für iOS und Android.
  3. App-Programmierung – Programmieren der App-Bildschirme (Frontend) für iOS und Android.
  4. Application / Database Framework – Einrichten des serverseitigen Frameworks der Anwendung (Cloud / Back-End) und Erstellen der Datenbankstruktur.
  5. Serverseitige Anwendungsprogrammierung – Schreiben des gesamten serverseitigen Codes zur Implementierung der Back-End-Funktionalität.
  6. Entwicklung von APIs – Schreiben aller APIs, die die App-Bildschirme mit der serverseitigen Anwendung und der Datenbank verbinden.
  7. Benutzerfreundlichkeit QA – Testen der App-Bildschirme auf Fehler und Behebung von Problemen.
  8. Multi-Plattformen, Multi-Geräte, OS-Versionen, Auflösungen QA – Testen der App auf allen verschiedenen Plattformen (iPhone, Android, Windows Phone) und verschiedenen OS-Versionen jeder Plattform (Apple iOS hat zwei beliebte Versionen: iOS 8 und iOS 7, Android OS hat fünf beliebte Versionen (Android 4.1,4.2,4.3,4.4,5.0), unterschiedliche Auflösungen der verschiedenen mobilen Geräte (zwischen den verschiedenen Geräten von Smartphones, Phablets und Tablets, gibt es eine ganze Menge Auflösungen zu testen und es kann zeitaufwendig sein.)
  9. Back-End QA Testen des Back-End-Codes auf Leistung und Sicherheit.
  10. Cloud Setup – Bereitstellen der serverseitigen Anwendung auf dem Server / der Cloud.
  11. Einreichen in App Stores – Bereitstellen der App in den App Stores.

Benötigte Talente für die Erstellung einer qualitativ hochwertigen mobilen App

Die Erstellung einer qualitativ hochwertigen mobilen App erfordert viele Schritte und erfordert verschiedene Talente mit unterschiedlichen Spezialisierungen:

  • Für das Wireframing wird ein UX-Spezialist (User Experience) benötigt, der Erfahrung in der Erstellung von App-Bildschirmen mit dem besten Benutzererlebnis hat. Ein UX-Spezialist sollte die App-Konventionen und Regeln für die Darstellung der Navigation und der Elemente auf den Bildschirmen kennen, damit sich die Nutzer besser in der App zurechtfinden und das, was sie brauchen, in der richtigen Priorität finden.
  • Für die Gestaltung der App-Bildschirme muss der Designer wissen, wie man für verschiedene Geräte gestaltet: iPhone-, Android- und Windows Phone-Bildschirme. Kurz gesagt, der Designer sollte die Erfahrung und die Vision haben, wie verschiedene Objekte oder grafische Elemente auf kleinen Telefonbildschirmen und verschiedenen Auflösungen aussehen werden. Der Designer muss auch die richtige Größe, die richtigen Grafiken und Icons und Themen für die App verwenden.
  • Für die Programmierung der App-Bildschirme muss der Programmierer Erfahrung mit der Xcode-Umgebung mit Objective-C oder Swift für iOS und Java für Android haben. In der Regel spezialisieren sich Programmierer entweder auf die iOS-Entwicklung oder die Android-Entwicklung.
  • Für das Schreiben der serverseitigen Anwendung und APIs muss der Programmierer Erfahrung im Schreiben von wartbarem Code mit bester Sicherheit und Leistung haben.
  • Für die Qualitätssicherung muss der Qualitätssicherungsspezialist und Tester detailorientiert sein und Erfahrung darin haben, nach Funktions- und Designproblemen zu suchen, die von den Entwicklern normalerweise nicht leicht zu erkennen sind.
  • Die Bereitstellung der serverseitigen Anwendung geht über die Aufgaben eines Entwicklers oder Programmierers hinaus; sie erfordert einen erfahrenen Programmierer und einen Cloud-Spezialisten, der manchmal auch als DevOps bezeichnet wird. Der DevOps muss Erfahrung mit der Installation der Anwendung, der Schaffung einer zuverlässigen Serverumgebung, Datenbankredundanz, Backup, Sicherheit, Leistung und Skalierbarkeit der Anwendung haben.
  • Die Bereitstellung der Anwendung im App Store ist normalerweise eine einfache Aufgabe.

Wenn Sie sich also die Anforderungen an die Talente bei der Entwicklung einer App ansehen, werden Sie feststellen, dass Sie für die Entwicklung einer qualitativ hochwertigen App, die schön gestaltet, benutzerfreundlich, funktional und skalierbar ist, verschiedene Talente mit unterschiedlichen Erfahrungen und Spezialisierungen benötigen, was das App-Projekt erheblich verteuern kann.

Ungefähre Kosten für die Entwicklung mobiler Apps

Auf der Grundlage aller benötigten Talente und der gesamten Arbeit und des Prozesses, die mit der Entwicklung einer App verbunden sind, habe ich unten eine ungefähre Kostenschätzung für die Entwicklung von Apps erstellt.

Wenn Sie mehr über die Entwicklung nativer Apps im Vergleich zur Entwicklung hybrider Apps lesen möchten, klicken Sie auf den unten stehenden Link:
https://www.comentum.com/phonegap-vs-native-app-development.html

MVP: Minimum Viable Product

Ungefähre Kostenaufstellung für die Entwicklung nativer Apps: Android & iPhone
Projekt Small MVP Small Enterprise Medium MVP Mittelgroßes Unternehmen Großes MVP Großes Unternehmen
Discovery und Wireframing $1,500 $2,500 $2,500 $3,500 $5,000 $9,000
App Screen Designs $2,000 $3,000 $3,500 $5,000 $5,000 $9,000
iOS native development $9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Android Native Development $9,000 $11,000 $37,000 $45,000 $60,000 $90,000
Back-End-Programmierung, Datenbank und APIs $5,000 $7,000 $9,000 $10,000 $12.000 $12.000
Anwendungsbetreuung N/A $7,500 $9.000 $15.000 $10.000 $20.000
Qualitätssicherung und Verbesserungen iOS $2,000 $2,500 $5,000 $6,500 $7,000 $9,000
Qualitätssicherung und Verfeinerung Android $2,000 $2,500 $5,000 $6.500 $7.000 $9.000
Deployment und Cloud $1.500 $2,000 $2,000 $3,000 $2,000 $3,000
Gesamt (eine Plattform) $21,000 $35,500 $68,000 $81,000 $101,000 $152,000
Gesamt (Android und iPhone) $32,000 $49,000 $110,000 $125,500 $168,000 $251,000

Ungefähre Kostenaufschlüsselung für die Entwicklung einer Hybrid-App: Android & iPhone
Projekt Small MVP Small Enterprise Medium MVP Mittelgroßes Unternehmen Großes MVP Großes Unternehmen
Discovery und Wireframing $1,500 $2,500 $2,500 $3,500 $5,000 $7,500
App Screen Designs $2,000 $3,000 $3,500 $6,000 $5,000 $9,000
Hybrid App Entwicklung mit PhoneGap Technologie $10,000 $12,000 $38,000 $45,000 $65,000 $100,000
Back-End-Programmierung, Datenbank und APIs $5.000 $7.000 $9.000 $10,000 $12.000 $12.000
Antragsverwaltung N/A $7.500 $9.000 $15.000 $10.000 $20,000
Qualitätssicherung und Veredelung $2,000 $4,000 $5,000 $7.000 $9.000 $11.000
Einsatz und Cloud $1,500 $2,500 $2,000 $3,000 $2,000 $3,000
Gesamt (Android & iPhone) $22,000 $38,500 $69,000 $89,500 $108,000 $162,500

Kostenfaktoren für die Entwicklung einer mobilen App

Die Kosten für die Entwicklung einer mobilen App basieren auf diesen Faktoren:

1. App-Plattformen und Umgebung

Die Entwicklung für alle Plattformen erhöht die Kosten erheblich. Das liegt daran, dass Apple iPhone die Xcode IDE und die Programmiersprache Objective-C oder Swift verwendet, Android die Programmiersprache Java und Windows die Programmiersprache C#.

Wenn der Entwickler die App für alle Plattformen entwickeln muss und die App in der nativen Programmiersprache jeder Plattform erstellt werden muss, verdoppeln oder verdreifachen sich die Entwicklungskosten aufgrund des Zeitaufwands, der für die Erstellung der App in den verschiedenen Programmiersprachen der einzelnen Plattformen erforderlich ist.

Wenn die App mit einer hybriden Entwicklungstechnologie erstellt werden kann, kann der Entwickler sie einmal mit z. B. HTML5, CSS und JavaScript erstellen und PhoneGap verwenden, um die App für alle Plattformen vorzubereiten. Dies kann die Kosten für die Entwicklung für alle Plattformen erheblich senken.

Mehr über die Unterschiede zwischen nativer App-Entwicklung und hybrider App-Entwicklung erfahren Sie in dem unten verlinkten Artikel:
Native App-Entwicklung vs. Hybrid / PhoneGap App-Entwicklung

2. Anpassungen vs. Verwendung von Standard-App-Widgets und Konventionen

Je mehr Anpassungen Sie vornehmen, desto mehr Zeit benötigt die Entwicklung Ihrer App.

Außerdem ist es gut zu wissen, dass die App-Entwicklungsumgebung für jede Plattform bestimmte Widgets für den Aufbau der standardisierten Konvention bereitstellt, z. B. für die Navigation, den Wechsel der Bildschirme, Animationen und andere Elemente der App-Benutzerinteraktion. Wenn die Standardkonvention verwendet wird, werden die Kosten für die App-Entwicklung kostengünstiger sein.

3. Anzahl der App-Bildschirme

Die Anzahl der Bildschirme wirkt sich direkt auf die Kosten aus; je mehr Bildschirme Sie haben, desto mehr Arbeit wird in die Entwicklung der App gesteckt.

4. Komplexität der Bildschirme

Es wird empfohlen, sauberere (und weniger überfrachtete) Bildschirme mit einfacher Navigation zu erstellen, die die Standardkonventionen der App verwenden. Dies bietet die beste Benutzererfahrung und reduziert die Entwicklungskosten.

Wenn Sie unübersichtliche Bildschirme mit vielen komplexen Navigationselementen erstellen, werden die Kosten für die App-Entwicklung höher sein

5. E-Commerce und In-App-Käufe

Immer wenn man mit Geld arbeitet, muss der Entwickler besonders vorsichtig mit den Berechnungen und der Sicherheit sein.

In-App-Käufe und der Umgang mit Geld erhöhen den Zeitaufwand für die Entwicklung, weil zusätzliche Zeit benötigt wird, um sicherzustellen, dass die Berechnungen korrekt sind und die App sicher ist.

Selbst wenn die Entwicklung abgeschlossen ist, würde ich empfehlen, zusätzliche Tests mit Transaktionen durchzuführen, um die Genauigkeit der Berechnungen zu gewährleisten, bevor die Anwendung in Betrieb genommen wird.

6. Integration mit den APIs von Drittanbietern

Wenn die App mit anderen Diensten kommunizieren muss, muss der Entwickler die APIs von Drittanbietern kennenlernen und mit ihnen kommunizieren.

Dies erfordert zusätzliche Zeit, um die APIs von Drittanbietern zu erlernen und sie korrekt zu implementieren. In vielen Fällen kann der Entwickler den Arbeitsaufwand für die Schnittstelle zu APIs von Drittanbietern nicht abschätzen, bevor er nicht einige Zeit damit verbracht hat, die API zu erlernen und die Schnittstelle zu implementieren.

7. komplexe Animationen

Angepasste und komplizierte Animationen und Spiele können erhebliche Entwicklungszeit in Anspruch nehmen.

Komplizierte Animationen, die keinen praktischen Nutzen haben, können auch Ihre App verlangsamen und den Benutzer frustrieren. Versuchen Sie also, sich von komplizierten Animationen fernzuhalten, die keinem praktischen Zweck dienen.

8. Unterstützung für mehrere mobile Bildschirmauflösungen

Es gibt drei Arten von mobilen Geräten:

  • Smartphones – Beispiele: Apple iPhone 3,4,5,6 oder Samsung Galaxy S2, S3, S4, S5, oder LG Nexus 4, 5.
  • Phablets (die Bildschirmgröße liegt zwischen Smartphone und Tablets), Beispiele: Apple iPhone 6 Plus oder Motorola Nexus 6.
  • Tablets Beispiele: Apple iPad mehrere Versionen, mini mehrere Versionen, Air, Samsung Galaxy Tab (mehrere Versionen)

Die oben genannten Geräte haben alle unterschiedliche Bildschirmauflösungen. Für die neueren Versionen des Betriebssystems der Geräte gibt es Möglichkeiten, die Größe des Inhalts an die meisten Bildschirme anzupassen, aber die Erstellung von benutzerdefinierten Schnittstellen zur Unterstützung aller Bildschirmauflösungen kann sehr zeit- und kostenaufwändig sein.

9. Unterstützung für alle Versionen des Betriebssystems (OS)

Nachfolgend finden Sie eine Liste aller OS-Versionen für mobile Geräte und aller gängigen OS-Versionen. Wenn Sie alle Betriebssystemversionen aller Geräte unterstützen möchten, werden die Kosten viel höher sein.

Ich würde empfehlen, nur die gängigen Betriebssystemversionen der zu unterstützenden Geräte auszuwählen.

  • Apples mobile Geräte Apples mobiles Betriebssystem wird iOS genannt. iOS hat Versionen von Version 1.0 bis 8.0 (veröffentlicht im September 2014).
    Nachfolgend finden Sie eine Liste der beliebten iOS-Versionen und die ungefähren Prozentsätze ihres Marktanteils (Stand: Februar 2015):
    • iOS 8: 80%
    • iOS 7: 19%
  • Android’s Mobile Devices Android OS hat Versionen von 2.2 bis 5.0 (veröffentlicht im November 2014) Im Februar 2015 sind die beliebtesten Android OS Versionen: (Prozentangaben sind ungefähr)
    • Android OS 4.4: 60%
    • Android OS 4.3: 7%
    • Android OS 4.2: 13%
    • Android OS 4.1: 12%
    • Android OS 5.0: 5%
  • Windows Mobile Geräte Microsoft Phone OS hat Versionen von 7 bis 8 (veröffentlicht im Oktober 2012) Zu diesem Zeitpunkt habe ich nicht genug Daten, um den ungefähren Prozentsatz des Marktanteils jeder Version zu liefern.

10. Offline-Unterstützung

Die Entwicklung von Offline-Unterstützungsfunktionen kann zeitaufwendig sein und erhöht die Entwicklungskosten.

11. Kontinuität / Übergabefunktion

Die Übergabefunktion bietet die Möglichkeit, Informationen und Daten zwischen verschiedenen Geräten zu verbinden und auszutauschen bzw. zu verschieben.

Die Entwicklung von Weiterreichungsfunktionen kann zeitaufwändig sein und das Projekt mit erheblichen Kosten belasten.

Die Recherche für diesen Artikel wurde am 24. Februar 2015 abgeschlossen; Informationen können sich ändern.

Leave a Reply