Wie am besten Apps programmieren lernen?

...komplette Frage anzeigen

7 Antworten

Ich kann dir nur bei Android weiterhelfen. Dafür empfehle ich folgenden Weg:

Zunächst empfehle ich dir, einfach nur Java zu lernen, ohne Android. Es gibt Bücher, in denen das zusammen getan wird, doch kommt man damit meiner Erfahrung nach nicht wirklich weiter. Man kann nicht erwarten, auf 100 Seiten Java zu lernen. Deswegen rate ich dir zu folgender Literatur:

http://gutefrage.digidip.net/visit?url=https%3A%2F%2Fwww.amazon.de%2FProgrammieren-lernen-mit-Java-WindowBuilder%2Fdp%2F3836241307%2Fref%3Dsr_1_1%3Fie%3DUTF8%26qid%3D1501703662%26sr%3D8-1%26keywords%3Dprogrammieren%2Blernen%2Bmit%2Bjava&ppref=https%3A%2F%2Fwww.gutefrage.net%2Fnutzer%2Ftavkomann%2Fantworten%2Fneue%2F1

Dies ist sehr verständlich, v.a. für Einsteiger super geeignet. Von zahlreichen Online-Tutorials, YouTube etc. rate ich ab, da dies jeder machen kann. Wenn du aber direkt vergleichst, werden dir drei Dinge auffallen:

  1. Die Struktur von Büchern ist unschlagbar. Du lernst alles gut kennen. Wichtige Dinge werden nicht ausgelassen.
  2. Ein richtiger Autor kann dir das Wissen perfekt vermitteln. Glaub mir, es gibt einige gute, bei denen ich es kaum glauben kann, wie verständlich und durchdacht diese das machen. V.a. mit Rheinwerk Computing habe ich sehr gute Erfahrungen gemacht.
  3. Bücher enthalten oft praktische Beispiele, Übungen und eine DVD als Anhang.


Ich kenne einfach zu viele Leute, die nicht mit Büchern gelernt haben und dann pfuschig programmieren oder bestimmte Dinge einfach nicht wissen. Wenn diese dann Fragen in Foren stellen, denke ich manchmal: Wie haben die denn programmieren gelernt, so unsauber ist der Stil.

Zudem kann man, wenn man eine gute Bibliothek vor Ort hat, kostenfrei lernen.


Nachdem du die Theorie gelernt hast, geht es an die Praxis. Sammel mindestens ein Jahr Erfahrung.

Glaub mir, wenn du Java gut beherrscht, wird es dir umso einfacher fallen, dich in Android einzuarbeiten. Denn du wirst kaum etwas dazu lernen müssen, da die gesamte Logik letztendlich mit Java geschrieben wird.

Auch Kenntnisse in HTML wären nicht schlecht, damit du mit dem XML-Teil, den du u.a. für das Layout und Design benötigst, besser klar kommst.

Als Buch für die App-Entwicklung mit Android schlage ich dir dieses vor:
http://gutefrage.digidip.net/visit?url=https%3A%2F%2Fwww.amazon.de%2FAndroid-Praxisbuch-Entwickler-Android-Funktionen-Datenbanken%2Fdp%2F3836242001%2Fref%3Dsr_1_1%3Fs%3Dbooks%26ie%3DUTF8%26qid%3D1501704292%26sr%3D1-1%26keywords%3Dandroid%2Brheinwerk&ppref=https%3A%2F%2Fwww.gutefrage.net%2Fnutzer%2Ftavkomann%2Fantworten%2Fneue%2F1

Sammel auch danach wieder ein bisschen Erfahrung.
Folgende Seiten möchte ich dir noch ans Herz legen (zum Nachschlagen):

Ich würde dir erst mal empfehlen mit Android zu beginnen, Apple ist für Entwickler eine riesen Hürde. Das Entwickler Programm ist teuer (99 USD pro Jahr, bei Google muss man nur einmalig 25 USD zahlen um Apps im Play Store anzubieten, entwickeln und verwenden geht dort auch ohne Lizenz) und man muss ein Apple Gerät zum Programmieren verwenden.
Du solltest Apps auch möglichst für beide Systeme separat entwickeln, die Unterschiede in den Systemen sind einfach zu groß.

