Development-Apps und -Tools

Werkzeugkasten für eine erfolgreiche App-Entwicklung

28.11.2017
Von   
Mark Zimmermann leitet hauptberuflich das Center of Excellence (CoE mobile) zur mobilen Lösungsentwicklung bei der EnBW Energie Baden-Württemberg AG in Karlsruhe. Er weist mehrere Jahre Erfahrung in den Bereichen Mobile Sicherheit, Mobile Lösungserstellung, Digitalisierung und Wearables auf. Der Autor versteht es, seine Themen aus unterschiedlichsten Blickwinkeln für unternehmensspezifische Herausforderungen darzustellen. Neben seiner hauptberuflichen Tätigkeiten ist er Autor zahlreicher Artikel in Fachmagazinen.
Bereits kleine Tools können die Effizienz von Administratoren, Entwicklern oder Designern bei der Kreation von Apps positiv beeinflussen.

Erste Scribbles für App-Ideen, lassen sich sehr schön mit der iOS App Paper unterwegs erfassen. Aber die Tool-Landschaft ist noch viel breiter und das Internet bietet eine Menge mehr an Möglichkeiten an. Hier eine Auswahl an kleinen und großen Helfern für die gesamte Bandbreite einer App-Entwicklung bzw. die beteiligten Personen.

Schnelle Zeichnungen unterwegs anzufertigen, ist mit Paper.io kein Problem.
Schnelle Zeichnungen unterwegs anzufertigen, ist mit Paper.io kein Problem.
Foto: Mark Zimmermann

Dokumentieren und Ideen präsentieren

Wer einfach Texte strukturieren und formatieren will, nutzt einen Editor mit Markdown-Support wie z.B. Bear Writer. Markdown ermöglicht es, Texte zu formatieren, allerdings ohne WYSIWYG-Funktionalität. Das Ergebnis ist ein immer sauber und effizient erstelltes Dokument. Wer Folien für eine Präsentation auf diese Art erstellen möchte, dem sei Deckset ans Herz gelegt.

Prototyping

Prototyping-Tools können das Design einer App-Idee verständlich machen, Stakeholder überzeugen und den Entwicklern die Anforderungen besser erklären - inhaltlich, aber auch visuell. Die Wahl des richtigen Tools ist jedoch nicht einfach. Ohne hier genauer auf Stärken und Schwächen der einzelnen Lösungen einzugehen, sollen dem werten Leser drei bewährte Werkzeuge ans Herz gelegt werden: Flinto, Principles und Kite Composer. Doch Achtung: Es handelt sich dabei um keine abschließende Aufzählung und auch die Reihenfolge der Tools ist willkürlich gewählt. Je nach Einsatzgebiet und Vorliebe könnte das eine oder andere Tools für Sie geeignet sein.

User Interface Design

Beim Thema User Interface Designs denken einige von Ihnen sicher an Photoshop. Doch lassen Sie sich gesagt sein, dass es sich bei Photoshop "lediglich" um ein zum Screendesign umfunktioniertes Bildbearbeitungsprogramm handelt. Spezialisiert darauf sieht anders aus. Vor einige Zeit betrat etwa Sketch die Bühne. Sketch ist ein vektorbasiertes Programm, das den Einsatz und Export von Icons und Grafiken wesentlich erleichtert. Designt wird in Sketch auf Basis der 1x-Auflösung. Bei einem Export passt Sketch die anderen Formfaktoren, wie z.B. 2x und 3x für iOS oder den verschiedenen Skalierungen für Android automatisch an. Sketch bietet die Möglichkeit, Plugins von Drittanbietern zu installieren. Obendrein gibt es noch verschiedene (frei verfügbare und auch kostenpflichtige) Ressourcen für Sketch.

Um auf den Vergleich mit Photoshop zurückzukommen: Laut eines Reports von Avocode wurden im Jahr 2016, basierend auf 1.127.302 Designs, mehr Sketch- als Photoshop-Files verarbeitet.

Abgerundet wird das UID-Werkzeugset mit den Design-Kollaborations-Tools Zeplin oder InVision. Benötigen Sie Hilfe bei den verschiedenen Icon-Größen, kann ich Ihnen IconKit ans Herz legen.

