Xamarin Forms - Compartilhando código entre Plataformas
Neste artigo vou apresentar as estratégias de compartilhamendo de código entre plataformas no Xamarin Forms. |
O
Xamarin.Forms permite que você crie aplicativos que sejam executados em Android,
iOS e Windows a partir de um único código base C#. Isso é possível porque, no
seu núcleo, o Xamarin.Forms permite o compartilhamento de código entre
plataformas de todo o código para a interface do usuário e todo o código que não
é específico da plataforma.
Existem diferentes maneiras de compartilhar código entre plataformas, cada um
com seus prós e contras. Vejamos as mais importantes:
Compartilhando código com
Portable Class Library (PCL)
Como o nome indica, Portable Class Libraries (PCL)
são bibliotecas que podem ser consumidas em múltiplas plataformas. Mais
especificamente, elas podem ser consumidas em múltiplas plataformas somente se
eles direcionar um subconjunto de APIs disponíveis em todas essas plataformas.
As PCLs existem há muitos anos e elas certamente não são exclusivos do Xamarin.
Na verdade, elas podem ser usadas em muitos outros
cenários de desenvolvimento. Por exemplo, uma PCL pode ser usada para
compartilhar uma arquitetura Model-View-ViewModel entre um projeto WPF e
um projeto UWP. As características mais importantes de um PCL são os seguintes:
• Produzem um assembly compilado, reutilizável .dll.
• Podem fazer referência a outras bibliotecas e ter dependências, como pacotes
NuGet.
• Podem conter arquivos XAML para a definição da interface do usuário e arquivos
C#.
• Não podem expor o código que alavanca APIs específicas de uma determinada
plataforma, caso contrário eles não seriam mais portáteis.
• São uma boa escolha quando você precisa implementar padrões arquitetônicos,
como MVVM, factory, inversão de controle (IoC) com injeção de dependência e
sevice locator.
Compartilhando código com Shared
Projects ou projetos compartilhados
Os Shared Projects ou Projetos
compartilhados, bem como PCLs, não são específicos do Xamarin e existem há
muitos anos. Os projetos compartilhados são essencialmente um sortimento variado
de arquivos que podem ser compartilhados com outros projetos.
A seguir, uma lista das características mais importantes de um projeto
compartilhado, destacando também a Diferenças de uma PCL:
• Eles não produzem um assembly .dll compilado e
reutilizável.
• Não podem fazer referência a outras bibliotecas e ter dependências, como
pacotes NuGet.
• Eles podem conter arquivos XAML para a definição da interface do usuário e
arquivos C #.
• Eles podem conter o código específico da plataforma que pode usar a compilação
condicional e diretivas do pré-processador.
Compartilhando Código com .NET
Standard libraries
O .NET Standard fornece um conjunto de
especificações formais para APIs que todas as plataformas de desenvolvimento
.NET, como o .NET Framework, o .NET Core e o Mono, devem implementar.
Isto permite unificar plataformas .NET e evita a fragmentação futura. Ao criar
uma biblioteca padrão .NET, você assegurará que seu código seja executado em
qualquer plataforma .NET sem a necessidade de selecionar qualquer destino. Isso
também resolve um problema comum com as bibliotecas portáteis, uma vez que todas
as bibliotecas portáteis podem segmentar um conjunto diferente de plataformas, o
que implica incompatibilidade potencial entre bibliotecas e projetos.
No momento que escrevo este artigo, a versão 2.0 do .NET Standard está
disponível com o objetivo de unificar o .NET Framework, .NET Core e Mono.
Com Xamarin.Forms no Visual Studio 2017, a versão 1.3 ou 1.6 talvez seja a
escolha mais indicada. O Visual Studio 2017 não inclui o .NET Standard como uma
estratégia de compartilhamento de código ao criar uma nova solução
Xamarin.Forms. (Até o momento...pois a nova versão do VS 2017 deverá trazer
novidades neste quesito)
Atualmente, usando a versão 15.3 do Visual Studio, o que podemos fazer é converter um projeto
Portable Class Library em uma biblioteca .NET
Standard.
Nas próximas versões do Visual Studio devemos esperar que o .NET Standard venha substituir o projeto PCL.
E a vida eterna é esta: que te conheçam,
a ti só, por único Deus verdadeiro, e a Jesus Cristo, a quem enviaste.
João
17:3
Veja os
Destaques e novidades do SUPER DVD Visual Basic
(sempre atualizado) : clique e confira !
Quer migrar para o VB .NET ?
Quer aprender C# ??
Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ? |
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a Objetos com VB .NET
Xamarim - Desenvolvimento Multiplataforma com C# ... - Macoratti.net
Xamarin.Forms - Olá Mundo - Criando sua primeira ... - Macoratti.net
Xamarin.Forms - Olá Mundo - Anatomia da aplicação - Macoratti.net