# Android Programmieren



## moessi91 (25. Nov 2012)

Hallo, ich habe vor eine app für Android zu programmieren und möchte diese aber auch auf iphones und windows phones zum laufen bringen. 
Muss ich die App dann 3 mal entwickeln also für I-Phone WindowsPhone und Android oder gibt es eine Programmiersprache welche es ermöglicht die App auf alle 3 Systeme zu kompilieren. 
Ich hoffe ich habe das Thema in den richtigen Thread gestellt. 

Mfg
Vincenz


----------



## Marcinek (25. Nov 2012)

nein gibt es nicht


----------



## trääät (25. Nov 2012)

ich weis ja nicht ob es möglich ist ... aber man könnte auf "windows" ja versuchen ne java-vm zu installieren ... würde aber nicht viel bringen weil man ja dann für normale API entwickeln müsste .. und nicht speziell für android ...

lange rede aber irgendwie gar kein sinn : nein , gibt es nicht ... du müsstest für jede ziel-platform die "app" komplett neu entwickeln ...


----------



## Gast2 (25. Nov 2012)

Naja, das geht schon, nur nicht mit purem Java.
Du kannst dir beispielsweise mal PhoneGap anschauen. Da entwickelst du deine App in HTML/CSS/Javascript und kannst die dann später für 7 oder 8 Plattformen kompilieren. PhoneGap bietet dir durch APIs zumindest auf Android, iOS und Windows Phone Zugriff auf Kamera, Sensoren, etc. Du kannst also eine vollwertige App damit entwickeln.

(Um die App für iOS zu kompilieren brauchst du meine Wissens nach aber xcode und nen Mac).


----------



## Trolllllll (26. Nov 2012)

HTML+JavaScript (also Web-App) läuft auf allen Systemen, kannst du natürlich auch mit Java und JSF programieren, dann einfach dir URL deines Servers in dein Smartphone (egal ob iOS oder Win oder Android)  der Browser öffnet dann die Seite, welche deine Applikation ist ;-) also nur einmal programmieren für Alle Systeme, das Schöne, soger auch für Computer ;-)


----------



## Gast2 (26. Nov 2012)

Ich vermute aber, dass der TO eher was in Richtung nativer App sucht.
Ansonsten tuts natürlich auch ne Web-App, wenn man mit den daraus resultierenden Nachteilen leben kann.


----------



## darekkay (26. Nov 2012)

Google hat da was in die Richtung gebastelt. Allerdings klappt das nur für Nicht-UI-Code. Die UI ist so systemspezifisch, dass du um das getrennte Schreiben für jede Plattform nicht drumherum kommen wirst.


----------



## moessi91 (26. Nov 2012)

Also die Programmiersprache muss hier nicht Java sein, ich dachte mir nur das es eventuell mit java gehen würde. Aber gibt es dabei Grundsätzlich keine Lösung oder wie? Oder eben dass man eine Webseite macht mit beispielsweise Primefaces oder sonstigem und diese dann in einer App anzeigen lässt? Also nicht im Browser öffnet sondern direkt im in einer?


----------



## Gast2 (26. Nov 2012)

PhoneGap hatte ich ja schon erwähnt. wenn das nicht zu deinem Problem passt, dann musst du die App wohl für jede Zielplattform schreiben.


----------



## MarderFahrer (27. Nov 2012)

darekkay hat gesagt.:


> Google hat da was in die Richtung gebastelt. Allerdings klappt das nur für Nicht-UI-Code. Die UI ist so systemspezifisch, dass du um das getrennte Schreiben für jede Plattform nicht drumherum kommen wirst.



Und wie kommt es dann, dass Platformen wie Titanium das hinkriegen? Auch inklusive der UI=?


----------



## darekkay (27. Nov 2012)

MarderFahrer hat gesagt.:


> Und wie kommt es dann, dass Platformen wie Titanium das hinkriegen? Auch inklusive der UI=?



Interessant, kannte ich noch nicht. Kannst du etwas zu dem Ergebnis auf der jeweiligen Platform sagen? Ich kann mir vorstellen, dass es stark eingeschränkt sein muss. Ansonsten wär das ja wohl das, was der TO sucht.


----------



## MarderFahrer (27. Nov 2012)

Ein bisschen gespielt habe ich schon damit. Es kommt am ende halt wirklich nativer code heraus, da Titanium quasi in einem JavaScript Dialekt programmiert wird. Und Hinter den Kulissen mappt es dann Ihre JavaScript Funktionen mit den nativen Methoden. Sei es Obj-C oder Java etc. Man kann also wirklich einmal schreiben und dann zweimal auf "Deploy" klicken. Einmal für iPhone, einmal für Android. Setzt allerdings xCode auf Mac Hardware vorraus, bzw. ein installiertes Android SDK damit Titanium damit compilieren kann.

Einschränkungen habe ich so nicht wirklich gesehen. Da ich wie gesagt nur relativ kurz reingeschaut habe. Also die gängisten Sachen sind wohl alle da. Und entwickelt wird da ja auch immer noch.

Einziges Problem ist eben, dass man alles in Javascript machen muss. Und dann noch nicht mal reines JavaScript, sonder eben deren spezielle Implementation. Sollten die dann irgendwann doch ihre Bude dicht machen, stände man da mit einer Menge Code, die nirgendwo mehr lauffähig wäre.

Bei PhoneGap hätte man dann ja immer noch eine Theoretisch Lauffähige Webapp. Nur den Titanium Code kann man so nirgens sonst benutzen.

Wenn man es ganz auf die Spitze treiben wollte, könnte man bestimmt die Business Logik in Java schreiben, das ganze dann mit GWT auf JavaScript umsetzen und das dann in Titanium einbinden. Dann braucht man wirklich nur die UI mit deren JavaScript Dialekt aufbauen und die Funktionen dann an die Businesslogik anflanschen.  Dann könnte man also quasi in Java/JavaScript iPhone apps programmieren die am Ende sogar in Nativem Code geschrieben sind.


----------

