Développer une application Android en utilisant C #

104

Est-il possible d'écrire une application Android en utilisant C #? Y a-t-il une API ou quelque chose? Est-ce gratuit pour le développement personnel et commercial?

Que dois-je installer pour avoir un modèle de projet Android dans mon Visual Studio?

CoolArchTek
la source
Je ne sais pas comment utiliser C # mais vous pouvez essayer HTML5 ..... (mais avoir des limitations)
Dheeresh Singh
C # est plus similaire à l'objectif C que java. iPhone utilise le premier, Android utilise le second, et il serait donc plus logique d'essayer le développement iPhone que le développement Android si vous connaissez déjà C #.
Todd Davies
82
@ToddDavies Je ne suis pas du tout d'accord et je dirais que Java et C # sont les langages les plus similaires. En fait, je dirais que Objective C ne reflète pas du tout C #.
Darren
Eh bien, chacun à son avis, mais je suis sûr que Java est à l'Objectif C comme je le suis à mon cinquième cousin le plus détesté: P
Todd Davies
1
+1 @DarrenDavies Les liaisons Mono pour iOS ont du mal à représenter leurs équivalents Objective-C à certains endroits (par exemple les protocoles) mais elles sont carrément 1-1 contre Android.
Danyal Aytekin

Réponses:

63

Vous pouvez utiliser Mono for Android:

http://xamarin.com/monoforandroid

Une alternative est dot42:

http://www.dot42.com/

dot42 fournit une licence communautaire gratuite ainsi qu'une licence professionnelle pour 399 $.

Darren
la source
Veuillez jeter un œil au commentaire que j'ai ajouté à la réponse de Seva Alekseyev.
CoolArchTek
@CoolArchTek - vous pouvez télécharger l'évaluation gratuitement, mais Mono pour Android Professional coûte 399 $ et Enterprise est 999 $. store.xamarin.com
Darren
13
Écrire quelques applications pour vous et vos amis, 399 $ est extrêmement prohibitif. J'aurais aimé qu'il y ait quelque chose «entre les deux». Étant donné qu'Android + Eclipse est GRATUIT et Visual Studio Express est GRATUIT, xamarin manque beaucoup, simplement à cause de ses prix
cmroanirgo
1
@cmroanirgo Xamarin prend désormais en charge un modèle basé sur un abonnement avec une option gratuite - vous n'avez plus besoin d'acheter Mono pour Android.
James
4
http://www.dot42.com/ l' a sur son site en dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.date du 29/05/2015. Ils avaient un téléchargement source et un GitHub .
JabberwockyDecompiler
78

Ayant utilisé Mono, je ne le recommanderais PAS. Le runtime Mono est fourni avec votre application, de sorte que votre apk finit par être gonflé à plus de 6 Mo. Une meilleure solution de programmation pour C # serait dot42 . Mono et dot42 sont des produits sous licence.

Personnellement, je recommanderais d'utiliser Java avec l' environnement de développement IntelliJ IDEA . Je dis cela pour 3 raisons:

  1. Il existe déjà tellement de code Java pour Android; faites-vous plaisir et ne réinventez pas la roue.
  2. IDEA est assez similaire à Visual Studio pour être un jeu d'enfant; il est fabriqué par JetBrains et l'intelli-sense est meilleur que VS.
  3. IDEA est gratuit.

Je suis programmeur C # depuis 12 ans et j'ai commencé à développer pour Android avec C # mais j'ai fini par sauter le navire et emprunter la voie Java. Les langues sont si similaires que vous ne remarquerez pas vraiment de courbe d'apprentissage.

PS Si vous souhaitez utiliser LINQ, la sérialisation et d'autres fonctionnalités pratiques natives de C #, il vous suffit de rechercher la bibliothèque java équivalente.

darksider474
la source
4
Merci, votre expérience semble utile
nightcoder
belle réponse mais que faire si l'application Android a C # comme backend?
Krupal Shah
Que faire si je souhaite créer une application pour une application Web créée avec l'API Web?
renakre
Merci, vos moyens, si nous travaillons avec Android en utilisant java, j'obtiendrai plus de blogs et de documents de Google. Seul le démarrage sera entendu plus tard, tout va bien. Merci, je suis développeur C # mais je vais démarrer mon application en utilisant java.
mohd mazhar khan
21

En voici un nouveau (Remarque: en phase de prévisualisation technique): http://www.dot42.com

Il s'agit essentiellement d'un complément Visual Studio qui vous permet de compiler votre code C # directement en code DEX. Cela signifie qu'il n'y a aucune exigence d'exécution telle que Mono.

Divulgation: je travaille pour cette entreprise


MISE À JOUR: toutes les sources sont maintenant sur https://github.com/dot42

Frank Rem
la source
6
Je ne pense pas que ce soit le bon endroit pour discuter des prix, mais assurez-vous de comparer les bonnes licences. Je tiens à noter que dot42 est livré avec une licence communautaire gratuite pour un usage non commercial.
Frank Rem
4
Frank, vous avez tout à fait raison et je dois admettre que je n'ai pas remarqué la licence communautaire.
Dave81
1
agréable. des commentaires si vous envisagez de créer du code C pour iOS?
citykid
2
C'est génial! Y a-t-il des plans pour mettre dans un concepteur d'interface utilisateur? Ou puis-je utiliser un autre outil pour ce faire? Excellent travail !
Piotr Kula
2
En fait, il n'y a pas de tels plans pour le moment. Vous pouvez utiliser Android Studio pour concevoir l'interface utilisateur. Vous pouvez ensuite importer ces ressources dans Visual Studio.
Frank Rem
8

Mono Touch est la réponse.

http://xamarin.com/monotouch

Seva Alekseyev
la source
Est-ce gratuit pour le développement commercial? Je souhaite développer une application destinée à une entreprise (ses utilisateurs).
CoolArchTek
Ils l'ont pour que vous puissiez en utiliser beaucoup gratuitement. Mais il y a des frais de licence d'une sorte iirc
FoamyGuy
Mono est-il le seul moyen? Y a-t-il des options open source disponibles?
CoolArchTek
5
Mono est un IIRC open source. En outre, réalisez-vous l'effort de porter l'intégralité du runtime C # (CLR) sur une plate-forme différente, avec peu de support de Microsoft? C'est un miracle même Mono existe. Google et MSFT sont des concurrents directs dans l'espace mobile, C # est une technologie soutenue par MSFT. Allez comprendre.
Seva Alekseyev du
6

J'ai utilisé le moteur de jeu Unity 3D pour développer des jeux pour PC et téléphone mobile. Nous utilisons C # dans ce développement.

Sonu
la source
1
Un lien vers la version du moteur de jeu Unity 3D que vous utilisez serait bien.
Jesse Chisholm
3

Il existe en effet des compilateurs C # pour Android disponibles. Même si je préfère développer des applications Android en Java, je peux recommander MonoForAndroid. Vous trouverez plus d'informations sur http://xamarin.com/monoforandroid

libjup
la source