App-Programmierung wie und womit anfangen?

  • Antworten:7
Sergiu L.
  • Forum-Beiträge: 3

14.01.2012, 01:40:10 via Website

Hallo,

ich habe vor mich in nächster Zeit mit Android-App-Programmierung zu befassen und würde gerne wissen, wie man damit am besten anfängt.

Ich selbst, kann PHP, Javascript, MySQL und fürs Web CSS, HTML.
Wenn ich Websites baue, dann mache ich das mit einer lokalen Server-Anwendung (Apache) und einem Texteditor. Das reicht.

Für Android-Apps, sah ich, dass man bevorzugt Java einsetzt und sich eine SDK installiert und eine Plattforum und dann beginnen kann.
Was bedeutet das alles? SDK ist sowas, wie meine lokale "Umgebung", damit Java-Code abgespielt werden kann und die Plattform von Android wäre mein Emulator?

Komme ich bei der Entwicklung von Apps an Java vorbei,(so dass ich mit PHP entwickeln könnte, oder Javascript?) Bzw. was erwartet mich bei Java im Vergleich zu PHP oder Javascript?

Wie funktioniert das, dass die Apps auf die Funktionen des Phones zugreifen (z.B. Webcam, Sensoren, GPS, etc.)?
Wie kommuniziert eine App, von einem Handy mit einem Webserver, wenn ich z.B. Daten hin und her schicken möchte? PHP ist ja serverseitig, bei Javascript kann man mittels Ajax, mit dem Server interagieren,... wie machen das die Apps?

Ich weiß, viele Fragen, aber es würde mich freuen, wenn jemand Antworten hätte. Da ich erst schauen möchte, was alles nötig wäre, für mein "Vorhaben" :D und dann schauen, ob ich mir die Arbeit antue, das alles zu lernen.

Vielen Dank schon mal!

Antworten
Carsten M.
  • Forum-Beiträge: 33.204

14.01.2012, 07:40:11 via App

Java ist eine Hochsprache und mit Scriptsprachen in keiner Weise zu vergleichen. Javascript heißt zwar ähnlich, hat mit Java aber nichts zu tun.

Mit Javascript und PHP3 kommst Du bei Android nicht weit.

Gruß
Carsten

Ich komm' mir langsam vor wie jemand, der ich bin // #cäthe

Antworten
Felix
  • Forum-Beiträge: 259

14.01.2012, 11:00:31 via Website

Tach!

Sergiu L.
ich habe vor mich in nächster Zeit mit Android-App-Programmierung zu befassen und würde gerne wissen, wie man damit am besten anfängt.

Nun, am besten am Anfang. Man suche die für Entwickler vorgesehenen Webseiten des jeweiligen Systems auf und beginne mit dem Anfängertutorial. Die Entwicklerseiten findest du unter developer.android.com. Schau dich am besten um, was es dort alles zu finden gibt, du wirst damit arbeiten müssen. Die Tutorials finden sich im Bereich Resources. Dann geht es weiter mit den Framework Topic aus dem Bereich Dev Guide, davon sollte man zumindest die obere Hälfte angeschaut haben, damit man weiß, wie so ein Android-System grundlegend tickt, damit man für und nicht entgegen der Systemphilosophie entwickelt. Der Abschnitt Best Practices kann auch nicht schaden. Über die verschiedenen Versionen von Android und deren grundsätzlichen Möglichkeiten oder Richtungsänderungen sollte man sich auch informieren. Und nicht zuletzt, kann man auch noch Richtlinen zum Android Design beachten. Die Dokumentation dazu kam grad erst raus und orientiert sich leider gar nicht am Design und der Struktur der restlichen Dokumentation.

Ich selbst, kann PHP, Javascript, MySQL und fürs Web CSS, HTML.
Wenn ich Websites baue, dann mache ich das mit einer lokalen Server-Anwendung (Apache) und einem Texteditor. Das reicht.

Das reicht prinzipiell auch für Android, wenn du Browseranwendungen schreibst. Für Web Applications gibt es Dokumentation unter Dev Guide.

Wenn du nur die aufgezählten Sprachen kannst, und mehr als Webanwendungen machen willst, solltest du auch noch einen Grundkurs Java durcharbeiten, da gibt's genügend freies Material, unter anderem ein Openbook beim Galileo-Verlag (Java ist auch eine Insel).

Für Android-Apps, sah ich, dass man bevorzugt Java einsetzt und sich eine SDK installiert und eine Plattforum und dann beginnen kann.
Was bedeutet das alles? SDK ist sowas, wie meine lokale "Umgebung", damit Java-Code abgespielt werden kann und die Plattform von Android wäre mein Emulator?

Das bedeutet, dass sich diese Fragen klären, wenn du erstmal mit der erwähnten Dokumentation eingestiegen bist. SDK steht für Software Development Kit, eine Sammlung aller möglichen Dinge, die man für die Programmierung des Systems benötigt. Unter einer Oberfläche bringt man die Tools eines SDK üblicherweise mit einer IDE (Integrierte Entwicklungsumgebung) und das ist zum Beispiel Eclipse. Installationsanleitungen sind auf den Developer-Seiten zu finden.

