Fünf Fähigkeiten, die jeder Superheld der mobilen Entwicklung haben sollte

Superheld
Ein Programmierer zu sein, wurde viel komplizierter, seit der Zeit als es die ersten PCs gab. Davor brauchte man nur einen Compiler und einen Editor, um zu entwickeln und Computerprogramme zu schreiben. Dann kam Windows und alles hat sich verändert: Sie mussten viele weitere Tools kennen, einschließlich Build-Systeme, Datenbank-Clients und -Server, Versionskontrollsysteme, Grafikeditoren und andere. Und Sie mussten die ereignisgesteuerte Programmierung beherrschen.
Um aber ein Superheld der mobilen Entwicklung zu sein, brauchen Sie noch mehr. In diesem Artikel gehe ich auf fünf spezifische Fähigkeiten ein, die Sie benötigen.

1. Programmieren

Programmierung für Mobilgeräte ist anders als für den Desktop-PC. Die Eingabe erfolgt über Tippen, Wischen und Gesten und es gibt keine Maus mit genauen Klicks. Stifte sind für Wimps. Apps müssen gut konzipiert sein und wir werden dies im Abschnitt über UX-Design genauer anschauen.
Die Art und Weise, wie die iOS- und Android-Benutzeroberflächen arbeiten, unterscheidet sich grundlegend, auch wenn die gleiche Sprache für beide verwendet wird, wie C# mit Xamarin, JavaScript für verschiedene Frameworks oder Dart für Googles Flutter. Es ist auch möglich, Swift zu verwenden, was inzwischen die Hauptsprache unter iOS ist und Java auf Android ersetzt oder zumindest ergänzt, da Apple Swift nun als Open-Source zur Verfügung stellt.
Android und iOS sind die beiden wichtigsten Plattformen und eine plattformübergreifende Programmiersprache spart eine Menge Entwicklungskosten. Wenn 90% des Codes gemeinsam genutzt werden und 10% für die Benutzeroberflächen der einzelnen Plattformen spezifisch sind, dann betragen die Entwicklungskosten in der Theorie 110% (90% + 2 x 10%). Die Programmierung einer App für jede Plattform in ihrer eigenen Sprache würde 200 % kosten. Selbst mit einer Aufteilung von 80 %/20 %, sind das ist immer noch 120 % vs. 200 %.

2. Bearbeiten von Bildern

Sowohl iOS als auch Android benötigen Bilder im PNG-Format. Es ist kein Problem, JPGs und GIFs mit Photoshop oder einer anderen Bildbearbeitungssoftware in PNGs zu konvertieren. Sie müssen sie aber in verschiedenen Größen erstellen. Für iOS bedeutet dies, doppelte und dreifache Größe der Bilder. Die Originalgröße für iPhones wird nicht mehr benötigt, es reicht also für iPhone 6 und 7 die doppelte Bildgröße zu verwenden, z. B. iPhone 6, 6S und 6SE usw. und die dreifache Größe für die Plus-Größen (iPhone 6 Plus und iPhone 6S Plus und 7 Plus).
Die Originalgröße für iPhone beträgt 60 x 60 Pixel. Für iPhone 6 usw. ergibt dies daher 120 x 120 (d. h. 2x) und 180 x 180 (3x) für Plus-Geräte. Weitere Details zu iOS-Bildern finden Sie in den „iOS Human Interface Guidelines“.
Für Android ist es ein wenig komplizierter, da die Palette an abgedeckten Geräten vielfältig ist. Die Idee ist, dass Sie Ihre App mit Bildern entwerfen, die in virtuellen Pixeln namens dp (Density Independent Pixels) gemessen werden. Es gibt sechs verallgemeinerte Dichten im Bereich von ldpi (niedrig) 120 Punkte pro Zoll (dpi) bis zzzhdpi (extra = extra-extra-hoch) bei 640 dpi. Die sechs Bereiche sind lpdi (120 dpi), mdpi (160 dpi), hdpi (240 dpi), xhdpi (320 dpi), xxhdpi (480 dpi) und xxxhdpi (640 dpi).
Sie liefern Bilder für jede der Dichten, mit denen Ihre Anwendung verwendet werden soll. Diese nützliche Website listet Telefone und ihre Bildschirmauflösungen oder Displaygrößen für Android und Apple-Handys.

3. UX-Design

