Kommt auf die Plattform an
Android - JAVA, C # (über MonoDroid)
IPhone - Ziel C, C # (über MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA
Ich denke, Symbian wird von den meisten Unternehmen fallen gelassen. Smartphones sind die Zukunft. Und für jede Art von Smartphone-Betriebssystem ist C # / Mono zusammen mit der Muttersprache der Plattform verfügbar (Sie müssen extra bezahlen, aber die Benutzerfreundlichkeit lohnt sich). Sie können sich also für C # entscheiden.
Die echte Plattformunabhängigkeit wird möglicherweise nicht erreicht. Wenn Sie jedoch überall C # verwenden, können Sie dieselben Kernbibliotheken verwenden und die Benutzeroberfläche für die Plattform optimieren.
Bei kostengünstigen Telefonen reicht C # jedoch nicht aus. Sie müssen für JAVA gehen.
Ich kann nicht speziell über Motorolla oder Nokia berichten, aber Sie müssen bedenken, auf welcher Plattform dieses Telefon unterstützt wird. Sie sollten besser in Java entwickeln, da es eine beliebtere Plattform ist und nicht nur von Windows-Handys abhängen muss. Eine weitere Sache, bei der C # Java so schamlos nahe steht, dass ein Cross-Compiler den Trick für Desktop-Apps ausführt, gilt möglicherweise auch für mobile Apps.
quelle
Wenn Sie für Windows Phone 7 entwickeln möchten, ist C # perfekt (VB.NET ist in Kürze verfügbar). Sie können auch alle vorhandenen Silverlight- oder XNA-Kenntnisse nutzen. Ich habe keine Ahnung, ob die Plattform erfolgreich sein wird, aber warum nicht Ihre App mit einer Sprache verfeinern, die Sie kennen, und sie dann in andere Sprachen portieren, sobald Sie sich auf Ihre Benutzererfahrung, Logik, Berechnungen usw. verlassen können? Der Emulator ist anscheinend sehr gut und kann mit Beschleunigungsmesser-Emulator und GPS-Emulator ergänzt werden, um alles zu tun, außer einen Anruf zu tätigen. (Und wer nutzt eigentlich Smartphones zum Telefonieren?)
quelle
Ich habe angefangen, Android-Apps in Java zu schreiben, nachdem ich bereits Erfahrung in C # gesammelt hatte. Ich fand, dass viele grundlegende Konzepte der Sprache ähnlich sind, so dass es einfach darum ging, die wenigen Unterschiede zu lernen, insbesondere bei den Bibliotheken. Wenn Sie lernen können, wäre das Codieren im anderen sehr einfach (basierend auf meiner Erfahrung).
Ich würde empfehlen, mit Java zu beginnen. Android ist auf dem besten Weg, das beliebteste mobile Betriebssystem zu werden. Sie wissen also, dass es definitiv noch eine Weile dauern wird. Außerdem ist Java älter, sodass Sie unzählige Bibliotheken und Tutorials verwenden und daraus lernen können. Sobald Sie die Kernkonzepte von Java verstanden haben, sollte das Erlernen von C # ein Kinderspiel sein - und Sie werden einige der netten Funktionen (wie Attribute und LINQ), die C # zu bieten hat, wirklich zu schätzen wissen.
Haftungsausschluss: Ich habe mit C # begonnen (hauptsächlich für die ASP.NET MVC-Webentwicklung) und dann Java zum Schreiben von Android-Apps gelernt. Ich habe noch keine mobile Programmierung mit C # durchgeführt, daher kann ich Ihnen nicht sagen, wie es ist.
quelle
Vielleicht legen Sie dies unter "Querdenken" ab, aber wenn Sie über gute Kenntnisse in "reinen" Webtechnologien - HTML, JavaScript, CSS - verfügen und je nachdem, was Sie erreichen möchten, etwas wie PhoneGap (http: // www .phonegap.com / about). Neben der Unterstützung von iOS-Geräten (iPhone, iPad) und Android wird auch Symbian unterstützt. Im Allgemeinen benötigen Sie jedoch die "nativen" Tools, um Ihre nativen binären Apps zu erstellen. Wenn Sie beispielsweise iPhone Dev ausführen möchten, benötigen Sie das iPhone SDK, XCode und OSX.
quelle