Ícone do site dfilitto

Xamarin Forms – Diferença entre .NET Standard e Shared Projects

xamarin Modulo 1

O post Xamarin Forms – Diferença entre .NET Standard e Shared Projects aborda os diferentes métodos de compartilhamento de código entre projetos criados utilizando o Xamarin Forms e demonstra os benefícios e desvantagens de cada um desses métodos.

Xamarin Forms – Diferença entre .NET Standard e Shared Projects

Existem dois métodos que podem ser utilizados na hora de se criar uma solução mobile (cross platform) utilizando o Xamarin Forms: .NET Standard Libraries e Shared Projects.

Shared Projects

Basicamente ao criarmos uma solução Shared, toda a lógica de negócio e interface deve ser implementadas no projeto shared (compartilhado), isto é, você praticamente programa apenas no projeto shared.

A grande vantagem de um projeto Shared é a centralização de códigos específicos de cada plataforma no próprio projeto Shared. A separação dos códigos em cada plataforma deve ser feita através de diretivas de compilação como por exemplo:

#if __ANDROID__
// codigo que roda só no android
#endif
#if __IOS__
// codigo que roda só no ios
#endif

Um grande problema é que você só consegue ver erros no código do Android se compilar o projeto para Android. A mesma coisa acontece para as outras plataformas.

Outra característica de um projeto Shared é que ele não gera uma biblioteca. Todo o código Shared é acoplado no executável de cada plataforma.

Benefícios

Standard Libraries

Ao utilizarmos o Standard Libraries não é necessário inserir diretivas do compilador para alternar o código, você implementa diretamente nos projetos de cada plataforma, o que for específico das mesmas e referência essa implementação no projeto shared. Vou dar um exemplo utilizando o projeto Wallpaper que criei utilizando o modo Standard Libraries.

O projeto Wallpaper é um aplicativo que troca o papel de parede do celular com base na imagem selecionada pelo usuário. Para que a ação de trocar o papel de parede funciona-se foi necessário implementar nas plataformas as ações relacionadas a alterar o papel de parede do celular e efetuar no projeto shared a chamada dessas ações por meio de uma interface.

Benefícios

Para conhecer mais sobre o assunto acesse: Visão geral do código do compartilhamento

Acesse nosso canal no YouTube para visualizar outros vídeos sobre programação, como por exemplo Python, Java e Desenvolvimento de sistemas comerciais utilizando a linguagem C#. Participe do nosso grupo de estudos no Facebook acessando o link.

Sair da versão mobile