Desenvolva aplicativo Android usando C #

104

É possível escrever um aplicativo Android usando C #? Existe uma API ou algo assim? É gratuito para desenvolvimento pessoal e comercial?

O que preciso instalar para ter o modelo de projeto do Android em meu Visual Studio?

CoolArchTek
fonte
não tenho certeza sobre como o C # pode ser usado, mas você pode tentar HTML5 ..... (mas tem algumas limitações)
Dheeresh Singh
C # é mais semelhante ao objetivo C do que java. O iPhone usa o primeiro, o Android usa o último e, portanto, faria mais sentido experimentar o desenvolvimento do iPhone do que o do Android se você já conhece C #.
Todd Davies
82
@ToddDavies Eu discordaria totalmente e diria que Java e C # são as linguagens mais semelhantes. De fato, eu diria que Objective C não reflete C # de forma alguma.
Darren de
Bem, cada um tem sua opinião, mas tenho certeza de que Java está para o Objectivo C assim como eu estou para o meu mais odiado quinto primo removido: P
Todd Davies
1
+1 @DarrenDavies As ligações Mono para iOS lutam para representar seus equivalentes Objective-C em alguns lugares (por exemplo, protocolos), mas são francamente 1-1 contra Android.
Danyal Aytekin

Respostas:

63

Você pode usar Mono for Android:

http://xamarin.com/monoforandroid

Uma alternativa é dot42:

http://www.dot42.com/

dot42 fornece uma licença comunitária gratuita, bem como uma licença profissional por $ 399.

Darren
fonte
Por favor, dê uma olhada no comentário que adicionei à resposta de Seva Alekseyev.
CoolArchTek
@CoolArchTek - você pode baixar a avaliação gratuitamente; no entanto, o Mono para Android Professional custa $ 399 e Enterprise, $ 999. store.xamarin.com
Darren
13
Para escrever alguns aplicativos para você e seus amigos, $ 399 é extremamente proibitivo. Eu gostaria que houvesse algo 'intermediário'. Considerando que o Android + Eclipse é GRATUITO e o Visual Studio Express é GRATUITO, xamarin está perdendo muito, simplesmente por causa de seus preços
cmroanirgo
1
@cmroanirgo Xamarin agora oferece suporte a um modelo baseado em assinatura com uma opção gratuita - você não precisa mais comprar Mono para Android.
James,
4
http://www.dot42.com/ tem isso em seu site a dot42 has been discontinued and is no longer supported. All sources are availabe on GitHub. The latest build is available as a binary setup.partir de 29/05/2015. Eles tinham um download do código - fonte e um GitHub .
JabberwockyDecompiler
78

Tendo usado o Mono, eu NÃO o recomendaria. O tempo de execução Mono é fornecido com seu aplicativo, então seu apk acaba sendo inchado em mais de 6 MB. Uma solução de programação melhor para C # seria dot42 . Tanto o Mono quanto o dot42 são produtos licenciados.

Pessoalmente, eu recomendaria usar Java com o ambiente dev IntelliJ IDEA . Digo isso por 3 razões:

  1. Já existe muito código Java para Android; faça um favor a si mesmo e não reinvente a roda.
  2. IDEA é semelhante o suficiente ao Visual Studio para ser fácil de aprender; é feito por JetBrains e o intelli-sense é melhor do que o VS.
  3. IDEA é grátis.

Sou programador C # há 12 anos e comecei a desenvolver para Android com C #, mas acabei abandonando o barco e seguindo a rota do Java. As línguas são tão semelhantes que você realmente não perceberá muito a curva de aprendizado.

PS Se você deseja usar LINQ, serialização e outros recursos úteis que são nativos do C #, você só precisa procurar a biblioteca Java equivalente.

darksider474
fonte
4
Obrigado, sua experiência parece útil
nightcoder
boa resposta, mas o que fazer se o aplicativo Android tiver C # como back-end?
Krupal Shah
e se eu quiser criar um aplicativo para um aplicativo da Web desenvolvido com API da Web?
renakre
Obrigado, meios, se trabalharmos com o Android usando java, então vou receber mais blogs e materiais de googling. Só a inicialização será ouvida mais tarde, tudo bem. Obrigado, sou desenvolvedor C #, mas vou iniciar meu aplicativo usando java.
mohd mazhar khan de
21

Aqui está um novo (Observação: no estágio de visualização da tecnologia): http://www.dot42.com

É basicamente um suplemento do Visual Studio que permite compilar seu código C # diretamente para o código DEX. Isso significa que não há requisitos de tempo de execução como Mono.

Divulgação: eu trabalho para esta empresa


ATUALIZAÇÃO: todas as fontes estão agora em https://github.com/dot42

Frank Rem
fonte
6
Não acho que este seja o lugar certo para discutir preços, mas certifique-se de comparar as licenças corretas. Eu quero observar que o dot42 vem com uma Licença de Comunidade gratuita para uso não comercial.
Frank Rem
4
Frank, você está absolutamente certo e devo admitir que não percebi a licença comunitária.
Dave81
1
legais. algum comentário se você algum dia considerar a criação de código c para ios?
citykid de
2
Isso é incrível! Existem planos para colocar um designer de IU? Ou posso usar outra ferramenta para fazer isso? Excelente trabalho !
Piotr Kula
2
Na verdade, não existem tais planos no momento. Você pode usar o Android Studio para projetar a IU. Você pode então importar esses recursos no Visual Studio.
Frank Rem
8

Mono Touch é a resposta.

http://xamarin.com/monotouch

Seva Alekseyev
fonte
É gratuito para desenvolvimento comercial? Quero desenvolver um aplicativo que seja para uma empresa (seus usuários).
CoolArchTek
Eles têm isso para que você possa usar muito gratuitamente. Mas há uma taxa de licença de algum tipo iirc
FoamyGuy
Mono é a única maneira? Existem opções de código aberto disponíveis?
CoolArchTek
5
Mono é um IIRC de código aberto. Além disso, você percebe o esforço de portar todo o tempo de execução do C # (CLR) para uma plataforma diferente, com pouco suporte da Microsoft? É um milagre que até Mono exista. Google e MSFT são concorrentes diretos no espaço móvel, C # é uma tecnologia apoiada pela MSFT. Vai saber.
Seva Alekseyev
6

Usei o mecanismo de jogo Unity 3D para desenvolver jogos para PC e celular. Usamos C # neste desenvolvimento.

Sonu
fonte
1
Um link para qual versão do Unity 3D Game Engine você usa seria bom.
Jesse Chisholm
3

De fato, existem compiladores C # para Android disponíveis. Mesmo que eu prefira desenvolver aplicativos Android em Java, posso recomendar o MonoForAndroid. Você encontra mais informações em http://xamarin.com/monoforandroid

libjup
fonte