Utilizando Xamarin para desenvolvimento de aplicações corporativas.

Utilizando Xamarin para desenvolvimento de aplicações corporativas.

Breve histórico

Quando se fala em desenvolvimento mobile várias alternativas surgem além das tradicionais abordagens nativas. Um dos nomes que têm mais destaque é o Xamarin.

O Xamarin é uma abordagem que utiliza código C# para gerar aplicações Android e iOS., utilizando o compilador Mono para Android e o Mono para iOS. Ao utilizar uma só linguagem para os dois ambientes a promessa é ter uma alta taxa de reaproveitamento de código para aplicativos.

A Promessa

Ao utilizar o C# como linguagem de programação, em detrimento do Java, Objetive-C ou Swift, o Xamarin propõe códigos mais limpos, com a facilidade do .NET, podendo utilizar a IDE do Visual Studio.

Lógica compartilhada entre ambientes

Lógica compartilhada entre ambientes

O aproveitamento de código prometido é alto: 75% para aplicações Xamarin.Droid e Xamarin.iOS e cerca de 100% para a abordagem Xamarin.Forms.

Características das aplicações corporativas

O objetivo deste artigo é analisar a aplicabilidade do Xamarin no desenvolvimento de aplicações corporativas. Para isso é necessário destacar quais são as características deste tipo de desenvolvimento.

Requisitos mutantes: hoje em dia desenvolvimento ágil já é senso comum. Isso acaba por criar requisitos que podem variar ao longo do período de desenvolvimento. Ao unificar lógicas de negócio, o Xamarin diminui drasticamente o retrabalho gerado pela mudança de requisitos. A exceção para esse fato é quando o requisito requer acesso a recursos que são específicos das plataformas, como, por exemplo, acesso à câmera do aparelho.

Prazos curtos: ao compartilhar o código, o tempo de desenvolvimento de um requisito é reduzido de forma geral, já que mesmo a interface gráfica pode ser reaproveitada (no Forms).

Aproveitar o pré-conhecimento da equipe: é comum empresas terem muitos desenvolvedores com um grande conhecimento do .NET. Ao utilizar o Xamarin, o potencial destes profissionais é aproveitado, tendo uma curva de aprendizado bem menor do que por exemplo, aprender Objetive-C.

O site StackOverflow faz anualmente uma pesquisa com seus usuários. Apesar de provavelmente não representar o mercado brasileiro com fidelidade, podemos ter uma ideia clara da popularidade das linguagens entre profissionais.

Características das aplicações corporativas

Popularidade das linguagens segundo o StackOverflow (2017)

Nota-se aqui a grande discrepância entre as linguagens utilizadas para desenvolvimento iOS (Swift e Objetive-C) e o C#.

Para o desenvolvimento nativo Android, neste caso o Xamarin não apresenta grande vantagem, uma vez que o Java também é uma linguagem popular.

Nem tudo são flores…

No papel o Xamarin se apresenta como uma ferramenta mágica que vai acabar de vez com o problema do desenvolvimento mobile. Mas será que é assim mesmo na realidade?

O Xamarin tenta estar sempre atualizado com os lançamentos das plataformas especificas e isso é algo muito positivo, porém esses releases rápidos tem uma consequência severa: bugs na plataforma.

Desenvolvedor ao descobrir que o bug é do Xamarin

Desenvolvedor ao descobrir que o bug é do Xamarin

O Xamarin Forms foi feito inicialmente para prototipagem, ao ver o sucesso da plataforma a empresa resolveu mudar o foco da tecnologia, transformando ele num produto para a produção. Mas a verdade é que ele ainda mantem instabilidades.

A boa notícia é que a comunidade está crescendo e isso pressiona a Microsoft priorizar a correção das falhas que ainda existem.

Como sempre: não existe receita de bolo. A utilização do Xamarin em um projeto deve ser estudada, para colocar na balança suas características. Mas de forma geral é uma tecnologia promissora, que se apresenta como uma alternativa válida para o desenvolvimento de aplicações mobile.

Deixe um comentário