O Incrível Xamarin.Forms

Fala Galera,

blz?

Quando conheci Xamarin achei a ideia/tecnologia incrível. A possibilidade de utilizar meus conhecimentos C# para desenvolver aplicativos móveis parecia ter vindo sob medida e no momento certo.

Existia um cliente, que ate então desenvolvíamos melhorias e correções em um sistema web ,que nos pediu um aplicativo para integrar com o sistema atual da empresa.

Então tínhamos o cenário :

Desenvolvedor .net com apenas alguma expertise em Objetive-C.. e Java.

Por mais que eu tivesse algum conhecimento em Mobile eu teria que desenvolver 2 aplicativos (iOS e Android) em um tempo relativamente curto.

Certo ,para o cenário atual a única opção seria encontrar outro desenvolvedor com conhecimentos de Objective-C/Swift e Java. Ou algum desenvolvedor de cada uma das tecnologias.

Problema : Preço + Disponibilidade.

Por mais que poderíamos contratar apenas um job pontual, a manutenção se tornaria cara e ficaríamos na dependência da disponibilidade do Desenvolvedor. Na Época não valia a pena a contratação do mesmo , pois não tínhamos tanta demanda mobile assim.

Foi ai que veio a solução , onde volto ao começo desse artigo. Xamarin! A possibilidade da utilização dos meus conhecimentos em C#.

Certo isso resolve parte do problema, mas não a necessidade de fazer um app multi plataforma e rápido.. Não ate eu conhecer Xamarin.Forms!

Xamarin.Forms é ❤ :

A ideia do Xamarin ,alem de utilizar c#, é compartilhar todo backend entre as plataformas evitando retrabalho e realizar a mesma tarefa diversas vezes.

Mas e se eu quiser compartilhar a interface tambem ? É ai que entra o Xamarin.Forms.

Você cria uma interface e ele replica para todas as plataformas e de forma nativa. Sim se você ainda tem duvidas.. XAMARIN É NATIVO!!!!!!!!

Certo, mas é magia? Não nem macumba, bruxaria e etc..

O Xamarin.Forms utiliza controles comuns de cada plataforma e os renderiza de acordo com a mesma.

Por exemplo imagine que criamos um botão em Xamarin.Forms, o que acontece ?

O botão é criado de acordo com a plataforma executada. Ou seja, você vai ter o controle de acordo com o padrão e "guideline" de cada plataforma.

Uma mesma interface é replicada obedecendo a regra de cada plataforma :

Mas como eu faço isso ? Xamarin.Forms te da duas opções . Você pode utilizar o poderoso Xaml (eXtensible Application Markup Language) ou o C# mesmo. O resultado final sera o mesmo:

Caramba! Então eu vou fazer tudo em Xamarin.Forms hoje mesmo! Calma…. ja viu algo na vida que é só Elogios?

Vou dar a minha opinião pessoal, A maioria dos meus projetos é Xamarin.Forms.

Ate hoje o que não consegui fazer com ele, resolvi com Custom Renderers.

Mas em alguns casos eu recomendo utilizar as interfaces nativas.

Quais casos? Quanto a customização visual for mais importante que o compartilhamento de código.

Interfaces muito complexas que utilizem muito apis e recursos nativos, talvez não sejam simples de fazer com Xamarin.Forms :

Ainda sim mesmo que você resolve trabalhar com a interface nativa, pode compartilhar o backend com alguma framework. MvvmCrosss, por exemplo.

Certo, mas você quer saber porque eu amo Xamarin.Forms certo ?

Então eu te digo, simplesmente pela:

· Rapidez de desenvolvimento.

· Multiplataforma com baixa custo de desenvolvimento.

· Reutilização de Código, tanto no back-end como no front-end.

· Interfaces geradas com controles nativos de cada plataforma.

· Uma performance incrível , comparado com outras soluções multiplataforma.

· Possibilidade de utilizar api’s nativas de cada plataforma.

· Curva de aprendizado, não preciso aprender outras linguagens nem outras IDE’s.

· Conteúdo de material disponível na internet , incluindo vídeos, artigos e exemplos de código.


Como dica final , mesmo utilizando o Xamarin.Forms eu recomendo estudar as diferenças e particularidades de cada plataforma.

Isto vai te ajudar e muito a compreender diversas funcionalidades, para melhorar sua habilidade de desenvolvimento multiplataforma.

E claro , se quiser aprender muitas coisas com Xamarin.Forms eu tenho diversos artigos .

Este artigo foi um pouco diferente, mas para quem esta começando e para contar um pouco da minha experiencia com Xamarin.Forms e o porque de eu utilizar tanto.

Se quiser ver mais artigos do tipo, é só deixar um comentario :D

Espero ter ajudado!

Aquele abraço!