DevOps com Xamarin

O Xamarin permite criar aplicativos móveis de plataforma cruzada direcionados para Android, iOS e Windows usando C#, .NET e Visual Studio. O Xamarin permite que uma grande parte do código seja compartilhada entre plataformas, com apenas um pequeno percentual precisando ser específico da plataforma.

Desenvolver aplicativos para plataformas modernas envolve muito mais atividades do que apenas escrever código. Essas atividades, conhecidas como DevOps (desenvolvimento + operações), abrangem o ciclo de vida completo do aplicativo e incluem trabalhos de planejamento e acompanhando, elaboração e implementação de código, gerenciamento de um repositório de código-fonte, execução de builds, gerenciamento de integrações e implantações contínuas, testes (incluindo testes de unidade e testes de IU), execução de várias formas de diagnóstico em ambientes de desenvolvimento e produção e monitoramento de desempenho do aplicativo e dos comportamentos do usuário em tempo real por meio de telemetria e análise.

O Visual Studio, com o Azure DevOps Services e o Team Foundation Server, oferece uma variedade de funcionalidades de DevOps. Muitos deles são totalmente aplicáveis a projetos de plataforma cruzada. Isso vale principalmente para os aplicativos Xamarin, porque eles são criados com C# e .NET, que são usados para a criação de algumas ferramentas de DevOps. Outras ferramentas exigem uma integração forte com os ambientes de build e de runtime. Uma vez que os aplicativos Xamarin são executados em plataformas não Windows e usam a implementação Mono do .NET, o Xamarin fornece ferramentas especializadas para determinadas necessidades.

As tabelas a seguir identificam quais recursos de DevOps no Visual Studio devem funcionar bem com um projeto do Xamarin e quais têm limitações. Consulte a documentação vinculada para obter detalhes sobre os recursos em si.

Ferramentas agile

Link de referência: About Agile tools and Agile project management (Sobre as ferramentas Agile e o gerenciamento de projetos Agile)

Comentário Geral: todos os recursos de planejamento e acompanhamento são independentes do tipo de projeto e de linguagens de codificação.

Recurso Tem suporte com o Xamarin Comentários Adicionais
Gerenciar listas de pendências e sprints Sim
Acompanhamento de trabalho Sim
Colaboração da sala da equipe Sim
Quadros kanban Sim
Relatar e visualizar o progresso Sim

Modelagem

Link de referência: Analisar e modelar a arquitetura

Recursos de design são independentes da linguagem de codificação ou funcionam com linguagens .NET como C#. Consulte Funções de diagramas de arquitetura e modelagem no desenvolvimento de software para saber quais aspectos estão relacionados ao código.

Recurso Tem suporte com o Xamarin Comentários Adicionais
Diagramas de sequência Sim
Grafos de dependência Sim
Hierarquia de chamadas Sim
Designer de Classe Sim
Gerenciador de arquitetura Sim
Diagramas UML (caso de uso, atividade, classe, componente, sequência e DSL) Sim
Diagramas de camada Sim
Validação da camada Sim

Código

Recurso Tem suporte com o Xamarin Comentários Adicionais
Usar o TFVC (Controle de Versão do Team Foundation) ou o Azure Repos Sim
Introdução ao GIT no Azure Repos Sim
Melhorar a qualidade do código Sim
Localizar alterações de código e outros históricos Sim Exceto entre os limites específicos da plataforma em que a implementação não é resolvida até o tempo de execução.
Usar mapas de códigos para depurar aplicativos Sim

Build

Link de referência: Azure Pipelines

Recurso Tem suporte com o Xamarin Comentários Adicionais
Servidor TFS local Sim Computadores de build devem ter Xamarin instalado e podem ser vinculados a um computador OSX para compilar para iOS. Confira Usar TFVC
Servidor de build local vinculado ao Azure Pipelines Sim Consulte Build and release agents (Agentes de build e de versão) para obter instruções.
Serviço de controlador hospedado do Azure Pipelines Sim Consulte Compilar seu aplicativo Xamarin.
Compilar definições com pré e pós-scripts Sim
Integração contínua incluindo check-ins restritos Sim Check-ins restritos somente para TFVC, uma vez que Git funciona em um modelo de solicitação pull, em vez de check-ins.

Teste

Recurso Tem suporte com o Xamarin Comentários Adicionais
Planejando testes, criando casos de teste e organizando conjuntos de testes Sim
Teste manual Sim
Gerenciador de Teste (testes de gravação e reprodução) Sim Somente dispositivos Windows e emuladores Android do Visual Studio.
Cobertura de código n/a
Realizar teste de unidade do seu código Sim Para os destinos Android e Windows, as ferramentas internas do MSTest podem ser usadas. Para executar testes de unidade em Windows, Android e iOS, o Xamarin recomenda NUnit. Confira Usar o TFVC.
Usar a automação da interface do usuário para testar o código Somente Windows O gravador de teste da interface do usuário do Visual Studio é somente Windows. Para todas as plataformas, confira Xamarin.UITest.

Melhorar a qualidade do código

Link de referência: Melhorar a qualidade do código

Recurso Tem suporte com o Xamarin Comentários Adicionais
Analisar a qualidade do código gerenciado Sim
Localizar código duplicado usando detecção de clone de código Sim
Medir complexidade e facilidade de manutenção do código gerenciado Sim
Performance Explorer Não Use o Xamarin Profiler por meio de Visual Studio para Mac. Observe que o Xamarin Profiler está atualmente em visualização e ainda não funciona para destinos do Windows.
Analisar problemas de memória .NET Framework Não Ferramentas do Visual Studio não têm ganchos na estrutura Mono para a criação de perfil.

Gerenciamento de liberações

Link de referência: build e lançamento no Azure Pipelines e no TFS

Recurso Tem suporte com o Xamarin Comentários Adicionais
Gerenciar processos de versão Sim
Implantação para servidores para carregamento lateral por meio de scripts Sim
Carregar para a loja de aplicativos Parcial Estão disponíveis extensões que podem automatizar esse processo para algumas lojas de aplicativos. Consulte Extensões para o Azure DevOps Services; por exemplo, a extensão para Google Play.

Monitorar com o SDK do App Center

Link de referência: Monitorar com o SDK do App Center

Recurso Tem suporte com o Xamarin Comentários Adicionais
Análise de falhas, telemetria e distribuição beta Sim