Fotolia

Acht Kriterien für die Auswahl von Mobile-App-Entwicklung-Tools

Wenn es um die Auswahl eines Werkzeugs für die Mobile-App-Entwicklung geht, müssen mehrere Punkte beachtet werden. Die acht wichtigsten Kriterien.

Der Markt für die Mobile-Softwareentwicklung wird mit Werkzeugen geradezu überflutet. Die Auswahl eines passenden Tools ist deshalb eine nicht ganz einfache Aufgabe. Von Plug-ins für integrierte Entwicklungsumgebungen bis zu Cloud-basierten Plattformen, die mit jeder Phase des Lebenszyklus der Anwendung umgehen können, gibt es eine ganze Reihe von Überlegungen zu berücksichtigen, bevor Unternehmen eine Entscheidung treffen können.

Wir stellen acht Kriterien zur Bewertung von Entwicklungs-Tools für mobile Anwendungen vor. Die Relevanz der einzelnen Punkte variiert unter anderem abhängig von der Größe des Unternehmens, den bereits bestehenden Werkzeugen, dem Budget und dem existierenden Inhouse-Know-how.

Bedienbarkeit

Das Interface eines App-Entwicklungs-Tools sollte intuitiv und einfach sein. Man sollte mit ihm so arbeiten können, wie es Entwickler erwarten. Wenn zum Beispiel die Zusammenarbeit mit anderen Entwicklern ein wichtiges Kriterium ist, sollte das Werkzeug diese möglichst verbessern – oder zumindest nicht behindern.

Wie das Werkzeug tatsächlich funktioniert, sollte für einen Entwickler bei der Bewertung eine hohe Priorität haben. In jedem Fall gilt: Entwickler sollten potenzielle Produkte gründlich testen, bevor sie mit diesen produktiv arbeiten.

Kosten

Die Lizenzierung von Entwicklungs-Tools, der Aufbau der notwendigen Infrastruktur sowie die eigentliche Entwicklung und Bereitstellung von Anwendungen können teuer werden. Im Vergleich dazu erscheinen die niedrigen Startgebühren von Cloud-basierten Diensten wie einer Mobile Application Development Platform (MADP) recht verlockend, vor allem, wenn die Dienste versprechen, den größten Teil der Arbeit zu erledigen.

Wenn Sie irgendein mobiles App-Entwicklungs-Tools bewerten, sollten Sie nicht nur die reinen Anschaffungskosten berücksichtigen, sondern immer auch die Total Cost of Ownership (TCO). Denken Sie bei der Bewertung mobiler Anwendungs-Tools also immer auch an die langfristigen Kosten. Dienstleistungen, die auf kurze Sicht weniger kosten, könnten tatsächlich am Ende teurer werden. Dies gilt vor allem, wenn die Dienste mit anderen Systemen nicht gut zusammenarbeiten oder nicht die gesamte Funktionalität bieten, die ein Unternehmen benötigt.

Stehen Ausgabeneinsparungen im Vordergrund, könnten auch Open-Source-Tools attraktiv sein. Wenn Entwickler und Administratoren allerdings Stunden damit verbringen, diese Werkzeuge anzupassen und zu integrieren, lösen sich die Vorteile schnell wieder in Luft auf.

Lifecycle Management

Sind Entwickler mit einer App fertig, ist der Job noch nicht getan. Sie müssen ihre Anwendung prüfen, bereitstellen, warten und analysieren – und das während der gesamten Lebensdauer der App. Ihnen muss auch klar sein, wie Anwender mit den Daten umgehen und sie speichern, wie sie die Daten sichern und wie man sie in andere Systeme integriert. Darüber hinaus müssen Entwickler alle Gerätetypen berücksichtigen, auf denen die App laufen soll und bei jedem Gerätetyp an die verschiedenen Auslieferungsmechanismen und Upgrade-Strategien denken.

Wenn Entwickler ihre Arbeit inhouse erledigen, sollten sie sich vergewissern, dass ihre Mobile-App-Entwicklungs-Tools zusammenarbeiten, damit der App-Lebenszyklus unterstützt werden kann. Das gleiche gilt, wenn Unternehmen in Verbindung mit internen Tools auf externe Dienstleistungen setzen.

Wenn ein Unternehmen einen Full-Plattform-Service wählt, muss es genauso fleißig sein. Bei diesen Plattformen handelt es sich in der Regel um Cloud-basierte Dienste. Diese versprechen oft, Entwickler mit einer umfassenden Suite von Tools von allem Ballast zu befreien. Doch nicht alle Dienste sind gleich, so dass Entwickler im Vorfeld genau festlegen sollten, was sie brauchen, um dann zu prüfen, ob der Dienst die Anforderungen abdeckt. Und alles unter Berücksichtigung der Erweiterbarkeit und Integration mit anderen Systemen.

Sicherheit

Mobile Softwareentwicklungs-Tools sollten es Administratoren ermöglichen, die im Gerät integrierten Sicherheitskontrollen zu verwenden.

