¿Es posible escribir aplicaciones de Android con C #? ¿Qué plataformas de desarrollo (por ejemplo, Xamarin) lo admiten? ¿Existen limitaciones para escribir aplicaciones de Android con tales kits de desarrollo?

Esta pregunta se ha hecho varias veces en Stack Overflow, aquí hay una gran respuesta con enlaces a varias herramientas de desarrollo que puede usar:

http://stackoverflow.com/questio…

En cuanto a las limitaciones: las aplicaciones de Android generalmente están escritas en Java, al igual que la mayoría del sistema operativo Android. Escribir aplicaciones en cualquier otro idioma significará menos compatibilidad con la biblioteca y, por lo general, hará que escribir esa aplicación sea mucho más difícil. Su aplicación podría terminar lentamente, sin funciones y con errores. Pero en realidad cualquier aplicación podría terminar así.

C # es bastante similar a Java, por lo que si desea escribir una aplicación con cualquier complejidad real, le recomiendo que solo aprenda Java. No debería ser difícil para ti ya que ya conoces C #.

Además, para el registro, C # no se compila en código nativo. Se compila en un lenguaje intermedio similar al código de bytes de Java. Esto se debe a que C # también es un lenguaje administrado.

C / C ++ compila en código ‘nativo’ (ensamblador y luego código de máquina), y de hecho son compatibles con Android a través del uso del NDK, el ‘Kit de desarrollo nativo’. Puedes descargarlo aquí:

https://developer.android.com/to…

Si desea leer más sobre las diferencias entre compilar en idiomas intermedios y compilar en código nativo, esta pregunta SO es útil:

http://stackoverflow.com/questio…

En cualquier kit de desarrollo, finalmente terminan con código nativo. Kits escritos para facilitar la tarea de desarrollo. Cada SDK de 3 partes tiene al menos pocas limitaciones debido a la portabilidad en múltiples plataformas. Como aquí en la documentación para desarrolladores de Xamarin, se mencionan algunas limitaciones. Por lo tanto, depende de usted mientras selecciona los kits, porque puede haber una posibilidad de que no obtenga la misma función en todos los kits.

Limitaciones | Xamarin