Komme ich bei der Entwicklung von Apps an Java vorbei,(so dass ich mit PHP entwickeln könnte, oder Javascript?) Bzw. was erwartet mich bei Java im Vergleich zu PHP oder Javascript?

Ja, nein, OOP – wenn du Apps schreiben willst und keine Webanwendungen.

Um Java kann man sich drücken, aber dann braucht man was anderes, wie Mono for Android oder Basic4Android. Aber abgesehen von Basic sind die wesentlichen Sprachbestandteile von PHP, JavaScript, Java und C# ähnlich, weil von C inspiriert. Die Konzepte und wie man Dinge umsetzt bis hin zu den Funktionsbibliotheken sind jedoch teilweise gravierend anders.

Wie funktioniert das, dass die Apps auf die Funktionen des Phones zugreifen (z.B. Webcam, Sensoren, GPS, etc.)?
Wie kommuniziert eine App, von einem Handy mit einem Webserver, wenn ich z.B. Daten hin und her schicken möchte? PHP ist ja serverseitig, bei Javascript kann man mittels Ajax, mit dem Server interagieren,... wie machen das die Apps?

So grundlegend gefragt, beantwortet das alles die Doku. (Und Suchmaschinen gibt's ja auch noch.)


Felix.

Philip M.

Antworten
Sergiu L.
  • Forum-Beiträge: 3

14.01.2012, 12:48:36 via Website

ok. Ich nehme an, ich habe es verstanden :D Also muss ich mich mal über die "Hochsprache hermachen". :)

Noch Mal, was Grundsätzliches zu Java. Wenn man Java kann, kann man Anwendungen für so ziemlich jede Plattform entwickeln? Sehe ich das richtig?
Das einzige, was sich das unterscheidet sind gerätespezifische Unterschiede, d.h. wie das Betriebssystem und dessen Hardware angesprochen wird? (z.B. zwischen Android und iOS, oder Windows Phone, oder gar PC und Mac?)

— geändert am 14.01.2012, 12:50:12

Antworten
Felix
  • Forum-Beiträge: 259

14.01.2012, 13:12:12 via Website

Tach!
Sergiu L.
Noch Mal, was Grundsätzliches zu Java. Wenn man Java kann, kann man Anwendungen für so ziemlich jede Plattform entwickeln? Sehe ich das richtig?

Wenn du Sprache X kannst, kannst du für jede Plattform programmieren, die X unterstützt. Java ist da keine Ausnahme. Die Chance, dass es für eine bestimmte Plattform ein Java-Ökosystem gibt, ist allerdings nicht gerade gering. iOS wäre allerdings ein Beispiel einer bedeutenden Plattform, auf der es kein offizielles Java gibt.

Das einzige, was sich das unterscheidet sind gerätespezifische Unterschiede, d.h. wie das Betriebssystem und dessen Hardware angesprochen wird? (z.B. zwischen Android und iOS, oder Windows Phone, oder gar PC und Mac?)

Mit Java sollte es eigentlich keine Notwendigkeit geben, Systemeigenheiten zu berücksichtigen. Es ist dafür ausgelegt, dass es auf einer virtuellen Maschine läuft, die die konkreten Systemeigenschaften unsichtbar macht. Soweit zur Theorie. Wenn du dir allerdings mit einem allgemeinen Java-Buch die Grundlagen der Sprache aneignest und dann siehst, wie systemspezifisch Android-Apps aussehen, dann spätestens siehst du, dass der eierlegende Wollmilchsau-Ansatz nicht das halten kann, was er auf den ersten Blick verspricht. Die Anforderungen an ein kleines mobiles Gerät mit wenig Ressourcen sind doch ganz andere als an einen Desktop-Rechner oder einen Server. Gleich bleiben lediglich die Grundelemente der Sprache und einige Bibliotheken.


Felix.

Philip M.

Antworten
kruemelnerd
  • Forum-Beiträge: 52

16.01.2012, 20:50:36 via Website

Ich würde dir raten zu überlegen, welche Anwendung du schreiben willst und mich mit HTML5-Frameworks auseinander setzen. Dann brauchst du keine komplett neue Sprache lernen, sondern kannst auf vertrautes zurückgreifen. Für die meisten Sachen langt solch ein Framework meines erachtens. Natürlich geht nicht alles, hier musst du dich in die Sachen einarbeiten, aber zb sachen wie Wischgesten oder so sind auch mit drin. Und als Bonus hast du eine Anwendung welche auch direkt auf dem iPhone läuft.
http://www.web-delicious.com/7-best-mobile-web-html5-framework-for-mobile-app-development/

Leider habe ich keinerlei Erfahrung damit.

Antworten
kruemelnerd
  • Forum-Beiträge: 52

16.01.2012, 21:59:51 via Website

kirmac09
Hi,

Habe erst kürzlich einen Thread gelesen über ein kostenloses deutsches Android Einsteigerbuch:

https://www.nextpit.de/de/android/forum/thread/393673/Android-Grundlagen-und-Programmierung-UMSONST

Ist zwar schon ein bisschen älter, aber für den Einstieg sollte es reichen, habe es mir selbst aber nicht angeschaut.

kirmac09

Ich finde den zweiten Teil Android 2.0 persönlich besser. Der ist allerdings nicht kostenlos.

Antworten