# Ultimative Handyprogrammier sprache



## SamUng (13. Nov 2009)

Hallo zusammen,

habe eine kleine Frage. 


Ich hab etwas von W3C Widgets gehört usw. Wenn ich anfange mich in Handyprogrammierung mit Java ist das den für die Zukunft auch der neuste Stand?

In welcher Sprache wird sonst noch programmiert, also für handys?

Grüße SamUNG!


----------



## HoaX (13. Nov 2009)

Na in C/C++, aber das dürfte halt dann so gut wie garnicht portabel sein im Vergleich zu Java.


----------



## objcler (13. Nov 2009)

Es wird momentan wohl am meisten mit der Programmiersprache Objective-C für Handies programmiert. (iPhone)


----------



## Geeeee (13. Nov 2009)

Android + Blackberry haste wieder Java. Kenn mich da nicht 100%ig aus, aber der Blackberry byteCode ist glaube ich etwas "speziell" also nicht übertragbar in andere VMs.


----------



## ice-breaker (13. Nov 2009)

objcler hat gesagt.:


> Es wird momentan wohl am meisten mit der Programmiersprache Objective-C für Handies programmiert. (iPhone)



der Marktanteil des iPhones ist aber immernoch deutlich geringer als der von J2ME-Handys, er wird nur viel viel stärker wahrgenommen (Fernsehwerbung)


----------



## objcler (13. Nov 2009)

ice-breaker hat gesagt.:


> der Marktanteil des iPhones ist aber immernoch deutlich geringer als der von J2ME-Handys, er wird nur viel viel stärker wahrgenommen (Fernsehwerbung)



Es geht doch nicht um den Marktanteil. Die Frage war in welcher Sprache sonst noch programmiert wird. Außerdem war meine Aussage ja, dass in Objective-C wohl mehr für Handies programmiert wird als in Java. Schau dir nur mal die Anzahl der iPhone-Apps an. Mag sein, dass andere Hersteller einen höheren Marktanteil haben - aber für deren Handies entwickelt ja niemand.


----------



## Gast2 (13. Nov 2009)

objcler hat gesagt.:


> Es geht doch nicht um den Marktanteil


doch ... weil



> Außerdem war meine Aussage ja, dass in Objective-C wohl mehr für Handies programmiert wird als in Java.


diese Aussage ist definitiv falsch ... Objective-C funktioniert nur bei Apple (abgesehen von GNUstep) ... und die haben nur das iPhone



> Schau dir nur mal die Anzahl der iPhone-Apps an.


und? ... wie schön ein Hype immer alles Aufblasen kann ... wieviel von diesen Apps kann man sinnvoll einsetzen und sind nicht nur ein Gimick? ... nur noch ein Bruchteil



> Mag sein, dass andere Hersteller einen höheren Marktanteil haben - aber für deren Handies entwickelt ja niemand.


komisch ... auf MTV, Viva und $WHATEVER schmeisen die ein Haufen Programme hinterher

Apple-Evangelist?



SamUng hat gesagt.:


> Wenn ich anfange mich in Handyprogrammierung mit Java ist das den für die Zukunft auch der neuste Stand?



was ist in Zukunft Stand ?? ... wenn Du Android nimmst, bleibt Dir (offiziell) nur Java ... mein WindowsMobil kann auch JavaME - neben CompactFramework von MS ... SymbianOS hat wohl wieder was eigenes - wie es mit Java an der Stelle aussieht weis ich nicht ... am besten Du sammelst mal alle gängigen Handys und suchst Dir die meisten 3 Sprachen raus ... damit dürftest Du eine Menge Handys erwischen

auf kurz oder lang bleibt Android, WindowsMobile und Apple ... SymbianOS soll wohl zu Gunsten von was Neuem ausgewechselt werden

hand, mogel


----------



## objcler (13. Nov 2009)

> komisch ... auf MTV, Viva und $WHATEVER schmeisen die ein Haufen Programme hinterher



Im App-Store sind 100.000+ Apps. Du willst mir doch nicht sagen, dass MTV und Co die Resourcen haben um 100.000+ Apps zu entwickeln. Das sind vielleicht 100+ oder wenn es hoch kommt 1000+. Rein quantitativ dürfte es mehr Objective-C lines of code geben, die auf mobilen Endgeräten laufen als Java lines of code. Das kann man einfach nicht wegdiskutieren. 



> und? ... wie schön ein Hype immer alles Aufblasen kann ... wieviel von diesen Apps kann man sinnvoll einsetzen und sind nicht nur ein Gimick? ... nur noch ein Bruchteil



Ahha. Und die von dir angesprochenen Apps von "MTV, Viva und $WHATEVER" sind besser? Ui. 

Java-Frickler?


----------



