Pregunta

Ahora que el G1 con el sistema operativo Android de Google ya está disponible (pronto), ¿la plataforma Android será compatible con .Net?

¿Fue útil?

Solución

Actualización : desde que escribí esta respuesta hace dos años, producimos Mono para que se ejecute en Android. El trabajo incluyó algunos pasos: portar Mono a Android, integrarlo con Visual Studio, crear complementos para MonoDevelop en Mac y Windows y exponer las API de Android de Java a lenguajes .NET. Ahora está disponible en http://monodroid.net

Mono en Android se basa en el tiempo de ejecución de Mono 2.10, y el perfil predeterminado es 4.0 con el compilador C # 4.0 y utiliza el nuevo motor de recolección de basura SGen de Mono, así como nuestro nuevo sistema de recolección de basura distribuida que realiza GC en Java y Mono.


Los enlaces a continuación reflejan Mono en Android a partir de enero de 2009, los he guardado para el contexto histórico

Mono ahora funciona en Android gracias al trabajo de Koushik Dutta y Marc Crichton.

Puedes ver un video de este video aquí: http://www.koushikdutta.com/2009/01/mono-on-android-with-gratuitous-shaky.html

Y puede obtener las instrucciones para compilar Mono usted mismo aquí: http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Puede obtener una referencia comparando el JIT de Mono con el intérprete de Dalvik aquí: http://www.koushikdutta.com/2009/01/dalvik-vs-mono.html

Y, por supuesto, puede obtener una imagen preconfigurada con Mono aquí (vaya a la parte inferior de la publicación para obtener detalles sobre cómo usarla): http://www.koushikdutta.com/2009/01/building-mono-for-android.html

Otros consejos

Sí, será posible y no será tan difícil. Todo lo que se necesita en este punto para empezar es algún tipo de convertidor que convertirá MSIL en Dalvik bytecode . Dado que ambos formatos son de código abierto y están bien documentados, no habrá ningún problema con ellos.

Por lo tanto, escribir aplicaciones de Android en C # o VB.NET será posible, la pregunta es cuánto de las bibliotecas estándar de .NET framework serán compatibles. Pero ese es otro problema.

  

Oscar Reyes escribió:

     

Estoy bastante seguro de si google mano CUALQUIER   interés en .net, habrían diseñado   algo mientras Android estaba en el   Primeras etapas, no ahora cuando están en   Etapas de producción. No quiero decir que sea   no es posible, lo que estoy diciendo es   no estan interesados Tal vez en mmm   hhhh 10 años.

En realidad, lo que ya han diseñado es muy compatible con Java y .NET

No pueden hacer todo a la vez, pero si miras el SDK de Android, hay una herramienta llamada dx . Esta herramienta convierte el bytecode de Java en el bytecode de Dalvik, por lo que en otras palabras, puede ejecutar programas escritos en Java en Android sin ningún esfuerzo hoy. Ahora se necesita la misma herramienta para .NET.

Teniendo en cuenta lo similares que son .NET y Java, es realmente cuestión de tiempo.

  

ddimitrov escribió:

     

