Xamarin ou Xamarin.Forms? Qual a melhor abordagem Xamarin para desenvolvimento do meu aplicativo móvel?

Olá pessoal, este é o meu primeiro artigo relacionado a Plataforma Xamarin, a ideia é criar uma série de artigos curtos para te ajudar a entrar e caminhar com tranquilidade no mundo de desenvolvimento mobile cross-plataforma utilizando Visual Studio e C#.

Além de conteúdo técnico eu pretendo esclarecer dúvidas que chegam até mim todos os dias (o tema de hoje é uma delas), então vamos lá!

Qual a melhor abordagem Xamarin para desenvolvimento do meu aplicativo móvel?


Uma dúvida bem comum, tanto para quem já desenvolve aplicativos como para quem está dando seus primeiros passos na plataforma.

A Plataforma Xamarin entrega duas alternativas para construção de aplicativos moveis, Xamarin.iOS e Xamarin.Android, onde você tem acesso direto as API’s de cada plataforma e Xamarin.Forms com foco em maximizar o compartilhamento de código entre plataformas.

O importante aqui é entender que:

"Não importa qual abordagem você está utilizando o resultado é sempre aplicativos totalmente nativos escritos em C#, com backend (lógica de negócio) compartilhado."

Então, Xamarin ou Xamarin.Forms?

Para responder a essa pergunta e decidir você deve avaliar os seguintes fatores:

Xamarin.iOS e/ou Xamarin.Android é melhor para:

  • Aplicações que requerem interações especializadas;
  • Apps com design rico;
  • Aplicativos que usam APIs e funções especificas para cada * plataforma (platformspecific);
  • Apps onde UI personalizada é mais importante do que o compartilhamento de código.

Xamarin.Forms é melhor para:

  • Aplicativos para entrada de dados (Data entry apps);
  • Protótipos e provas de conceito;
  • Aplicativos que exigem poucas funcionalidades especificas para cada plataforma (platformspecific code);
  • Apps onde compartilhar código entre plataforma é mais importante do que a interface do usuário personalizada;

Transforme esses pontos em perguntas e você já tem o um guia para definição da arquitetura e qual abordagem escolher na construção da sua App.

Outra dica preciosa é: Se você está utilizando Xamarin.Forms e tem mais linhas de código para funções platformspecific do que para a sua UI, você fez a escolha errada.

Conclusão

O core da plataforma Xamarin é compartilhamento de código e alta produtividade, diferente de escrever uma vez e rodar em qualquer plataforma, que funcionam mas entregam experiências pobres, ou seja, definir a abordagem é crucial para ter o ganho real de produtividade e compartilhamento de código

Espero ter ajudado, se você tem alguma dúvida me chame no @WilliamSRodz no twitter, vamos conversar quem sabe a resposta vira um artigo aqui no blog.

Forte abraço.

William S. Rodriguez

Microsoft & Xamarin MVP, C# mobile developer, community enthusiast & #Xamarin crusader.

Curitiba, PR, Brasil http://williamsrz.com.br

Subscribe to C#, Xamarin, Mobile & Cloud addicted

Get the latest posts delivered right to your inbox.

or subscribe via RSS with Feedly!