Ich erkläre hier einfach mal kurz den Anfang für Android. Zunächst mal solltest du für das Android Framework eine geeignete Sprache lernen. Zu empfehlen sind Java oder Kotlin (auch eine JVM Sprache), C++ wird aber auch offiziell unterstützt. Andere Sprachen funktionieren teilweise auch, sind aber bei weitem nicht so gut geeignet.
Dann findest du auf der Android Developer Seite eigentlich alles was du brauchst, auch ein Tutorial. Als IDE ist Android Studio bzw. IntelliJ am besten geeignet.

Also, du willst für Android UND iOS entwickeln. Da gibt es zwei Möglichkeiten:

Swift lernen für iOS und Java für Android.  Beide haben ein unterschiedliches SDK etc.

Oder du arbeitest mit Xamarin und C#. Dann kannst du deinen Code für beide  Plattformen nehmen.

Wenn du kein iPhone und keinen Apple-Entwickleraccount hast, wird das eh nichts mit dem Entwickeln und Testen für iOS. Da ist Android/Google etwas freundlicher mit seinen Entwicklern.

Programmieren KANN man zwar sich selbst beibringen, allerdings würde ich dir empfehlen, dazu eine Ausbildung zu machen oder zu studieren. Erstens hast du dann viel bessere Berufschancen und zweitens lernst du alle Grundlagen damit dein Code auch wirklich gut ist und nicht nur einfach funktioniert (Stichwort SOLID, Sicherheit, Effizienz...).

Es gibt neben Xamarin auch noch andere Möglichkeiten, Cross-Platform Apps zu programmieren. React, Angular, Vue, um nur einige zu nennen. Es gibt also nicht nur zwei Möglichkeiten.

0

Wenn du für Mobil programmieren willst, gibt es grundsätzlich zwei Wege: entweder Nativen Code programmieren also Objective-C oder Swift für iOS und Java für Android, oder Cross Platform. Erst mal zum nativen Code: ich kenne kaum einen Programmierer der beide Plattformen beherrscht, das geht in der Regel schon alleine zeitlich nicht weil sie ständig weiterentwickelt werde. Du musst dich dann also für eine Platform entscheiden. 

Bei Cross Platform Entwicklung kannst du dich z.B. mit Xamarin (C#) beschäftigen oder eines der Frameworks die auf Javascript basieren (z.B. React, Angular, Vue). Ich kann dir da nicht sagen was richtig oder falsch ist - C# haben wie Javascript noch viele andere Anwendungsbereiche. Vielleicht kann man sagen wenn du dich mehr für die Desktopentwicklung neben der mobilen Entwicklung beschäftigst, wäre C# interessant. Wenn du dich für den Webbereich interessierst stehen die mit modernem Javascript alle Türen offen.

Nebenbei sich das mal so anzueignen dass man damit auch professionell arbeiten kann geht, ist aber eine Herausforderung. Am besten geht das anhand eines konkreten Projektes das du angehst und indem du dich dann anhand weitere Projekte weiterbildest. Es macht aber auch viel Sinn, vielleicht noch ergänzend einen Online Kurs bei einem guten Anbieter zu machen.

Klingt ein wenig komisch.Wenn Du wirklich programmierer bist solltest Du eigentlich wissen wie man das Internet bedient und wie man sich einer Programmiersprache nähert. Bücher gibts wie Sand am Meer.

Wer selbst Programmierer ist, der sollte das auch selbst herausfinden können. Fachliteratur gibt es zu hauf.

Am besten mal in entsprechenden Foren schauen, welche Literatur besonders gut ist. Als Programmierer sollte man die gängigen Programmier-Foren aber alle schon kennen.

Ein Programmierer sollte auch in der Lage sein, andere zu fragen.

0

Was möchtest Du wissen?