Comecando com Xamarin Android

Começando a entender o Xamarin Android

Fala pessoal, tudo tranquilo ?

Hoje iremos falar um pouco sobre o Xamarin Androidprimeiramente vamos entender qual o  seu funcionamento, qual o seu processo de compilação e como iremos codificar para gerarmos o nosso app!!

Mas não se assustem, pois assim como no Xamarin Forms, os projetos Xamarin Android também são inteiramente codificados em C# .Net, ou seja, todas as bibliotecas e pacotes do .Net Framework estarão disponíveis para o desenvolvimento.

 

O que é o Xamarin Android ?

O Xamarin Android é uma das plataformas disponibilizadas pelo Xamarin que nos permite desenvolver em c# um aplicativo nativo para o Android. O seu funcionamento é bem parecido com o Xamarin iOS, pois a plataforma utiliza-se do Mono Project, um projeto open-source, que representa uma camada entre as bibliotecas .Net e as bibliotecas do Java.

Xamarin Android Structure

Como podemos ver na imagem acima, com o xamarin android temos acesso a todas as bibliotecas nativas do Java, além do Mono.Net, citado anteriormente, contendo todas as bibliotecas do .Net framework que fará a comunicação com o sistema Operacional do Android (Linux).

Além disso, podemos utilizar qualquer linguagem compatível com o .Net Framework 4.5, como o C# 6.0 e o F# (confira um artigo que fizemos sobre a linguagem F#).

Utilizamos o JIT (just in time) para a compilação do projeto, ou seja, assim como o aplicativo nativo, a compilação será feita sob demanda, a medida que for precisando renderizar ou utilizar de novos assemblys a compilação é feita.

 

Necessidades para o desenvolvimento

Para começarmos a desenvolver para android utilizando o Xamarin, iremos precisar entender alguns pré-requisitos e conceitos sobre os aplicativos android:

  • JDK (São as bibliotecas e ferramentas necessárias para a compilação e execução dos aplicativos android)

Xamarin Android JDK

  • SDK (São as API’s e ferramentas necessárias para criar e executar os aplicativos Android de forma nativa)

Xamarin Android SDK

  • NDK ( Biblioteca que nos permite desenvolver em código nativo em linguagens de mais baixo nível como C e C++)

Xamarin Android NDK

Após entendermos as bibliotecas e ferramentas que são necessárias para o desenvolvimento de um aplicativo para android, vamos entender como funciona o processo de execução do nosso aplicativo em um aparelho.

Xamarin Android Droid

Como podemos ver na imagem acima, o nosso APK (conjunto dos assemblys, bibliotecas e arquivos de resource, que contém as nossas imagens, icones) irão ser executados no android runtime (ART), o xamarin android irá executar da mesma forma que os aplicativos nativos, porém a montagem do nosso APK é um pouco diferente, vamos entender nos próximos passos.

 

Compilação nativa de apps Android (Java)

Xamarin Android CompNativa

Como vemos na imagem acima, um aplicativo desenvolvido em java de forma nativa, utiliza-se de um compilador java que irá gerar um Java bytecodes , uma linguagem intermediária que será transformada em dalvik bytecodes, fazendo uma analogia, o dalvik bytecodes é a representação do assembly no sistema windows.

Após o arquivo .dex gerado, será feito mais um passo para unir os nossos arquivos de Resources ao arquivo .dex gerado, gerando assim o nosso arquivo .apk, que será executado nos nossos aparelhos.

Xamarin Android Native Packaging

Compilação nativa de apps Android (Xamarin Android)

Xamarin Android C# Compiler

Como podemos notar na imagem acima, iremos codificar tudo em .Net, nesse caso C#, que através de um compilador .Net irá gerar o nosso assembly, que fazendo uma comparação com a compilação nativa, representa o Java bytecodes.

Um excelente passo existente na compilação do Xamarin Android é o componente Linker, que irá otimizar a compilação para uma execução mais “clean” do nosso app.

Xamarin Android Linker

Ou seja, o Linker irá filtrar todos os nossos assemblys e os assemblys do Mono project, referenciando somente as dll’s utilizadas, evitando que o aplicativo tenha um tamanho excessivo desnecessário.

Finalmente o nosso Mono Runtime, provido pelo Mono Project, irá ser empacotado junto com o apk, para que o nosso assembly (IL) possa ser executado de forma nativa.

Xamarin Android Mono RunTime

 

 

Execução do aplicativo Xamarin Android

Xamarin Android Execution

E assim a “mágica” acontece, um aplicativo em Xamarin Android é executado lado a lado com o ART, ou seja, uma ponte é feita entre a Mono VM e o ART, nos permitindo assim utilizar toda a codificação em .Net utilizar de toda a estrutura já definida para os aplicativos em Android. Com base no Ahead-of-time (AOT) a comunicação entre essas estruturas é feita.

 

Por hoje é isso pessoal, espero que tenham gostado !!

No próximo post, iremos colocar a mão na massa, criaremos o nosso primeiro app utilizando o Xamarin Android, caso você deseja entender um pouco mais sobre o xamarin android e de como criar um “Hello World”, acesse o link da Xamarin QuickStart.

Veja os artigos que fizemos sobre como publicar seu App na Google Play e também utilizando o Xamarin Studio para publicar

Até a próxima !

Começando a entender o Xamarin Android
5 (100%) 3 votos

Leonardo

Xamarin Student Partner, apaixonado pela tecnologia .NET, Desenvolvedor na BRAE Biotecnologia, atua a mais de 4 anos no mercado com .NET

6 comentários em “Começando a entender o Xamarin Android

  1. Ola Pessoal, ha alguma forma de usar o xamarin fora do ambiente do visual studio ? não sei o porque mas no meu visual studio ao final da instalação ocorrem erros e nao estou conseguindo usar a plataforma.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

%d blogueiros gostam disto: