“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#.
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:
“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:
“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:
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!