## ModellbahnerTT (14. Nov 2009)

@mogel: Das ist lächerlich. Niemand bestreitet, dass noch immer viel mehr alte Symbian Handys mit J2ME Unterstützung im Umlauf sind und benutzt werden, das ändert nichts daran, dass J2ME schon immer eine Totgeburt war. J2ME will sich halt niemand freiwillig antun :autsch: 
J2ME kannst du doch heutzutage vergessen. J2ME wird sogut wie nie mehr unterstützt und bietet 0 Features von aktuellen Telefonen. Wenn du anfangen willst für Handys zu programmieren bleiben dir nur: Android, iPhone, Maemo, webOS oder WiMo

Deine Argumentation ist übrigens auch sehr seltsam:
1. Satz: es geht nur um Marktanteil
3. Satz: Marktanteil (über 100.000 Apps) ist egal, die Apps sind eh zu 95% Müll (geb ich dir recht, ist aber wohl irrelevant wenn es hier doch um Marktanteil geht?)
4. Satz: J2ME is groß im Geschäft, weil auf MTV an 14 Jährige tolle J2ME Programme wie Nacktscanner verkauft werden, 

Sogar für PalmOS gibt es übrigens über 50.000 Apps und die sind auch noch in C oder C++ geschrieben...


----------



## Gast2 (14. Nov 2009)

> Java-Frickler?



C, C++, Assembler, .... Java kommt bei mir eher am Ende

Deiner Reaktion entnehme ich das Du Evangelist bist ... was ich an Apple schätze ist der Schritt nach vorne den - leider nur Steve Jobs - immer macht ... vor der Marketingabteilung ziehe ich meinen Hut ... die schaffen immer einen riesen Hype um Technik die es seit Jahren gibt ... ansonsten - Willkommen im Filter

habe, mogel


----------



## Gast2 (14. Nov 2009)

ModellbahnerTT hat gesagt.:


> das ändert nichts daran, dass J2ME schon immer eine Totgeburt war.


ich habe nie behauptet das J2ME gut ist - habe es nie programmiert ... das 3D Demo läuft auf meinem HTC Touch aber recht gut



> Wenn du anfangen willst für Handys zu programmieren bleiben dir nur: Android, ...


das kann Java oder? ... objcler behaupt die einzig sinnvolle Entwicklung ist in Objective-C von Apple und die ist vollkommen falsch



> 4. Satz: J2ME is groß im Geschäft, weil auf MTV an 14 Jährige tolle J2ME Programme wie Nacktscanner verkauft werden,


da bezog ich mich nicht auf J2ME sondern auf Programme allgemein die geschrieben wurden und nicht nur für das iPhone


----------



## ModellbahnerTT (14. Nov 2009)

Ich glaub hier brauchen wir nicht mehr weiterreden. Objcler hat festgestellt, dass Objective-C für Handyprogrammierung am meisten benutzt wird und keine Bewertung abgegeben, aber hauptsache gleich persönlich werden.


----------



## byte (14. Nov 2009)

Android hat ne eigene Java VM namens Dalvik. Dafür gibts noch ne passende Java API. Hat aber mit JME imo nix zu tun.

Was die Frage angeht: Es ist imo sehr unwahrscheinlich, dass sich in den nächsten Jahren genau eine SmartPhone Plattform durchsetzen wird. Ich denke, es wird weiterhin die großen Vertreter geben. Man muss sich also für eine Plattform entscheiden. Ich denke, wenn man sich für ObjectiveC (IPhone) oder für Java (Android, Blackberry, JME) entscheidet, ist man aber auf der sicheren Seite.


----------



## The_S (16. Nov 2009)

Puh ... also da kann ich mich nicht zurückhalten ...



objcler hat gesagt.:


> Es wird momentan wohl am meisten mit der Programmiersprache Objective-C für Handies programmiert. (iPhone)



Aber nur für iPhones. Wer kein iPhone hat (was wohl die deutliche Mehrheit ist und immer sein wird) benötigt eher plattformspezifische Entwicklungen in einer nativen Sprache wie C/C++ oder etwas portables wie Java ME (das nach wie vor fast überall läuft) oder Webanwendungen für modernere Browser in Smartphones. Wenn man sich nicht auf eine einzige Plattform beschränken will, würde ich also von Objective-C abraten bzw. empfehlen es sich als zweite Sprache für Mobile Endgeräte (wobei das "e" am Ende von "Endgeräte" hier wohl eher falsch ist  ) anzusehen.

Letztendlich wirst du aber auch nicht mit einem einzigen Java ME Programm (es sei denn es ist recht einfach gehalten und/oder beschränkt sich nur auf die High-Level API) nicht alle marktrelevanten Geräte abdecken. Evtl. bringt da die nächste Version von Java ME ( MIDP3) Verbesserung.



