arquitetura-xamarin

Arquitetura do Xamarin

Boa tarde meus caros desenvolvedores!

Vamos bater um papo sobre a arquitetura do Xamarin.

Xamarin utiliza a infraestrutura .NET para conseguir o maior nível de compatibilidade possível -no código fonte- entre as diferentes arquiteturas mobile suportadas, as quais são:

  • Android (Xamarin.Android, antes chamado “MonoDroid”)
  • iOS (Xamarin.iOS, antes chamado “MonoTouch”)
  • Windows Phone (Suportado diretamente em .NET, portanto suportado por Xamarin)

Para a plataforma Windows Phone, Xamarin gera código bytecode .NET (também chamado IL, Intermediate Language) diretamente em forma de arquivos DLL (Dynamic Link Library), logo empacotados em arquivos appx (aplicativos Windows Store), e se utilizar alguma biblioteca Xamarin, ela é adicionada na aplicação como arquivos DLL. Windows Phone já inclui no sistema operacional a máquina virtual .NET (CLR, Common Language Runtime)

Já na plataforma Android, os aplicativos Xamarin são compilados a CLR em bibliotecas DLL, incluindo também as bibliotecas Xamarin utilizadas, e é executado numa versão nativa (implementada em C) da máquina virtual CLR escrita para ser executada diretamente no kernel Linux do Android. As chamadas às bibliotecas do Android são feitas através de Wrappers que chamam as funções na máquina virtual do Android (melhor conhecida como Dalvik, e apartir da versão 5 do Android, ART – Android RunTime), tais como as contidas nas bibliotecas Android.* e Java.*. A sua vez, a máquina virtual do Android pode chamar as funções das aplicações Xamarin usando a mesma técnica.

E na plataforma iOS, devido a restrições da Apple, não podemos executar máquinas virtuais, portanto o código fonte .NET é compilado no código nativo do processador ARM que esses dispositivos usam. Portanto, as bibliotecas do Xamarin e as do .NET disponíveis são compiladas também para o código nativo. Devido a essa restrição, nos projetos iOS não pode ser criado código dinâmico, por exemplo, usando a biblioteca Reflection.Emit.

Este é somente um resumo geral, em futuros posts será detalhada a infraestrutura. Enquanto isso veja quais são os 10 motivos para começar a utilizar o Xamarin. Leitura obrigatória! 😉

Avalie nosso post

Rafael Moura

Desenvolvedor .NET, mais de 5 anos de experiência, apaixonado por tecnologia, Xamarin Student Partner Regional Lead Central/South America, Xamarin Comunity Speaker, Xamarin Certified Mobile Developer e Windows Phone Developer.

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

%d blogueiros gostam disto: