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.
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.
la source
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?)
la source
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.
la source
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.
la source