objcler hat gesagt.:


> Es geht doch nicht um den Marktanteil. Die Frage war in welcher Sprache sonst noch programmiert wird. Außerdem war meine Aussage ja, dass in Objective-C wohl mehr für Handies programmiert wird als in Java. Schau dir nur mal die Anzahl der iPhone-Apps an. Mag sein, dass andere Hersteller einen höheren Marktanteil haben - aber für deren Handies entwickelt ja niemand.



Es entwickelt niemand für andere Geräte als iPhones? lol!? Du kennst Jamba (Fox Mobile), Bobmobile, Zed, und wie sie alle heißen? Klar, das sind zu einem Großteil irgendwelche Spiele und Fun-Applikationen ... aber beherrschen diese nicht auch den Appstore? Außerdem gibt es noch diverse Portale mit kostenlosen Java ME Anwendungen UND natürlich nicht zu vergessen die professionellen und wirklich nützlichen Programme in Java ME, die es nicht als Massenabfertigung auf MTV und VIVA oder im AppStore gibt, wie bspw. den MobileSitter (Passwort Manager) oder Cherry-SMS (Günstig SMS via GPRS/UMTS schicken). Bei solchen Applikationen fällt übrigens auf, dass es diese meistens sowohl fürs iPhone, als auch für Java ME gibt.



objcler hat gesagt.:


> Im App-Store sind 100.000+ Apps. Du willst mir doch nicht sagen, dass MTV und Co die Resourcen haben um 100.000+ Apps zu entwickeln. Das sind vielleicht 100+ oder wenn es hoch kommt 1000+. Rein quantitativ dürfte es mehr Objective-C lines of code geben, die auf mobilen Endgeräten laufen als Java lines of code. Das kann man einfach nicht wegdiskutieren.



Was du siehst ist nicht etwa "Ich bin MTV/VIVA/... und programmiere selbst Handyspiele, die ich dann in meiner Werbung unter den Namen anderer großer Hersteller wie Jamba, Mobileking, ... anpreise, weil ich so selbstlos bin und diese ach so armen Unternehmen unterstützen möchte." (was auch vollkommen unlogisch wäre), sondern vielmehr "Ich mach Werbung auf MTV/VIVA/... weil diese Sender von meinen Zielgruppen angesehen werden und das nur ein weiterer Vertriebsweg für mich ist", denn "Ich bin ein international agierendes Unternehmen mit einem Milliardenumsatz und Spezialisierung auf mobile Content wie bspw. Java Spiele und Klingeltöne" (am Beispiel von Jamba/Fox Mobile).



ModellbahnerTT hat gesagt.:


> @mogel: Das ist lächerlich. Niemand bestreitet, dass noch immer viel mehr alte Symbian Handys mit J2ME Unterstützung im Umlauf sind und benutzt werden



Java ME läuft auch auf anderen Plattformen und eigenentwickelten Betriebssystemen von Handyherstellern. Und natürlich auch auf den aktuellen Symbian Handys. Mit alt hat das gar nichts zu tun.



ModellbahnerTT hat gesagt.:


> das ändert nichts daran, dass J2ME schon immer eine Totgeburt war.



Klar, Java ME hat einige Schwächen. Dafür läuft es auf fast allen neuen und alten Handys. Man muss sich halt die Frage stellen, ob man mit den Schwächen leben kann und dafür einen möglichst hohen Marktanteil abdeckt, oder ob man lieber für jedes Endgerät/Plattform eine eigene Anwendung in unterschiedlichen Programmiersprachen und mit unterschiedlichen Tools entwickeln will, um auch nur annähernd an die Abdeckung von Java ME zu kommen, dafür aber vermutlich besser auf native Funktionen des Telefons zugreifen kann (was Erfahrungsgemäß jedoch eher selten notwendig ist).



ModellbahnerTT hat gesagt.:


> J2ME will sich halt niemand freiwillig antun :autsch:



Also ich tus mir freiwillig an. So schlecht verdient man damit auch wieder nicht  .



ModellbahnerTT hat gesagt.:


> J2ME kannst du doch heutzutage vergessen. J2ME wird sogut wie nie mehr unterstützt und bietet 0 Features von aktuellen Telefonen.



Wie oben bereits erwähnt. Java ME wird von sehr vielen aktuellen Handys (auch Smartphones, siehe bspw. das Nokia N97) unterstützt. Woher du deine Informationen hast, ist mir ein bisschen schleierhaft.



ModellbahnerTT hat gesagt.:


> Wenn du anfangen willst für Handys zu programmieren bleiben dir nur: Android, iPhone, Maemo, webOS oder WiMo



