O que é Xamarin?

Xamarin é uma plataforma open source da Microsoft para a criação de aplicativos mobiles 100% nativos, onde tudo é desenvolvido acessando as APIs nativas de cada uma das plataformas, como iOS e Android, por exemplo.

Xamarin.Forms - Primeiros passos
Curso de Xamarin.Forms - Primeiros passos
CONHEÇA O CURSO

Se você deseja escrever apenas um código para diversas plataformas o Xamarin é uma ótima opção, pois ele tem justamente o intuito de compartilhar a mesma base de código para a criação de apps em várias plataformas. Assim, você consegue ter o aspecto multiplataforma e a performance e eficiência das aplicações nativas. Aqui no blog já falamos sobre as diferenças entre aplicativo nativo ou híbrido.

Os aplicativos gerados com a plataforma são nativos pois contém controle de interface dos usuários padrões, além de ter o mesmo desempenho dos aplicativos nativos já que o Xamarin aproveita a aceleração de hardware específica de cada um deles. O Xamarin fornece a interoperabilidade, onde é possível invocar diretamente o Objective C, Java, C e C++. Assim é possível reutilizar libs escritas para iOS e Android.

O Xamarin tem como IDE padrão o Visual Studio, que apresenta todos os recursos necessários para o desenvolvimento com o Xamarin, incluindo um recurso para o desenvolvimento de apps iOS: o Pair to Mac. Ele conecta o Visual Studio a um host de build do Mac, facilitando o desenvolvimento para essa plataforma.

Arquitetura Geral

Na imagem abaixo, retirada do próprio site da Microsoft, podemos ver a arquitetura geral de um aplicativo Xamarin.

Para compilar os apps de forma nativa no Android é utilizado o Xamarin.Android. Os apps rodam num ambiente de execução mono, este que manipula automaticamente tarefas como alocação de memória e interoperabilidade com plataformas subjacentes, e passa por uma compilação JIT (Just-In-Time).

Para aplicativos iOS é utilizado o Xamarin.iOS onde as apps também são executadas no ambiente de execução mono e usam a compilação ahead-of-time (AOT C#) para compilar o código para a linguagem assembly.

O Xamarin estende da plataforma .NET e traz para ela acesso a recursos nativos, como a XAML para a criação dinâmica de aplicações mobile usando o C#. Ainda é possível utilizar features do C# no desenvolvimento destes aplicativos, além de bibliotecas para trabalhar com padrões, como o MVVM e libs específicas para trabalhar com outras plataformas que incluem a acessos a APIs do Google, Apple e Facebook.

C# (C Sharp) Básico
Curso de C# (C Sharp) Básico
CONHEÇA O CURSO

Um framework bem importante para o desenvolvimento com o Xamarin é o Xamarin.forms. O desenvolvimento de apps na plataforma Xamarin é feito utilizando Xamarin.Forms, Xamarin.iOS ou Xamarin.Android. O Xamarin.forms é um cross-platform UI library, ou seja, uma abstração para a criação de elementos comuns em todas as plataformas, como elementos de design, navegação, animações, etc. Permite que os desenvolvedores criem interfaces do usuário em XAML com code-behind em C#. Essas interfaces do usuário são renderizadas como controles nativos de alto desempenho em cada plataforma.

Considerações finais

Com o Xamarin você tem grande reaproveitamento de sua base de código quando está desenvolvendo com o foco em mais de uma plataforma. O Xamarin é indicado para todos os desenvolvedores, principalmente os que querem escrever apps multiplataforma em C# e compartilhar códigos, testes e lógica de negócios entre plataformas.

Deixe seu comentário

Responsável pelo sucesso do cliente na TreinaWeb. Graduada em Gestão de Tecnologia da Informação pela FATEC Guaratinguetá, além de estudante de Marketing Digital e Mídias Sociais.