Xamarin Forms: Um Código que Controla Todos os Outros

Disponível também em inglês

“Eu sou desenvolvedor C# e eu quero criar um aplicativo mobile para essas plataformas mas eu não quero aprender Objective-C ou Java e não quero perder muito tempo e dinheiro com isso. Como o Xamarin Forms pode me ajudar?”

Existem diversos dispositivos mobile em 3 plataformas principais:
– Android. 90% dos dispositivos, linguagem de programção Java.
– iOS. 9% dos dispositivos, linguagem de programação Objective-C. Você precisará de um MAC.
– Windows Phone. 1% dos dispositivos, linguagem de programação C#.

 
Xamarin Forms: Um Código que Controla Todos os Outros
 

Blz, Xamarin é um framework C# para criar aplicativos mobile para iOS e android usando linguagem de programação C#. OK ok ok, você também pode criar aplicativo mobile também para windows phone.

Você pode usar Xamarin.iOS para criar as telas para iOS e usar Xamarin.Droid para criar as telas para Android.

Você apenas precisa instalar o plugin do Xamarin no Visual Studio ou usar o Xamarin Studio no Mac.

Usando Xamarin.Droid ou Xamarin.iOS para criar as telas você precisará de dois códigos distintos: um código para android e outro para iOS. Existem algumas coisas que poderão ser compartilhadas entre esses dois projetos como acesso a banco de dados e regras de negócio.

Eles chamam isso de Modelo Tradicional Xamarin:

Xamarin Forms Traditional Aproach

“Ai meu Deus! Preciso criar duas telas?? Tem alguma forma melhor pra fazer isso?”

Sim! Xamarin Forms!

Você pode usar Xamarin.Forms para criar apenas uma tela e rodar em ambas as plataformas iOS e Android. Xamarin Forms é uma abstração que funciona junto com o Xamarin.iOS e Xamarin.Droid. Se você criar uma tela usando Xamarin Forms você não precisa criar a mesma tela no Xamarin.Droid ou Xamarin.iOS. A tela é compartilhada entre as duas plataformas.

Eles chama isso de Modelo Xamarin Forms:

Xamarin Forms Aproach

“Eu não acredito!, é mágica!, apenas um código que controla os outros!”

Tudo bem, calma lá. Não é assim tão simples. Xamarin Forms ajuda muito, mas as vezes você precisará fazer alguns ajustes especificamente em uma das plataforams iOS ou Droid. Mas, sim, a maioria do código é compartilhada entre as plataformas e realmente ajuda muito.

De qualquer forma na minha opinião ainda assim é melhor usar o Modelo Xamarin Forms do que aprender Java ou Objective-C. Com Xamarin Forms você compartilha regras de negócios e claro o melhor de tudo, as telas.

“Então, como o Xamarin Forms funciona?”

Quando você cria um projeto Xamarin.Forms (Cross-mobile) usando Visual Studio, ele cria uma solution com 3 projetos:

1 – Portable project (Xamarin.Forms)
2 – Android project (Xamarin.Droid)
3 – iOS project (Xamarin.iOS)

Estrutura da solution:

xamarinproject

Apenas para entendimento e analogia, imagine Xamarin.Forms como uma DLL reutilizável e o Xamarin.iOS e Xamarin.Droid como projetos Web que referencia essa DLL reutilizável. Na programção web, quando a gente faz um publish do projeto, a gente publica o projeto web e com Xamarin é a mesma coisa, vamos publicar o Xamarin.Droid e Xamarin.iOS.

Bom é isso. Esperto que tenha ajudado.

Abaixo encontrará alguns links úteis.

Xamarin Forms: um código que controla todos os outros

Xamarin Forms: Perguntas, sugestões ou críticas são bem vindas. Boa sorte!

Sobre o Autor:
Trabalha como arquiteto de soluções e desenvolvedor, tem mais de 18 anos de experiência em desenvolvimento de software em diversas plataformas sendo mais de 16 anos somente para o mercado de seguros.