Question

Maintenant que le G1 avec le système d'exploitation Android de Google est maintenant disponible (bientôt), la plateforme Android prendra-t-elle en charge le format .Net?

Était-ce utile?

La solution

Mise à jour : depuis que j'ai écrit cette réponse il y a deux ans, nous avons conçu Mono pour fonctionner sous Android. Le travail comprenait quelques étapes: porter Mono sur Android, l’intégrer à Visual Studio, créer des plugins pour MonoDevelop sur Mac et Windows et exposer les API Java Android aux langages .NET. C’est maintenant disponible sur http://monodroid.net

Mono sur Android est basé sur le runtime Mono 2.10. Par défaut, il utilise le profil 4.0 avec le compilateur C # 4.0 et utilise le nouveau moteur de collecte des ordures SGen de Mono, ainsi que notre nouveau système de collecte des ordures distribué qui effectue la GC sur Java et Mono.

Les liens ci-dessous reflètent Mono sur Android à partir de janvier 2009, je les ai conservés pour leur contexte historique

Mono fonctionne désormais sur Android grâce au travail de Koushik Dutta et de Marc Crichton.

Vous pouvez voir une vidéo de celle-ci en cours d'exécution ici: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

Et vous pouvez obtenir les instructions pour créer Mono vous-même ici: http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Vous pouvez obtenir un point de repère comparant l'interprète JIT de Mono par rapport à 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 (pour plus de détails, reportez-vous au bas de l'article): http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Autres conseils

Oui, ce sera possible et ce ne sera pas si difficile. Tout ce qui est nécessaire à ce stade pour commencer est une sorte de convertisseur qui transformera MSIL en code bytalkal de Dalvik . . Comme les deux formats sont open-source et bien documentés, cela ne posera aucun problème.

Ainsi, l'écriture d'applications Android en C # ou en VB.NET sera possible, la question est de savoir combien de bibliothèques standard .NET Framework seront supportées. Mais c’est un autre problème.

  

Oscar Reyes a écrit:

     

Je suis à peu près sûr si google main   intérêt pour .net, ils auraient conçu   quelque chose pendant qu'Android était dans le   premières étapes, pas maintenant quand ils sont en   étapes de production. Je ne veux pas dire que c'est   pas possible, ce que je dis, c'est   ils ne sont pas intéressés. Peut-être en mmm   hhhh 10 ans.

En fait, ce qu'ils ont déjà conçu 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 existe 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. Maintenant, le même outil est nécessaire pour .NET.

Compte tenu de la similitude des .NET et Java, c’est vraiment une question de temps.

  

ddimitrov a écrit:

     

La traduction .Net- > Java- > Dalvik peut   être fait même maintenant   ( http://dev.mainsoft.com/ ), mais je   pensez que vous sous-estimez le manque de   Bibliothèques .Net. Bien sûr que quelqu'un peut   port Mono, mais c'est vraiment un   effort non trivial.

Pas besoin de porter Mono. Android a déjà VM et une API de base. Tout ce dont vous avez besoin, c'est d'un convertisseur CIL / Dalvik et d'un minuscule wrapper .NET pour l'API Android (et peut-être une implémentation de base de certaines classes .NET standard). C'est ça.

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 a annoncé sur son blog le 17 février Février 2010, ils commencent à travailler sur mono pour Android qui s'appellera MonoDroid.

Ce sera similaire à MonoTouch sur l'iphone mais pour android à la place.

Il fournira une liaison à l’interface utilisateur Android, de sorte que les applications ressembleront à des applications Android natives en direct. Pour ce faire, vous devrez écrire une interface utilisateur spécifique à Android.

Vous pourrez toutefois réutiliser vos bibliothèques existantes de niveau inférieur sans avoir à recompiler.

Il existe Mono pour Android, le framework .NET porté pour Android. Et il existe MonoDroid, une pile de développement pour l’utilisation de C # et les principales API .NET pour développer des applications basées sur Android. MonoDroid Preview 1 est sorti il ??y a quelques jours.

Comme il s’agit de l’un des premiers liens sur Google lors de la recherche du support Android et .net, il convient de l’afficher ici.

Le projet mono travaille sur un SDK pour développer des applications Android utilisant des langages CIL tels que C #. L'inconvénient est que ce sera un produit commercial. monodroid

MonoDroid est disponible pour la prévisualisation. Je pense que cela va combler le fossé. Cependant, MonoDroid pourrait être une option coûteuse pour le développement. Leurs autres outils de développement coûtent entre 199 et 4000 USD (l’outil de développement pour iPhone de MonoTouch .. est vendu entre 399 et 3999 USD). Si les utilisateurs développent des applications avec ces outils, ils ont besoin d'un modèle d'entreprise très fort pour générer des rendements.

Vérifiez cette xmlvm . Je pense que cela est possible. Vous pouvez également consulter cette vidéo

.

Un port modifié de Mono est également tout à fait possible.

Le cadre compact .NET a été porté sur le système d'exploitation Symbian ( http://www.redfivelabs.com/ ). ). Si .NET en tant que plate-forme 'fermée' peut être porté sur cette plate-forme, je ne vois aucune raison pour laquelle cela ne peut pas être fait pour Android.

.NET et Mono sont d'excellents environnements, avec de nombreux outils et une excellente base de compétences de personnes sachant les utiliser.

Je pense que Mono a la possibilité d'être l'environnement de choix pour le développement mobile multiplate-forme, car il s'agit de la seule alternative à Objective-C sur iPhone et devrait être portable sur Android, et .NET est déjà sous Windows Mobile. .

J'espère vraiment voir une mise en œuvre solide de Mono sur Android, avec des wrappers pour l'API Android comme avec Monotouch, et serais prêt à payer pour cela car je ne suis pas en mesure de le faire moi-même.

Vous êtes plus susceptible de voir une implémentation de Silverlight sur Android. Le représentant de Microsoft a confirmé que c’était possible, par rapport à l’iPhone où le représentant a dit que c’était problématique.

Mais une version du framework .Net est possible. J'ai juste besoin que quelqu'un s'en soucie autant:)

Mais vraiment, passer de C # à Java n’est pas une grosse affaire et, compte tenu des différences radicales entre les deux plates-formes (PC contre G1), il semble peu probable que vous puissiez vous débrouiller avec une seule base de code. toute application que vous vouliez exécuter sur les deux.

À mon avis, il serait techniquement possible de convertir le bytecode de la CLI en Dalvik et d'écrire des classes wrapper pour certaines fonctionnalités essentielles telles que Collections, Accès aux fichiers, etc., même si ce serait un travail difficile.

Mais une application de bureau .NET fonctionnant sous Android aurait l’air étrange, car elle aurait une interface graphique classique semblable à Windows qui n’est pas très utilisable sur un périphérique tactile. Si, en revanche, vous deviez coder une interface graphique de type android dans .NET, vous auriez besoin d'un autre jeu de wrappers (notez que le wrapping est exactement l'inverse des wrappers mentionnés ci-dessus).

Je ne sais pas si une application mobile .NET se sentirait native sur Android, mais je suppose que ce ne serait pas le cas.

Peut-être êtes-vous intéressé par une autre approche: vous pouvez écrire votre application en langage Java. Vous pouvez ensuite le compiler dans .NET via Microsoft J # (je sais que c'est arrêté, mais vous pouvez toujours le télécharger et l'utiliser) et utiliser le même code Java sur Android. Encore une fois, cela concerne les classes principales, c'est-à-dire la logique métier, et encore une fois, vous devez écrire des interfaces graphiques. Vous pouvez également utiliser J2ME, ce que vous ne pourrez pas faire si vous utilisez .NET.

.NET pour Android me semble une possibilité réelle. Selon certaines informations, Microsoft publiera Silverlight pour Android dans des conditions optimales. Ne sous-estimez jamais les avantages pour Microsoft de pouvoir lancer Apple dans Apple. Un smartphone plus rapide, plus riche en fonctionnalités, un cycle de vie de développement plus rapide, un matériel impressionnant, Flash & amp; Silverlight en tant que standard installable.

Microsoft a tout intérêt à améliorer Android et, parallèlement, les applications qui seront développées pour Silverlight sur Android fonctionneront également sur le système d’exploitation Windows Phone 7 avec fonctions tactiles multiples, GPS, etc., etc.

.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top