Im Internet existieren aber auch Entwickler-Tools, die Entwickler bei komplexen Grafik-Ausgaben entlasten. Mit Schwartz oder auch Paintcode können Entwickler bzw. Grafiker vektorbasierte grafische Kompositionen in einer benutzerfreundlichen Umgebung erstellen und dann automatisch Quellcode generieren. Die so erstellten Komponenten lassen sich im Anschluss direkt in der App-Entwicklung ansprechen.

Sie wollen wissen, wie Ihre neue App später wirkt, haben Sie aber noch keinen textlichen Inhalt? Hier hilft Blindtext, also Zeichensalat, der als Platzhalter im Layout fungiert. Der Vorteil: Sie erhalten einen wirklich tollen Eindruck davon, wie viel Platz Ihre App für Text hat, wo er stehen wird und wie Text und App-Layout zusammenpassen. Für solche Texte gibt es sowohl Programme wie LittleIpsum aber auch Webseiten wie z.B. http://www.blindtextgenerator.de. Da Apps aber nicht nur aus Texten bestehen und nicht immer alle Bilder gleich vorliegen, können Sie auch entsprechende Dummy-Bilder, z.B. mit Lorempixel, automatisiert generieren.

Blindtexte lassen sich schnell und einfach generieren mit einem Generator unter http://www.blindtextgenerator.de.
Blindtexte lassen sich schnell und einfach generieren mit einem Generator unter http://www.blindtextgenerator.de.
Foto: Mark Zimmermann

Development

Entwicklern ihre IDE zu erklären ist ein ziemlich sinnfreies Unterfangen. Apple und Google stellen hier ein mehr oder weniger ausführliches Set an Werkzeugen bereit. Ein paar erwähnenswerte kleine Hilfsmittel gibt es dennoch. So lassen sich Konfigurationsdateien und Quelltexte mit Atom und Sublime Text sehr schön bearbeiten. Zur Versionskontrolle in einer GIT-Codeverwaltung bietet sich Tower an. Wer noch ein Issue-Tracking dazu benötigt, kann sich Ship ansehen.

Für das Editieren von Hex-Dateien steht der Editor Hex Fiend erfolgreich zur Seite. Mit dem Proxy Charles können Entwickler sich bequem in die Kommunikation zwischen ihrer App und den Backend-Diensten hängen. Sogar das Aufbrechen und "Verändern" von SSL-Verbindungen - zur Laufzeit - ist möglich.

Für die Server Kommunikation gibt es speziell für ein neues iOS- und OSX-Problem ein weiteres Hilfsmittel. So drückt Apple App Transport Security (ATS) zunehmend in den Markt - die Möglichkeit für Entwickler, dieses Sicherheits-Feature auszuschalten, wird immer weiter reglementiert. Aber nicht nur Apps müssen ATS unterstützten. Mit iOS 11 müssen auch MDM- (Mobile Device Management) Systeme mit ATS zurechtkommen. Wer jetzt denkt, dass hier lediglich Entwickler gefragt sind, liegt falsch: Damit ATS funktioniert, müssen die Kommunikationsendpunkte dies ebenfalls unterstützen. Die Entwickler müssen sich also die Netzwerksituation genauer ansehen und bewusst damit umgehen. Hierfür bietet sich die App ATS Diagnostic an.

ATS Diagnostic prüft SSL-Zertifikate, Kommunikationsstrecken, Serverkonfigurationen und vieles mehr.
ATS Diagnostic prüft SSL-Zertifikate, Kommunikationsstrecken, Serverkonfigurationen und vieles mehr.
Foto: Mark Zimmermann

Wer beim Zugriff auf das Terminal etwas Unterstützung haben möchte, kann beispielsweise iTerm 2 nutzen. Eine unterhaltsame Alternative ist das Tool fish mit einem speziellen 90er-Jahre-Flair.

Paw wiederum ist ein voll ausgestatteter Web-API-Client, mit dem Sie die von Ihnen erstellten oder verwendeten APIs testen und beschreiben können. Wer mehr auf der Kommandozeile unterwegs ist, kann einen Blick auf das Web-API Tool Httpie werfen.

Entwickler können auch nicht alles wissen, egal wie gut sie sind. Um die Code-Snippets zu verwalten und API-Dokumentationen empfiehlt sich etwa Dash. (mb)