Zurück

Tipps, um mit der Android-Entwicklung zu beginnen

on 

Statistiken zufolge habe die Verkäufe von Android Geräten allein im ersten Quartal von 2013 die 146 Millionen Marke erreicht, und es sind mittlerweile mehr als 1,3 Millionen Apps auf dem Google Play Store erhältlich (Quelle: Statista ). 

Durch das Web haben wir immer einfacheren Zugang zu Informationen, und das Internet ist voller Tutorials in denen Menschen ihr Wissen über unterschiedliche Themen teilen. Da wir natürlich ein Team von Entwicklern haben, die täglich programmieren, wollten wir gerne zwei unserer Android-Experten ein Paar Fragen zur Android-Entwicklung stellen. iOS war schon an der Reihe, damit ist jetzt auch die Konkurrenz dran. Ein herzliches Willkommen an Sérgio  und Guido !

1. Wie und warum habt ihr angefangen, Apps für Android zu entwickeln?

Guido: Mein Freund hat mir ein Tutorial zur Android Entwicklung vorgeschlagen, und das Programmieren hat mir immer schon gefallen, also begann ich meine erste, einfache App zu entwerfen. Am Anfang war es noch aus Neugier, aber ich lernte immer dazu und es gefiel mir! Ich habe mir in einer Nacht bestimmt 50 Videos zum Thema angeschaut, und so wurde ich ohne es wirklich zu wollen zum Entwickler.

Sérgio: Bei mir war es etwas anders, da ich mich zunächst für iOS Entwicklung interessierte. Später, an der Uni, interessierte ich mich für Bordsysteme. Man erzählte uns, dass Android eben für Bordsysteme ein vielsprechendes Betriebssystem war, ich begann also damit zu arbeiten, und bekam dann die Möglichkeit, hier zu arbeiten. So fing es also für mich an.

2. Was braucht man eurer Meinung nach, um Android-Entwickler zu werden?

Zunächst einmal braucht man eine Leidenschaft fürs Programmieren, und Grundkenntnisse sollte man natürlich auch mitbringen. Wenn man schon etwas Java beherrscht, die wichtigste Sprache, ist es nicht sehr kompliziert anzufangen. 
Ein Paar weitere Dinge braucht man natürlich schon, etwa einen Rechner mit Eclipse oder Android Studio Inside. Ein gutes Buch ist ebenfalls sehr hilfreich, und ich kann auch gleich eines empfehlen: Android 4 Application Development, von Reto Meier. Es ist wirklich ein sehr gutes Nachschlagewerk, sowohl für Anfänger, also auch um sein Wissen zu vertiefen.

3. Es kommen ja unterschiedliche Sprachen zum Einsatz, hat jede ihren eigenen Zweck? Gibt es Unterschiede zwischen dem "klassischen" Java, und dem Java für Android?

Ja, es gibt unterschiedliche Sprachen. Java ist am wichtigsten, aber das Layout wird mit XML entwickelt, und bei GoodBarber nutzen wir gelegentlich auch etwas Javascript und HTML. 
Es stimmt zwar dass Android, das Android auf Java aufbaut, aber viele Java-Bibliotheken werden entweder gar nicht unterstützt, haben leistungsfähigere Alternativen (andere, ähnliche Bibliotheken) oder sind schlicht überflüssig. Um etwa Daten für die Fehlerbeseitigung (Debugging) auszudrucken, nutzen Java-Entwickler das System.out. Für Android empfiehlt es sich allerdings, hierzu eine Protokollklasse zu verwenden.
Die sogennante "Virtual Machine" (die den Java-Code in maschinenlesbare Befehle "übersetzt") ist ebenfalls anders. Java wird als Java bytecode kompiliert, währenddessen Android-Code in Davlik (bzw. ART seit Android KitKat) opcode kompiliert wird.

4. Was sind die wichtigsten Unterschiede zwischen dem Programmieren klassischer Software, und dem Programmieren mobiler Apps?

Der wichtigste Unterschied ist, dass man einfach weniger Ressourcen zur Verfügung hat. Der Bildschirm ist kleiner, der Prozessor schwächer, es ist weniger Speicher da... alle diese Einschränkungen müssen beachtet werden. Der Code muss für maximale Leistung optimiert sein (eine flüssige Navigation und ein gutes Nutzererlebnis), und man muss vorsichtig mit dem Speicher umgehen, um Abstürze zu vermeiden. Auch wenn es heute sehr Leistungsfähige Geräte gibt, die fast die gleichen Eigenschaften habe wie ein klassischer Rechner, darf man nicht vergessen dass noch viele ältere Android Versionen im Umlauf sind. Unser Job ist es, das bestmögliche Nutzererlebnis auf jedem Gerät zu garantieren.

5. Habt ihr ein paar Tipps für Leute, die mit der Android-Entwicklung beginnen wollen?

As I said before I think you have to have a passion for programming, some basic notions of Java, a little "geekiness" is also important. For someone who is starting to learn programming, you can be tempted to use the schematic option, where you can define the layout of the app with code generated automatically. But believe me, the best way is to start out writing in XML, because afterwards you’ll be able to easily create more complex interfaces.

Also, as said in the beginning, there are millions of apps available on Google Play, so there’s a big probability that there’s already an app with the same subject as yours. Take note that what will make the difference at that point is the design! So my advice is to always be design oriented while programming, because it will be crucial for you to create a great app. You can access the Google Developer page to find information about design of Android apps.

Wie gesagt, das Wichtigste ist wirklich eine Leidenschaft fürs Programmieren, Grundkenntnisse in Java, und es hilft schon auch, wenn man ein klein bisschen ein Nerd ist. Jemand der mit dem Programmieren beginnt, kann vielleicht verführt sein, eine schematische Option zu wählen, wo das Layout mit automatisch generiertem Code definiert wird. Ich kann allerdings nur empfehlen, schon von Anfang an XML zu nutzen, da man so später auch kompliziertere Layouts entwerfen kann. 

Da bereits weit über eine Million Apps auf Google Play erhältlich sind, ist es sehr wahrscheinlich, dass es schon eine App zum gleichen Thema gibt. An dem Punkt ist es wirklich das Design, das den Unterschied macht. Mein Tipp wäre also, beim Programmieren von Anfang an das Design zu denken, da es wirklich entscheidend für den Erfolg einer App ist. Ihr könnt auf der Seite eures Google Developer-Accounts mehr Infos zum Thema App Design finden.