Dovrei imparare java per lo sviluppo di applicazioni mobili o C # farà semplicemente?


9

Non vedo l'ora di approfondire il framework .NET ma la maggior parte delle applicazioni mobili sembra essere sviluppata in Java. Molto probabilmente prenderò di mira i telefoni meno costosi come Nokia e Motorolla, non Android o iPhone. Posso fare queste cose in C #?

java  c#  mobile 

Risposte:


9

No, C # non lo farà. Devi imparare Java e non J2SE ma J2ME perché la maggior parte dei telefoni cellulari di fascia bassa supporta solo J2ME. Tuttavia, potresti voler considerare di nuovo Android perché sta davvero diventando popolare anche con il telefono di fascia bassa. Comunque, la lingua per J2ME e Android è sia Java.


7

Dipende dalla piattaforma

Android - JAVA, C # (tramite MonoDroid)
IPhone - Obiettivo C, C # (tramite MonoTouch)
Windows Phone - C # (Silverlight)
Meego - C ++ (QT)
Symbian - C ++, JAVA

Penso che Symbian verrà abbandonato dalla maggior parte delle aziende. Gli smartphone sono il futuro. E per ogni tipo di sistema operativo per smartphone, sarà disponibile C # / mono (devi pagare un extra, ma vale la pena usabilità) insieme al linguaggio della piattaforma nativa. Quindi, puoi scegliere C #.

La vera indipendenza della piattaforma potrebbe non essere raggiunta, ma se usi C # ovunque, sarai in grado di utilizzare le stesse librerie core e modificare l'interfaccia utente per la piattaforma.

Ma per i telefoni a basso costo, C # non lo farà. Devi andare per JAVA.


1
+1 per menzionare le opzioni Mono *. Se la domanda è abbastanza alta da parte degli sviluppatori, si dirameranno anche sulle altre piattaforme telefoniche.
Agent_9191,

Concordato che gli sviluppatori Mono hanno menzionato il supporto WebOS prima della divisione di Novell, quindi non lo saprai mai!
vinto il

1

Non posso parlare specificamente di Motorolla o Nokia, ma è necessario tenere presente qual è la piattaforma di supporto di questi telefoni. Sarebbe meglio sviluppare in Java poiché è una piattaforma più popolare e non deve dipendere solo dai cellulari Windows. Un'altra cosa che C # è così sfacciatamente vicina a Java che un compilatore incrociato fa il trucco per le app desktop potrebbe essere questo vale anche per le app mobili.


1
Mi piacerebbe vedere questo Cross Compiler: come gestisce il fatto che le librerie associate alle lingue siano così molto diverse?
Bevan,

1

Se vuoi sviluppare per Windows Phone 7, C # è perfetto (VB.NET arriverà presto). Puoi anche sfruttare qualsiasi conoscenza Silverlight o XNA che possiedi. Non ho idea se la piattaforma avrà successo, ma perché non perfezionare la tua app usando una lingua che conosci, quindi portarla in altre lingue una volta che sei sicuro della tua esperienza utente, logica, calcoli ecc? L'emulatore è apparentemente molto buono e può essere integrato con accelerometro-emulatore e gps-emulatore per fare tutto tranne che per fare una telefonata. (E davvero, chi usa gli smartphone per effettuare chiamate?)


Normalmente sarei d'accordo, ma l'OP ha detto che non vedeva l'ora di approfondire il framework .NET, quindi non sono sicuro di quanto abbia già familiarità con C #. Anche per quanto mi piaccia la lingua, il mercato di Windows Phone sembra un po 'scarno.
Davy8,

1

Ho iniziato a scrivere app Android in Java con precedenti esperienze in C #. Ho scoperto che molti concetti fondamentali della lingua sono simili, quindi era semplicemente una questione di apprendimento delle poche differenze, specialmente con le biblioteche. Se puoi imparare, scrivere nell'altro sarebbe molto semplice (in base alla mia esperienza).

Consiglierei di iniziare con Java. Android è sulla buona strada per diventare il sistema operativo mobile più popolare, quindi sai che sarà sicuramente in circolazione per un po '. Inoltre, Java è più vecchio, quindi ci sono innumerevoli librerie ed esercitazioni disponibili per l'uso e l'apprendimento. Una volta compresi i concetti chiave di Java, l'apprendimento di C # dovrebbe essere un gioco da ragazzi e apprezzerai davvero alcune delle caratteristiche (come attributi e LINQ) che C # ha da offrire.

Disclaimer: ho iniziato con C # (principalmente per lo sviluppo web ASP.NET MVC) e poi ho imparato Java per la scrittura di app Android. Non ho fatto nessuna programmazione mobile con C #, quindi non posso dirti com'è.


0

Forse archiviarlo sotto il "pensiero laterale", ma se hai discrete competenze nelle tecnologie web "pure" - HTML, JavaScript, CSS - e in base a ciò che stai cercando di ottenere, dai un'occhiata a PhoneGap (http: // www .phonegap.com / su). Oltre al supporto di dispositivi iOS (iPhone, iPad) e Android, hanno anche un supporto per Symbian. Tuttavia, generalmente avrai bisogno degli strumenti "nativi" per creare le tue app binarie native. Ad esempio, se vuoi fare iPhone dev, avrai bisogno dell'iPhone sdk, XCode e far girare OSX.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.