Desarrollar una aplicación de Android usando C #

104

¿Es posible escribir una aplicación de Android usando C #? ¿Hay una API o algo así? ¿Es gratuito para el desarrollo personal y comercial?

¿Qué necesito instalar para tener una plantilla de proyecto de Android en mi Visual Studio?

CoolArchTek
fuente
no estoy seguro de ninguna forma en que se pueda usar C #, pero puede probar HTML5 ..... (pero tiene alguna limitación)
Dheeresh Singh
C # es más similar al objetivo C que a java. iPhone usa el primero, Android usa el segundo, por lo que tendría más sentido probar el desarrollo de iPhone que el desarrollo de Android si ya conoce C #.
Todd Davies
82
@ToddDavies No estaría de acuerdo por completo y diría que Java y C # son los lenguajes más similares. De hecho, diría que Objective C no refleja C # en absoluto.
Darren
Bueno, cada uno tiene su propia opinión, pero estoy seguro de que Java es para Objective C como yo soy para mi primo quinto eliminado más odiado: P
Todd Davies
1
+1 @DarrenDavies Los enlaces Mono para iOS luchan por representar sus equivalentes Objective-C en algunos lugares (por ejemplo, protocolos) pero son claramente 1-1 contra Android.
Danyal Aytekin

Respuestas:

63

Podrías usar Mono for Android:

http://xamarin.com/monoforandroid

Una alternativa es dot42:

http://www.dot42.com/

dot42 proporciona una licencia comunitaria gratuita, así como una licencia profesional por $ 399.

Darren
fuente
Por favor, eche un vistazo al comentario que agregué a la respuesta de Seva Alekseyev.
CoolArchTek
@CoolArchTek: puede descargar la evaluación de forma gratuita, sin embargo, Mono para Android Professional cuesta $ 399 y Enterprise cuesta $ 999. store.xamarin.com
Darren
13
Escribir algunas aplicaciones para ti y tus amigos, $ 399 es extremadamente prohibitivo. Desearía que hubiera algo 'en el medio'. Teniendo en cuenta que Android + Eclipse es GRATIS y Visual Studio Express es GRATIS, xamarin se está perdiendo mucho, simplemente por sus precios
cmroanirgo
1
@cmroanirgo Xamarin ahora admite un modelo basado en suscripción con una opción gratuita: ya no es necesario comprar Mono para Android.
James
4
http://www.dot42.com/ tiene esto en su sitio dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.al 29/5/2015. Tenían una descarga de código fuente y un GitHub .
JabberwockyDecompiler
78

Habiendo usado Mono, NO lo recomendaría. El tiempo de ejecución de Mono está incluido con su aplicación, por lo que su apk termina inflando más de 6 MB. Una mejor solución de programación para C # sería dot42 . Tanto Mono como dot42 son productos con licencia.

Personalmente, recomendaría usar Java con el entorno de desarrollo IntelliJ IDEA . Digo esto por 3 razones:

  1. Ya hay mucho código Java disponible para Android; hazte un favor y no reinventes la rueda.
  2. IDEA es lo suficientemente similar a Visual Studio como para que sea muy fácil de aprender; está hecho por JetBrains y el intelli-sense es mejor que VS.
  3. IDEA es gratis.

He sido programador de C # durante 12 años y comencé a desarrollar para Android con C #, pero terminé abandonando el barco y siguiendo la ruta de Java. Los idiomas son tan similares que realmente no notará mucha curva de aprendizaje.

PD: si desea utilizar LINQ, serialización y otras funciones útiles que son nativas de C #, solo necesita buscar la biblioteca de Java equivalente.

darksider474
fuente
4
Gracias, su experiencia parece útil
nightcoder
buena respuesta, pero ¿qué hacer si la aplicación de Android tiene C # como backend?
Krupal Shah
¿Qué pasa si quiero crear una aplicación para una aplicación web construida con API web?
Renakre
Gracias, sus medios, si trabajamos con Android usando Java, obtendré más blogs y materiales de Google. Solo el inicio se escuchará más tarde, todo bien. Gracias, soy desarrollador de C # pero comenzaré mi aplicación usando java.
mohd mazhar khan
21

Aquí hay uno nuevo (Nota: en la etapa de Vista previa técnica): http://www.dot42.com

Básicamente es un complemento de Visual Studio que le permite compilar su código C # directamente en el código DEX. Esto significa que no hay requisitos de tiempo de ejecución como Mono.

Divulgación: trabajo para esta empresa


ACTUALIZACIÓN: todas las fuentes están ahora en https://github.com/dot42

Frank Rem
fuente
6
No creo que este sea el lugar adecuado para discutir los precios, pero asegúrese de comparar las licencias correctas. Quiero señalar que dot42 viene con una licencia comunitaria gratuita para uso no comercial.
Frank Rem
4
Frank, tienes toda la razón y debo admitir que no me di cuenta de la licencia comunitaria.
Dave81
1
bonito. ¿Algún comentario si alguna vez considerará la creación de código c para ios?
citykid
2
¡Esto es asombroso! ¿Hay planes para instalar un diseñador de interfaz de usuario? ¿O puedo usar otra herramienta para hacer esto? Excelente trabajo !
Piotr Kula
2
En realidad, no existen tales planes en este momento. Puede usar Android Studio para diseñar la interfaz de usuario. Luego puede importar esos recursos en Visual Studio.
Frank Rem
8

Mono Touch es la respuesta.

http://xamarin.com/monotouch

Seva Alekseyev
fuente
¿Es gratuito para el desarrollo comercial? Quiero desarrollar una aplicación que sea para una empresa (sus usuarios).
CoolArchTek
Lo tienen para que puedas usar mucho gratis. Pero hay una tarifa de licencia de algún tipo iirc
FoamyGuy
¿Mono es la única forma? ¿Hay opciones de código abierto disponibles?
CoolArchTek
5
Mono es IIRC de código abierto. Además, ¿se da cuenta del esfuerzo de migrar todo el tiempo de ejecución de C # (CLR) a una plataforma diferente, con poco soporte de Microsoft? Es un milagro que incluso Mono exista. Google y MSFT son competidores directos en el espacio móvil, C # es una tecnología respaldada por MSFT. Imagínate.
Seva Alekseyev
6

He utilizado el motor de juegos Unity 3D para desarrollar juegos para PC y teléfonos móviles. Usamos C # en este desarrollo.

Sonu
fuente
1
Un enlace a la versión de Unity 3D Game Engine que usa sería bueno.
Jesse Chisholm
3

De hecho, existen compiladores de C # para Android disponibles. Aunque prefiero desarrollar aplicaciones de Android en Java, puedo recomendar MonoForAndroid. Puedes encontrar más información en http://xamarin.com/monoforandroid

libjup
fuente