Dia 04 - O que eu preciso saber sobre como criar um aplicativo com Xamarin.Forms

Olá,

Que bom que você continua aqui, até agora já instalamos o Xamarin, resolvemos problemas comuns com Android e iOS, e agora você deve estar doido para colocar a mão na massa (eu também), porem antes disso, precisamos entender alguns conceitos relevantes.

Este artigo faz parte da série 60 dias com Xamarin, se você perdeu alguma publicação pode acompanhar pelo índice disponível aqui.

É verdade, criar um projeto de aplicativo utilizando o framework Xamarin.Forms é super simples, na verdade temos um template de projeto no Visual Studio (ou Xamarin Studio) que acaba fazendo todo o trabalho sujo para nós (criando a solução, criando o projeto e adicionando os pacotes), com isso já temos toda estrutura para iniciarmos, mas espere um pouco, você sabe o que é Xamarin.Forms?

O que é o Xamarin, ou melhor o que é a Plataforma Xamarin?

Precisamos entender a diferença entre Xamarin e Xamarin.Forms, fique esperto parece a mesma coisa mas não é.

De bate e pronto: Xamarin é uma plataforma que permite que você crie aplicativos para iOS, Android e Windows utilizando a mesma linguagem de programação (C#).

Isso quer dizer que em um projeto no qual você pretende entregar um aplicativo para Android, iOS e Windows, o Xamarin permite o compartilhamento de código entre essas três plataformas e com isso você não vai precisar criar três apps distintos em três linguagem de programação distintas.

Utilizando abordagem tradicional de desenvolvimento móvel (muitos chamam de XTA, eu odeio essa sigla e não faço ideia do motivo), compartilhamos o código que normalmente chamamos de CORE, (por exemplo, chamadas para API’s de backend) e implementamos as interfaces de usuário (telas), utilizando os recursos padrões de cada plataforma, ou seja, axml no Android, Storyboard ou .xib no iOS.

Vale lembrar que ninguém cria um aplicativo "escrito em Xamarin” ou para “Xamarin”, criamos aplicativos para Android, iOS ou Windows escritos em C# utilizando a plataforma Xamarin.

Então o que é o Xamarin.Forms?

Muita gente (mas muita gente mesmo), confunde Xamarin.Forms com Xamarin, e isso é normal, pois o Xamarin.Forms estende o conceito da plataforma, ele é um framework (um pacote nuget), que unifica a escrita de interfaces de usuário para cada plataforma (ele faz algumas coisas a mais do que isso, eu sei, mas esse é seu objetivo principal).

Portanto, quando eu construo um aplicativo na plataforma Xamarin, utilizando o framework Xamarin.Forms, vou ter a possibilidade de compartilhar o meu código do CORE e as minhas interfaces de usuário, e isso é muito legal.

Pense, um botão é um botão nas três plataformas, no iOS é um UiButton, no Android é um Button e no Windows também é um Button, só que o comportamento (fora o toque), em cada plataforma é diferente e o mais importante eles são visivelmente diferentes, quando decido usar o Xamarin.Forms eu tenho a possibilidade de através do framework, utilizar um Button e deixar ele resolva e apresente esse botão em cada plataforma respeitando as suas características.

Quando usar Xamarin.Forms ou Xamarin Tradicional?

Essa é uma pergunta que todos fazem e você pode entender as diferenças em um outro artigo escrevi a algum tempo

Como eu escrevo aplicativos utilizando o Xamarin.Forms, já que implemento uma vez só a minha interface de usuário?

Bem, existem duas maneiras de escrever uma aplicativo utilizando Xamarin.Forms, a primeira e é que vamos utilizar durante a série, é com XAML, a segunda é utilizando C#.

Por que vamos usar XAML e não C#?

O XAML é uma linguagem de marcação que permite que os desenvolvedores definiam/criem/codifiquem, interfaces de usuário em aplicativos Xamarin.Forms, você não é obrigado a usar XAML, porem ele é mais sucinto, ou seja, você escreve menos código (comparado ao equivalente com C#), ele é visualmente mais coerente e adequado para o uso com a arquitetura de um aplicativo MVVM, pois conseguimos separar as responsabilidades entre as nossas camadas de forma mais fácil.

MVVM o que?

MVVM é um padrão que tem por objetivo facilitar e deixar clara a separação de responsabilidades em um aplicativo, ou seja, aumentar o desacoplamento das responsabilidades de UI e lógica de negócios, aumentando por exemplo o coeficiente de manutenabilidade e a testabilidade do seu app, ele foi pensado e criado para ser utilizado com XAML.

Utilizar MVVM significa que iremos separar o código da nossa View, que vai ser escrita em XAML, do nosso Modelo, ou seja, classes de negócio, serviços externos. etc... Isso é feito através de uma classe intermediária que chamamos de ViewModel.

Em um aplicativo Xamarin.Forms a View e o ViewModel são conectados através de data bindings que são definidos no arquivo XAML, onde o seu contexto de bind é uma instancia de uma classe ViewModel.

Se você não conhece o pattern, minha sugestão é que você leia este artigo https://msdn.microsoft.com/en-us/library/hh848246.aspx

Por hoje é só!

Não se preocupe caso você não tenha entendido alguns dos termos e padrões citados no dia de hoje, iremos reforçá-los durante a nossa jornada 🙂

Abraço.


Como encontrar o conteúdo e acompanhar as postagens?

Você pode fazer duas coisas:

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!