quarta-feira, 8 de fevereiro de 2017

Código Portável do Xamarin

Os códigos portáveis do Xamarin, que devem ser escritos uma única vez pode ser feito de três formas.

Arquivos vinculados (File Link)

Podem ser códigos, arquivos de dados ou imagens. Estes arquivos são compartilhados entre diferentes projetos e ao atualizar em um projeto todos os demais são atualizados. São compilados como como arquivos embutidos (embed) na projeto.
No caso do código é possível utilizar diretivas de compilação para definir código específico de cada plataforma, por exemplo:
#if __ANDROID__
#endif
O mesmo pode ser feito para IOS com __IOS__ . Para ver todas as opções veja Part 4 - Dealing with Multiple Platforms.

Projetos compartilhados (Native Shared)

Muito parecido com os arquivos vinculados, mas permite maior organização dos arquivos a serem compartilhados no projeto ao invés de ficar os adicionando em diferentes projetos um a um. Este projeto não gera nenhum artefato específico.
image

Projeto de Classe Portável (Native Portable)

Geram um arquivo dll que é compartilhado entre os projetos específicos.
image
Nas propriedades de projeto é possível definir quais as plataformas alvos do projeto, limitando dessa formas as funcionalidades disponíveis a serem utilizadas.
image
Uma estratégia utilizada neste tipo de projeto, quando é necessário utiliza código específico de plataforma é definir uma interface na classe portável e implementa-la nos projetos específicos.