La traducción de .Net- > Java- > Dalvik puede   ser hecho incluso ahora   ( http://dev.mainsoft.com/ ), pero   Crees que subestimas la falta de   Bibliotecas .Net. Por supuesto que alguien puede   port mono, pero definitivamente es un   esfuerzo no trivial.

No hay necesidad de portar Mono. Android ya tiene VM y alguna API básica. Todo lo que se necesita es un convertidor CIL- > Dalvik y un pequeño envoltorio .NET para la API de Android (y tal vez alguna implementación básica de algunas clases estándar de .NET). Eso es todo.

Actualización: .NET ya funciona en Android: necesitará un producto llamado Monodroid ( http: // monodroid .net ) como se indicó anteriormente.

Miguel de Icaza's anunció en su blog el 17 de Febrero de 2010 que están empezando a trabajar en mono para Android, que se llamará MonoDroid.

Esto será similar a MonoTouch en el iPhone pero para Android en su lugar.

Brindará enlace con la interfaz de usuario de Android, por lo que las aplicaciones se verán y se sentirán en vivo. Esto requerirá que escribas una IU específica para Android.

Sin embargo, podrás reutilizar tus bibliotecas de nivel inferior existentes sin la necesidad de volver a compilar.

Hay Mono para Android, el framework .NET portado para Android. Y está MonoDroid, una pila de desarrollo para usar C # y las API .NET principales para desarrollar aplicaciones basadas en Android. MonoDroid Preview 1 ha sido lanzado hace un par de días.

Dado que este es uno de los primeros enlaces en Google cuando busca soporte para Android y .net, solo es apropiado publicar esto aquí.

El proyecto mono está trabajando en un SDK para desarrollar aplicaciones de Android utilizando lenguajes CIL como C #. Lo malo es que será un producto comercial. monodroid

MonoDroid está a la espera de una vista previa. Creo que eso va a cerrar la brecha. Sin embargo, MonoDroid podría ser una opción costosa para el desarrollo. Sus otras herramientas de desarrollo cuestan entre $ 199 y $ 4000 (la herramienta MonoTouch .. iPhone dev ... tiene un precio entre $ 399 y $ 3999). Si las personas desarrollan aplicaciones con estas herramientas, necesitan un modelo de negocio muy sólido para ver algunas devoluciones.

Vea esto xmlvm Creo que esto es posible. También se puede consultar este video

También es completamente posible un puerto modificado de Mono .

.NET Framework Framework se ha portado a Symbian OS ( http://www.redfivelabs.com/ ). Si .NET como una plataforma 'cerrada' se puede portar a esta plataforma, no puedo ver ninguna razón por la que no se puede hacer para Android.

.NET y Mono son excelentes entornos, con muchas herramientas y una excelente base de habilidades de personas que saben cómo usarlos.

Creo que Mono tiene la oportunidad de ser el entorno de desarrollo de plataforma multiplataforma que se elija, ya que es la única alternativa a Objective-C en el iPhone y debe ser portátil a Android, y .NET ya está en Windows Mobile .

Realmente espero ver una implementación sólida de Mono en Android, con envoltorios para la API de Android como con Monotouch, y estaría preparado para pagarlo ya que no estoy en condiciones de hacerlo yo mismo.

Es más probable que veas una implementación de Silverlight para Android. El representante de Microsoft ha confirmado que es posible, en comparación con el iPhone donde el representante dijo que era problemático.

Pero es posible una versión de .Net framework. Solo necesito a alguien que se preocupe tanto :)

Pero realmente, pasar de C # a Java no es tan importante, y considerando las drásticas diferencias entre las dos plataformas (PC vs. G1), parece poco probable que puedas sobrevivir con una base de código para Cualquier aplicación que quisieras ejecutar en ambos.

En mi opinión, sería técnicamente posible convertir el Bytecode de CLI a Dalvik, y escribir clases de envoltorio para algunas características principales como Colecciones, acceso a archivos, etc., incluso sería un trabajo duro.

Pero una aplicación de escritorio .NET ejecutada en Android se sentiría ajena, ya que tendría una interfaz gráfica de usuario similar a Windows clásica que no es muy utilizable en un dispositivo táctil. Si, por otro lado, tuvieras que codificar una interfaz gráfica de usuario similar a Android en .NET, necesitarías otro conjunto de envoltorios (el aviso de que el envoltorio es al revés es opuesto a los envoltorios mencionados anteriormente).

No estoy seguro de si una aplicación móvil .NET se sentiría nativa en Android, pero supongo que no.

Quizás te interese otro enfoque: puedes escribir tu aplicación en el lenguaje Java. Luego, puede compilarlo en .NET a través de Microsoft J # (sé que está descontinuado, pero aún puede descargarlo y usarlo) y usar el mismo código Java en Android. Una vez más, eso es para las clases centrales aka lógica empresarial y, de nuevo, tendrías que escribir las GUI de remolque. Tal vez usted también puede usar J2ME, lo que no podrá hacer si usa .NET.

.NET para Android me parece una posibilidad real. Hay noticias de que Microsoft lanzará el Silverlight adecuado para Android: nunca subestime las ventajas de Microsoft para poner el arranque en Apple. Un teléfono inteligente que es más rápido, más rico en funciones, más rápido ciclo de vida de desarrollo, hardware impresionante, Flash y amp; Silverlight como instalable estándar.

Microsoft tiene un gran interés en mejorar Android, y al mismo tiempo, las aplicaciones se desarrollarán para Silverlight en Android, también funcionará en el sistema operativo Windows Phone 7 con multi-touch, GPS, etc., etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top