Governance und Auditing sind ebenfalls wichtig, unabhängig davon, welche Werkzeuge ein Entwickler verwendet. Wenn ein Entwickler zum Beispiel einen Cloud-Service wählt, muss er sicher sein, dass dieser den staatlichen und unternehmensseitigen Beschränkungen und Vorschriften entspricht und dass diese auf die Daten angewendet werden. So mag ein bestimmter Service die Entwicklung vielleicht einfacher machen und das vielleicht sogar über mehrere Plattformen hinweg. Doch dies gewährleistet nicht unbedingt das höchste Maß an Sicherheit.

Integration

Entwickler sollten prüfen, wie gut das Mobile-App-Entwicklungs-Tool mit den Systemen und Services zusammenarbeitet, mit denen die Anwendung während ihrer gesamten Lebensdauer in Kontakt kommt. Nicht nur das Werkzeug selbst sollte eine nahtlose Integration mit anderen Systemen bieten, es sollte damit auch möglich sein, eine Anwendung mit der notwendigen Integration aufzubauen.

Zum Beispiel könnte ein Entwickler die Aufgabe haben, Anwendungen zu erstellen, die Mobile Application Management (MAM) unterstützen. Wenn er ein App-Entwicklungs-Tool in Erwägung zieht, sollte er sicherstellen, das MAM in die Anwendungen integriert werden kann.

Das Konzept der Integration erstreckt sich auch auf weitere Fragen. Beispielsweise: Können Administratoren mit den Tools Anwendungen bauen, die mit den vorhandenen Backend-Systemen zusammenarbeiten? Oder: Können die Werkzeuge selbst mit ihrer Continuous-Delivery-Infrastruktur mit anderen wichtigen Systemen zusammenarbeiten?

Expertise

Einige Dienste versprechen eine codelose Entwicklung, während andere das Mantra predigen: „Einmal schreiben, überall ausführen“. Letzteres könnte den gesamten Entwicklungsprozess vereinfachen, erfordert aber immer noch Entwickler. Auf der anderen Seite könnte ein plattformübergreifender Service mit JavaScript und HTML arbeiten und auf Sprachen wie Java oder C# verzichten, was es einfacher machen würde, Entwicklungsressourcen intern zu nutzen.

Entwickler müssen ebenso prüfen, welche Fähigkeiten sie benötigen, also welches Know-how das Produkt oder die Dienstleistung als Teil des Pakets bietet. Sie sollten außerdem prüfen, wie schnell sie ihre Anwendungen veröffentlichen können. Einige Dienste bieten Vorlagen oder Code-Beispiele und ermöglichen die Wiederverwendung von Code. Andere Services bieten die Möglichkeit, bestimmte Komponenten anzupassen, wenn sie das Know-how haben.

Anwendungen

Jede Art von App hat ihre Vor- und Nachteile. Native Anwendungen bieten in der Regel die beste Leistung und Benutzererfahrung, aber sie kosten in der Regel am meisten und brauchen am längsten für die Entwicklung – besonders wenn sie auf mehreren Plattformen eingesetzt werden sollen. Webanwendungen sind schnell und einfach zu implementieren, aber sie sind in der Regel nicht so robust wie native Anwendungen. Hybrid-Anwendungen liegen irgendwo dazwischen.

Mehr zum Thema App-Entwicklung:

Mobile Apps mit Cross-Plattform-Entwicklungs-Tools entwickeln.

Die Entwicklung von SAP Fiori-Apps erfordert ein designzentriertes Denken.

Welche Mobile Prototyping Tools sich für die App-Entwicklung eignen.

Die Entwicklung von mobilen Apps mit PaaS, SaaS und IaaS beschleunigen.

So revolutioniert App-Layering die Anwendungsbereitstellung.

Einige Organisationen müssen verschiedene Arten von Apps implementieren. Zum Beispiel passt eine einfache HTML5-App in der Regel für interne Benutzer, aber Kunden brauchen native Anwendungen.

Entwickler müssen wissen, was sie bauen werden, bevor sie die Werkzeuge auswählen, um die Software zu entwickeln. Wenn sie sich zum Beispiel für einen MADP-Service entscheiden und Hybrid- oder HTML5-Anwendungen bauen, dann müssen sie sicherstellen, dass sie eine Schnittstelle liefern können, die ihre Benutzer auch mögen.

Anbieter

Entwickler sollten die Verfügbarkeit, Skalierbarkeit und Leistung berücksichtigen. Sie müssen auch wissen, wie man die Anwendung wartet und wie Upgrades implementiert werden sollen, was Ressourcen braucht und die Verfügbarkeit beeinflusst.

Wenn Entwickler Anwendungen inhouse bauen, dann können sie alles kontrollieren. Bei externen Leistungen, insbesondere kompletten Plattformen, kaufen Unternehmen oft das gesamte Paket. Der Dienst kann Mechanismen eingebaut haben für die Einstellung der Skalierbarkeit und der Performance. Aber insgesamt haben Entwickler wenig Kontrolle über die grundlegenden Anpassungen.

Bevor sie sich an irgendeinen Service binden, sollten Entwickler die Service-Level-Agreements (SLAs) voll und ganz verstehen – und sich im Klaren sein, was der Anbieter tatsächlich liefern kann.

Folgen Sie SearchEnterpriseSoftware.de auch auf Twitter, Google+ und Facebook!

Erfahren Sie mehr über Softwareentwicklung