Diese Plattformen werden fast nur in teuren Smartphones eingesetzt, die wohl nur für ein paar vereinzelte Tech-Fans (bzw. beim iPhone auch Fashion/Apfel/Lifestyle-Fans) und anspruchsvolle Business-Kunden interessant sind. Kommt halt auf deine Zielgruppe an. Heutzutage ist meistens eine Programmierung der Anwendung in Java ME und Objective-C für iPhones sinnvoll.

--------------------------------------------------------

So, genug ausgekotzt, btt  : Java ME wird auch die nächsten 2, 3 Jahre nicht an Bedeutung verlieren. Was danach kommt ist schwer zu sagen. Android und das iPhone werden sich vielversprechende Plattformen sein, zusätzlich sollte man Webtechnologien nicht aus dem Auge verlieren - denn diese sind wohl die portabelsten von allen. Und auch Java würde ich auf mobilen Endgeräten nicht für tot erklären. Siehe hierzu das oben verlinkte MIDP 3.0. Außerdem spricht bald auch nichts mehr dagegen eine richtige JRE auf zumindest Smartphones zu installieren. 

Für den Einstieg in die Entwicklung von mobilen Anwendungen würde ich dir zu Java ME, Android oder dem iPhone raten, abhängig davon, welches Gerät du selbst zu Hause liegen hast. Sollte sich dann irgendwann mal ein Trend abzeichnen, kann man noch immer wechseln. Das Web als mobile Plattform sehe ich eher in der Zukunft angesiedelt an, damit würde ich jetzt *noch *nicht einsteigen.

Das sind natürlich alles nur subjektive Einschätzungen.


----------



## SamUng (16. Nov 2009)

Objektive C wo kann ich mich drüber informieren, gibt es vllt genau son tolles forum  nur für objetive c?


----------



## float (19. Nov 2009)

Wollte jetzt für mein Sony Ericsson C510 eine kleine Anwendung schreiben und dachte da zuerst an die Java ME. Eure Aussagen bezüglich JavaME hätte ich so nicht erwartet und bin doch wieder etwas abgeschreckt davon. Was für eine Sprache kann ich denn noch für das C510  benutzen, geht da überhaupt etwas anderes als JavaME?


----------



## Ein Keks (19. Nov 2009)

brauchst nicht abgeschreckt zu sein. die aussagen sind hauptsächlich auf smartphones bezogen. und die tatsache das die meisten handys (außer smartphones) auf j2me gesetzt haben zeigt ja wohl das es gar nicht so schlimm sein kann (und es auch nicht ist). wie die zukunft von j2me aussieht ist eine sache aber zur zeit ist es immer noch ein standart für handy programmierung und für kleine apps ohne probleme zu benutzen.

btw. soll nicht angeblich javafx auch für handy-programmierung ausgelegt sein?


----------



## The_S (20. Nov 2009)

float hat gesagt.:


> Wollte jetzt für mein Sony Ericsson C510 eine kleine Anwendung schreiben und dachte da zuerst an die Java ME. Eure Aussagen bezüglich JavaME hätte ich so nicht erwartet und bin doch wieder etwas abgeschreckt davon. Was für eine Sprache kann ich denn noch für das C510  benutzen, geht da überhaupt etwas anderes als JavaME?



Um mich dem Keks anzuschließen: Wenn du ein Programm für ein Handy programmieren möchtest, und dieses Handy Java ME unterstützt ... warum dann nicht in Java ME programmieren? Wenn ich ne Software für meinen MAC entwickeln möchte, frage ich mich auch nicht vorher, ob mein MAC evtl. in 2 Jahren normale .exe-Dateien ausführen kann  .

Und ich weiß auch nicht, welche Aussagen du in diesem Thread bzgl. Java ME abschreckend findest ... sind halt unterschiedliche Meinungen/Auffassungen, die deinem konkreten Vorhaben aber in keinster Weise im Weg stehen.


----------



## float (20. Nov 2009)

Naja, so wie es aussieht gibt es für Win7 x64 nichtmal das 3.0 SDK, oder sehe ich das falsch?


----------



## MiDniGG (21. Nov 2009)

float hat gesagt.:


> Naja, so wie es aussieht gibt es für Win7 x64 nichtmal das 3.0 SDK, oder sehe ich das falsch?



Bei mir läufts ohne Probleme... Is denke ich keine spezielle x64-Version oder so. Aber das braucht man ja bei nem Handyemulator auch nicht :-D


----------



## The_S (23. Nov 2009)

float hat gesagt.:


> Naja, so wie es aussieht gibt es für Win7 x64 nichtmal das 3.0 SDK, oder sehe ich das falsch?



Das 3.0er SDK ist sowieso für die Tonne. Eclipse + ME-Plugin + WTK 2.5.2


----------

