Xamarin: O ambiente de desenvolvimento em Windows & Mac

Este artigo tem como objetivo mostrar como criar o ambiente de desenvolvimento cross-platform, em Windows & Mac, usando Xamarin.

Introdução

O ambiente de desenvolvimento de aplicações móveis depende da tecnologia em causa e os sistemas operativos em que estão disponíveis. Desta forma, os programadores de Objective-C terão de usar um Mac para fazer o desenvolvimento das suas aplicações, os programadores de Windows Phone e Windows Store Apps irão usar um Windows e os programadores de Android poderão fazê-lo tanto num Mac como num Windows.

Usando a Xamarin Platform este cenário muda um pouco de figura, isto porque apesar de ser obrigatório ter um Mac para o desenvolvimento de iOS, é possível desenvolver aplicações iOS num Windows. De forma a clarificar como criar o ambiente para desenvolver e testar aplicações para Android, iOS e Windows ao mesmo tempo, irei apresentar os vários cenários possíveis.

Descrição

O ambiente de desenvolvimento disponível para um programador cross-platform é o maior fator de produtividade, influencia se o programador irá tirar partido desse mesmo desenvolvimento. Isto porque, se estamos a desenvolver para as várias plataformas, com o objetivo de partilhar o máximo código possível, vai haver momentos em que é necessário testar o comportamento das aplicações nas várias plataforma ao mesmo tempo.

Ambiente Windows

Consideremos um programador que tem disponível um Windows, neste cenário o programador poderá instalar o Xamarin Platform para Windows, que disponibiliza:

  • Xamarin Studio – ferramenta para o desenvolvimento (IDE) da Xamarin
    Xamarim Studio
    Figura 1: Xamarin Studio
  • Xamarin Android – Android SDK fornecido pela Xamarin

Ao abrir no Xamarin Studio uma solução que contenha o projeto para as várias plataformas iremos obter algo do género:

ENEI.SessionsApp Solution no Xamarin Studio para Windows
Figura 2: ENEI.SessionsApp solution no Xamarin Studio para Windows

Que nos permite constatar que no Xamarin Studio não existe suporte para aplicações iOS nem para Windows.

O desenvolvimento de aplicações Windows é suportado pelas ferramentas e SDKs da Microsoft, sendo necessário instalar:

O licenciamento do Xamarin Platform diz respeito à Xamarin, sendo que o licenciamento do Visual Studio já diz respeito à Microsoft e também deve ser tido em conta consoante estamos perante projetos open source/ensino ou aplicações comerciais.

Abrindo a mesma solução no Visual Studio iremos ter neste momento:

ENEI.SessionsApp solution no Visual Studio
Figura 3: ENEI.SessionsApp solution no Visual Studio

O que nos permite concluir que apenas podemos desenvolver aplicações para Windows, uma vez que os projetos para Android e iOS não são suportado. Desta forma, com base na figura 2 e figura 3 podemos constatar, que com o plano Free e Indie, temos que andar a saltar entre IDEs para fazermos o desenvolvimento de aplicações para Windows e Android.

Com o objetivo de eliminar o problema apresentado acima, a Xamarin criou uma solução que está disponível para estudantes, programadores Open Source e utilizadores do plano Business:

  • Xamarin Plugin para Visual Studio – plugin para dar suporte a projetos da Xamarin e permitir ligar ao Mac Build Host, e fazer deploy para simuladores e dispositivos
  • Xamarin iOS – iOS SDK fornecido pela Xamarin

Ao abrirmos a solução dos casos anteriores, iremos então obter:

Suporte para Xamarin iOS e Android no Visual Studio
Figura 4: Suporte para Xamarin iOS e Android no Visual Studio

E desta forma, conseguimos ter compatibilidade das várias plataformas no mesmo IDE, o que sem dúvidas aumenta a produtividade do programador e a sua visão sobre o desenvolvimento cross-platform.

Como mencionamos anteriormente, é necessário ter um Mac para fazer o build e deploy de aplicações de iOS, que é designado como Mac Build Host.

Xamarin: Sem ligação ao Host
Figura 5: Sem ligação ao Host

Ao fazer Find Mac Build Host é necessário ter a aplicação do Build Host no Mac a correr:

Xamarin: Aplicação Mac Build Host
Figura 6: Aplicação Build Host

E depois da ligação feita, usando o código fornecido, iremos ter:

Xamarin: Build Host paired
Figura 7: Build Host paired
Xamarin: Ligado a um host
Figura 8: Ligado a um host

Neste caso, poderemos utilizar por exemplo um Mac Mini, para que o custo com o um Mac seja o mais baixo possível e depois só é preciso fazer um acesso remoto para usar o simulador de iOS e fazer as ligações com o Build Host. No caso de em que o programador usa dispositivo é preciso que este esteja conectado ao Mac para que seja possível fazer o deploy da aplicação.

Xamarin: ligação Mac/iOS
Figura 9: Host

Publicado na edição 49 (PDF) da Revista PROGRAMAR.