Dies unterscheidet sich für jede Plattform. Bei iOS können Sie mit Storyboards die Bewegung eines Benutzers durch die App entwerfen. Oder Sie können ein Bildschirm-Layout mit einer xib-Datei (nib gesprochen) entwerfen. Für ganz Unverbesserliche gibt es die Möglichkeit, stattdessen alles zu programmieren.
In allen drei Fällen verwalten ein oder mehrere View-Controller den Platz auf dem Bildschirm. Sie fügen dann Views (Steuerelemente) zu einem View-Controller hinzu. Das ist dann die Benutzerschnittstelle. Es gibt auch View-Controller, die den Übergang zwischen den Bildschirmen verwalten, wie beispielsweise zwischen einem Tabbed-View-Controller oder einem Bar-View-Controller. Hier finden sie Apples offizielle Dokumentation der View-Controller.
Android hat sein eigenes Design, Material Design genannt, das auf einer Metapher von Tinte und Papier basiert. Dies ist ein Designansatz mit grundlegenden Elementen des druckbasierten Designs, wie Typografie, Raster, Raum, Skalierung, Farbe und die Verwendung von Bildern. Objekte haben drei Dimensionen und eine einzige z-Achsen-Position für die Schichtung. Das wird verwendet, um Schatten aus verschiedenen Richtungen zu erzeugen und weiche Schatten durch das Umgebungslicht.
Wie bei iOS wird eine große Anzahl von Steuerelementen zur Verfügung gestellt. Am bemerkenswertesten und auf jeden Fall wissenswert ist die allgemein verwendbare Karte.

4. Threading

Moderne Mobilgeräte haben zwei, vier oder mehr Prozessorkerne und sind so leistungsfähig wie aktuelle Desktop-Computer vor zehn Jahren. Um das Beste aus ihnen herauszuholen, sollten Sie Threads oder Prozesse nutzen. Dies sorgt für besseres Reaktionsverhalten. Eine Hintergrundaufgabe, wie die Datenübertragung über 3G sollte die Interaktion des Benutzers mit dem Display nicht blockieren oder durch sie blockiert werden.
Viele moderne Sprachen, vor allem C#, lassen dieser Art von Programmierung ziemlich schmerzlos werden. Alle Betriebssysteme lassen den Code der Benutzeroberfläche auf dem Haupt-Thread laufen, sodass die Hintergrundverarbeitung einen anderenThread erfordert.

5. Das Schreiben von Code für die Kommunikation mit einem Server

Es ist zwar nicht das, was man als die große Funktionalität eines Mobilgeräts bezeichnen würde, aber viele Apps kommunizieren mit einem entfernten Server und müssen in der Lage sein, Daten zu lesen oder zu empfangen. Nicht nur, dass Sie, wie besprochen, Threads programmieren müssen, Sie müssen auch Daten senden und empfangen.
Für Datensammlungen, insbesondere mit verschiedenen Arten von Daten, werden Sie mit der Nutzung des altmodischen XML- oder des modernere JSON-Formats, das wesentlich schlanker als XML ist, konfrontiert. Das Speichern von Daten im XML-Format kann die Datenmenge auf das 6- bis 8-fache der ursprünglichen Datengröße erhöhen. Bei JSON ist es wahrscheinlich weniger als die Hälfte.
Für zusätzliche Bonuspunkte bei Bewerbungsgesprächen sollten Sie etwas über Protocol Buffers wissen. Dies ist ein sprachneutraler, plattformneutraler, erweiterbarer Mechanismus für die Serialisierung strukturierte Daten auf Basis einer Idee von Google – wie XML, aber kleiner, schneller und einfacher. Protocol Buffer unterstützen derzeit Code in Java, Python und C++. Mit der neuen proto3-Sprachversion können Sie auch mit Go, JavaNano, Ruby und C# arbeiten.

Fazit

Es braucht schon einiges, um ein Superheld der mobilen Entwicklung zu sein, aber es ist wahrscheinlich einer der besten Karrieresprünge, den Sie machen können.

Weitere Artikel von David Bolton

Was ist Elliptische Kurven-Kryptographie?

Braucht man einen Abschluss für eine Arbeit als Entwickler?

Einen schnelleren Pokerblatt-Auswerter schreiben

Erste Schritte mit „Metal“

Wie steht es um Go im Jahr 2016?

Einführung in die SciPy Library

Der aktuelle Stand in Sachen Künstliche Intelligenz

About David Bolton

David Bolton begann schon mit dem Programmieren, als er noch zur Schule ging und bevor es überhaupt PCs gab. Es gefiel ihm so sehr, dass er seinen Abschluss in Informatik machte. Er beschäftigt sich seit fast 35 Jahren mit dem Thema Programmieren – sowohl arbeitsbedingt als auch in seiner Freizeit. In dieser Zeit arbeitete er für Price Waterhouse, British Aerospace, MicroProse (wo Sid Maier Civilization kreiert hat), in einer gescheiterten Dotcom (HomeDirectory.com) und bei Morgan Stanley. Mehr als acht Jahre lange programmierte er Spiele, mehr als 12 Jahre Finanz-Software in London. Sein Leben beschreibt er als eine permanente Lernkurve. Er verfügt über umfangreiche Programmiererfahrung in 6502,Z80 und 68000 Assembler, Basic, Pascal, C, C++, C#, Java, PHP, SQL, Fortran, JavaScript und lernt zurzeit R. Außerdem entwickelt er heute mobile Apps in Xamarin (C#) und schreibt für Dice. Er lebt in New York (in Lincolnshire, England, nicht in den USA).
No comments yet.

Leave a Reply

WP-SpamFree by Pole Position Marketing