Sollte ich Java für die Entwicklung mobiler Anwendungen lernen oder wird C # dies nur tun?

9

Ich freue mich darauf, mich mit dem .NET Framework zu befassen, aber die meisten mobilen Anwendungen scheinen in Java entwickelt zu sein. Ich werde höchstwahrscheinlich auf die weniger teuren Handys wie Nokia und Motorolla abzielen, nicht auf Android oder iPhone OS. Kann ich diese Sachen in C # machen?


quelle

Antworten:

9

Nein, C # geht nicht. Sie müssen Java lernen und nicht J2SE, sondern J2ME, da die meisten Low-End-Mobiltelefone nur J2ME unterstützen. Möglicherweise möchten Sie Android jedoch erneut in Betracht ziehen, da es selbst bei Low-End-Telefonen immer beliebter wird. Wie auch immer, die Sprache für J2ME und Android ist Java.

tia
quelle
7

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.

Gulshan
quelle
1
+1 für die Erwähnung der Mono * -Optionen. Wenn die Nachfrage der Entwickler hoch genug ist, werden sie auch auf die anderen Telefonplattformen verzweigen.
Agent_9191
Die Mono-Entwickler waren sich einig, dass sie die WebOS-Unterstützung vor der Novell-Trennung erwähnt haben, sodass Sie es nie erfahren!
Wonea
1

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.

Geek
quelle
1
Ich würde diesen Cross Compiler gerne sehen - wie geht er damit um, dass die Bibliotheken, die zu den Sprachen gehören, so sehr, sehr unterschiedlich sind?
Bevan
1

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?)

Kate Gregory
quelle
Normalerweise würde ich zustimmen, aber das OP sagte, er freue sich darauf, sich mit dem .NET-Framework zu befassen, daher bin ich mir nicht sicher, wie vertraut er bereits mit C # ist. Auch so sehr ich die Sprache mag, scheint der Markt für Windows Phone ein wenig glanzlos zu sein.
Davy8
1

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.

Colin O'Dell
quelle
0

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.

HY
quelle