Dois-je apprendre java pour le développement d'applications mobiles ou est-ce que C # fera juste?

9

J'ai hâte de me plonger dans le framework .NET mais la plupart des applications mobiles semblent être développées en Java. Je vais probablement cibler les téléphones moins chers comme Nokia et motorolla, pas Android ou iPhone OS. Puis-je faire ces trucs en C #?


la source

Réponses:

9

Non, C # ne fera pas l'affaire. Vous devez apprendre Java et non pas J2SE mais J2ME car la plupart des téléphones mobiles bas de gamme ne prennent en charge que J2ME. Cependant, vous voudrez peut-être envisager à nouveau Android, car il devient vraiment populaire, même avec un téléphone bas de gamme. Quoi qu'il en soit, le langage pour J2ME et Android est à la fois Java.

tia
la source
7

Dépend de la plateforme-

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

Je pense que Symbian va être abandonné par la plupart des entreprises. Les téléphones intelligents sont l'avenir. Et pour chaque type de système d'exploitation de téléphone intelligent, C # / mono sera disponible (vous devez payer un supplément, mais la convivialité en vaut la peine) avec le langage de la plate-forme native. Donc, vous pouvez opter pour C #.

La véritable indépendance de la plate-forme peut ne pas être atteinte, mais si vous utilisez C # partout, vous pourrez utiliser les mêmes bibliothèques de base et modifier l'interface utilisateur de la plate-forme.

Mais pour les téléphones à bas prix, C # ne fera pas l'affaire. Vous devez aller pour JAVA.

Gulshan
la source
1
+1 pour avoir mentionné les options Mono *. Si la demande est suffisamment élevée de la part des développeurs, ils se connecteront également aux autres plates-formes téléphoniques.
Agent_9191
D'accord, les développeurs Mono ont mentionné le support WebOS avant la scission de Novell, donc vous ne savez jamais!
wonea
1

Je ne peux pas parler spécifiquement de Motorolla ou de Nokia, mais vous devez garder à l'esprit quelle est la plate-forme prise en charge par ce téléphone. Vous feriez mieux de développer en Java car c'est une plate-forme plus populaire et ne devez pas dépendre uniquement des mobiles Windows. Une dernière chose que C # est si éhonté si proche de Java qu'un compilateur croisé fait l'affaire pour les applications de bureau.

Geek
la source
1
J'aimerais voir ce compilateur croisé - comment gère-t-il le fait que les bibliothèques qui vont avec les langues sont si très différentes?
Bevan
1

Si vous souhaitez développer pour Windows Phone 7, C # est parfait (VB.NET arrive bientôt.) Vous pouvez également tirer parti de toutes les connaissances Silverlight ou XNA que vous possédez. Je ne sais pas si la plate-forme réussira, mais pourquoi ne pas affiner votre application en utilisant une langue que vous connaissez, puis la porter dans d'autres langues une fois que vous avez confiance en votre expérience utilisateur, en logique, en calculs, etc.? L'émulateur est apparemment très bon, et peut être complété par un accéléromètre-émulateur et un émulateur gps pour tout faire sauf passer un appel téléphonique. (Et vraiment, qui utilise les smartphones pour passer des appels?)

Kate Gregory
la source
Je serais normalement d'accord, mais le PO a dit qu'il "avait hâte de se plonger dans le framework .NET", donc je ne sais pas à quel point il est déjà familier avec C #. Aussi bien que j'aime la langue, le marché de Windows Phone semble un peu terne.
Davy8
1

J'ai commencé à écrire des applications Android en Java ayant une expérience préalable en C #. J'ai trouvé que de nombreux concepts fondamentaux de la langue sont similaires, il s'agissait donc simplement d'apprendre les quelques différences, en particulier avec les bibliothèques. Si vous pouvez apprendre, coder dans l'autre serait très simple (basé sur mon expérience).

Je recommanderais de commencer par Java. Android est en passe de devenir le système d'exploitation mobile le plus populaire, vous savez donc qu'il existera certainement pendant un certain temps. De plus, Java est plus ancien, il existe donc d'innombrables bibliothèques et tutoriels disponibles pour que vous puissiez les utiliser et en tirer des enseignements. Une fois que vous comprenez les concepts de base de Java, l'apprentissage de C # devrait être un jeu d'enfant - et vous apprécierez vraiment certaines des fonctionnalités intéressantes (comme les attributs et LINQ) que C # a à offrir.

Avertissement: j'ai commencé avec C # (principalement pour le développement Web ASP.NET MVC), puis j'ai appris Java pour écrire des applications Android. Je n'ai fait aucune programmation mobile avec C #, donc je ne peux pas vous dire à quoi ça ressemble.

Colin O'Dell
la source
0

Peut-être classer cela sous "pensée latérale", mais si vous avez des compétences décentes dans les technologies Web "pures" - HTML, JavaScript, CSS - et selon ce que vous essayez de réaliser, consultez quelque chose comme PhoneGap (http: // www .phonegap.com / à propos). En plus de la prise en charge des appareils iOS (iPhone, iPad) et Android, ils prennent également en charge Symbian. Cependant, vous aurez généralement besoin des outils "natifs" pour créer vos applications binaires natives. Par exemple, si vous voulez faire du développement iPhone, vous aurez besoin du sdk iPhone, XCode et exécutez OSX.

HY
la source