Erfahrungen aus der Cross-Plattform-Entwicklung mit Xamarin, Teil 1: Apps und Frameworks

Seite 3: Schnelligkeit und Rentabilität

Inhaltsverzeichnis

Verschiebt man den Fokus von der Benutzung hin zur Entwicklungszeit, gibt es dort ebenfalls zahlreiche Möglichkeiten, sich einen Überblick zu verschaffen. Beispielsweise sollte die vom gewählten Framework verwendete Programmiersprache zu den Fähigkeiten des Teams passen. Auch die Frage nach dem Reifegrad der Werkzeuge zur Entwicklung ist von essenzieller Bedeutung. Wie gut unterstützen etablierte Entwicklungsumgebungen ein Framework? Wie gut lässt sich eine CI-Pipeline realisieren? Ist Debugging und Profiling schlecht umgesetzt oder gibt es ausgefeilte Tools? Wie reif sind die verfügbaren Frameworks zur Testautomatisierung? Insbesondere bei den beiden letzten Fragen spielt aufgrund der Fragmentierung der mobilen Gerätewelt auch die Frage nach Cloud-basiertem Testen eine Rolle.

Bei der Betrachtung der Rentabilität sind vor allem Untersuchungen wie die Frage nach der Langlebigkeit der Techniken wichtig. Hier spielt vor allem der Reifegrad eine Rolle. Ist ein Framework noch so neu, dass es sich potenziell im Wochenrhythmus stark ändert, ist ein langlebiges Projekt kaum realisierbar. Hingegen ist die Frage nach der Unterstützung von Funktionen neuerer Betriebssystemversionen wieder nur für bestimmte Anwendungen relevant.

Vor allem in der Einstiegsphase und bei komplexeren Projekten ist die Verfügbarkeit einer starken Community sowie eines guten Technik-Supports wichtig. Wie einfach sind Entwickler für dieses Framework zu finden? Wie leicht lassen sich Schulungen für die Entwickler organisieren? Wie viele Informationen finden sich für die Techniken im Internet? Gerade für Letzteres hilfreich sind Seiten wie Stack Overflow, die sehr gut das Interesse der Entwicklerwelt an einer Technik verdeutlichen.

All diese Fragen sind lediglich Denkanstöße für das eigene Produkt, die man näher untersuchen muss. Das Entwicklerteam sollte so früh wie möglich in die Entscheidungsfindung eingebunden sein. Hierbei fällt dem Requirements Engineering die besondere Rolle zu, zwischen der langfristigen Vision des Unternehmens, den Zielen des Produktmanagements und den Anforderungen der Entwickler zu vermitteln. Erst wenn eine klare Vorstellung des zu entwickelnden Produkts (der App) herausgearbeitet und die Bedürfnisse der Nutzer erörtert wurden, kann eine Analyse der Cross-Plattform-Frameworks in den oben genannten Bereichen erfolgen. Dann kann das Team gemeinsam eine fundierte Entscheidung treffen und gegebenenfalls um weitere Mitglieder ergänzt werden, um die Entwicklung zu starten.