Maintenant que le G1 équipé du système d'exploitation Android de Google est disponible (bientôt), la plate-forme Android supportera-t-elle un jour .Net ?
Réponses
Trop de publicités?Mise à jour : Depuis que j'ai écrit cette réponse, il y a deux ans, nous avons produit Mono pour qu'il fonctionne sur Android. Le travail comprenait quelques étapes : porter Mono sur Android, l'intégrer à Visual Studio, construire des plugins pour MonoDevelop sur Mac et Windows et exposer les API Java Android aux langages .NET. Cette version est désormais disponible à l'adresse suivante http://monodroid.net
- Pour commencer : http://monodroid.net/Welcome
- Documentation : http://monodroid.net/Documentation
- Tutoriels : http://monodroid.net/Tutorials
Mono sur Android est basé sur le runtime Mono 2.10, et par défaut sur le profil 4.0 avec le compilateur C# 4.0 et utilise le nouveau moteur de collecte de déchets SGen de Mono, ainsi que notre nouveau système de collecte de déchets distribué qui effectue la collecte de déchets à travers Java et Mono.
Les liens ci-dessous reflètent Mono sur Android à partir de janvier 2009, je les ai gardés pour le contexte historique.
Mono fonctionne désormais sur Android grâce au travail de Koushik Dutta et Marc Crichton.
Vous pouvez voir une vidéo de son fonctionnement ici : http://www.koushikdutta.com/2009/01/mono-on-Android-with-gratuitous-shaky.html
Et vous pouvez obtenir les instructions pour construire Mono vous-même ici : http://www.koushikdutta.com/2009/01/building-mono-for-Android.html
Vous pouvez obtenir un benchmark comparant le JIT de Mono à l'interprète de Dalvik ici : http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html
Et bien sûr, vous pouvez obtenir une image préconfigurée avec Mono ici (allez au bas de l'article pour plus de détails sur son utilisation) : http://www.koushikdutta.com/2009/01/building-mono-for-Android.html
Oui, c'est possible et ce n'est pas si difficile. Tout ce qu'il faut pour commencer, c'est une sorte de convertisseur qui transformera MSIL en Bytecode Dalvik . Les deux formats étant libres et bien documentés, il n'y aura pas de problème.
Il sera donc possible d'écrire des applications Android en C# ou VB.NET, la question étant de savoir dans quelle mesure les bibliothèques standard du cadre .NET seront prises en charge. Mais il s'agit là d'une autre question.
Oscar Reyes a écrit :
Je suis presque sûr que si googl de l'intérêt pour .net, ils auraient conçu quelque chose quelque chose alors qu'Android était dans les de l'Android, et non pas maintenant qu'ils sont en de production. Je ne veux pas dire que ce n'est pas possible, ce que je dis c'est que qu'ils ne sont pas intéressés. Peut-être que dans mmm hhhh 10 ans.
En fait, ce qu'ils ont déjà conçu, c'est très compatible avec Java et .NET
Ils ne peuvent pas tout faire en même temps, mais si vous regardez dans le SDK Android, il y a un outil appelé dx . Cet outil convertit le bytecode Java en bytecode Dalvik. En d'autres termes, vous pouvez exécuter des programmes écrits en Java sur Android sans aucun effort aujourd'hui. Le même outil est maintenant nécessaire pour .NET.
Compte tenu des similitudes entre .NET et Java, ce n'est qu'une question de temps.
ddimitrov a écrit :
Le fichier .N être faite dès maintenant ( http://dev.mainsoft.com/ ) pense que vous sous-estimez le manque de bibliothèques .Net. Bien sûr, quelqu'un peut porter Mono, mais c'est certainement un un effort non trivial.
Il n'est pas nécessaire de porter Mono. Android dispose déjà de VM et de quelques API de base. Tout ce qu'il faut, c'est un convertisseur CIL->Dalvik et un petit wrapper .NET pour l'API Android (et peut-être une implémentation basique de certaines classes .NET standard). C'est tout.
Mise à jour : NET fonctionne déjà sur Android - vous aurez besoin d'un produit appelé Monodroid ( http://monodroid.net ) comme indiqué ci-dessus.
Miguel de Icaza annoncé sur son blog le 17 février 2010 qu'ils commencent à travailler sur mono pour Android qui sera appelé MonoDroid.
Il s'agira d'un système similaire à MonoTouch sur l'iPhone, mais pour Android.
Il permettra de lier les applications à l'interface utilisateur d'Android, de sorte qu'elles ressembleront à des applications natives d'Android. Pour cela, vous devrez écrire une interface utilisateur spécifique à Android.
Vous pourrez cependant réutiliser vos bibliothèques de niveau inférieur existantes sans avoir à recompiler.
Comme il s'agit de l'un des premiers liens sur Google lorsque l'on recherche un support Android et .net, il est tout à fait approprié de le poster ici.
Le projet mono travaille sur un SDK permettant de développer des applications Android à l'aide de langages CIL tels que C#. L'inconvénient est qu'il s'agira d'un produit commercial. monodroïde