Red-Point da Alpha Outdoors: escalada em rocha para as massas com .NET MAUI, Unity e Azure
Cliente
Alpha Outdoors: Red-Point
Produtos e serviços
.NET MAUI
Unity
Azure Storage
Setor
Software e Consultoria
Tamanho da Organização
Pequena (1-100 funcionários)
País/região
Austrália
No início de 2023, o dedicado montanhista Martin Mora fundou a Alpha Outdoors após quase sofrer uma terrível queda por avaliar erroneamente a dificuldade de uma rota de escalada. Este incidente evidenciou a necessidade de existir um aplicativo para tornar a escalada mais segura e mais acessível, o que motivou a ideia inicial do aplicativo móvel Red-Pointdo .NET MAUI . Martin fez uma parceria com Matthew Robbins, um desenvolvedor experiente do .NET com experiência na criação de aplicativos bem-sucedidos e as muito adoradas extensões MFractor para Visual Studio. Juntos, eles embarcaram em uma missão para revolucionar a experiência de escalada.
Um complemento de escalada digital
Antes do Red-Point, os montanhistas contavam com guias físicos, que muitas vezes eram complicados, difíceis de interpretar e propensos à degradação em ambientes externos e adversos. A Red-Point digitalizou essas informações, oferecendo navegação baseada em GPS e visualizações de rota 3D detalhadas que podem ser acessadas offline para reduzir o risco dos montanhistas entrarem em rotas incorretas ou perigosas.
Coleta de dados inovadora com drones
Há mais de 500 áreas de escalada no Red-Point e cada uma dessas áreas começa com digitalizações 3D para capturar dados topográficos detalhados de cada rota de escalada. Esses drones capturam imagens de alta resolução das faces das rochas, que são processadas para gerar modelos 3D detalhados. O uso de drones permite o mapeamento preciso de áreas de escalada e oferece aos montanhistas insights valiosos para planejar suas escaladas com mais eficiência.
Funcionamento do processo de ingestão de dados do Red-Point
- Digitalização 3D: drones, juntamente com câmeras LiDAR e iPhones, digitalizam os sites de escalada, capturando dados visuais abrangentes.
- Processamento de dados: os dados coletados são processados para criar modelos 3D precisos das áreas de escalada.
- Integração com o aplicativo: os modelos 3D são integrados ao aplicativo Red-Point usando o Unity e o .NET MAUI. Os montanhistas podem interagir com esses modelos para planejar suas escaladas, avaliar as dificuldades de rota e melhorar sua segurança.
Esta abordagem garante que os remetentes tenham acesso às informações mais precisas e atuais, melhorando significativamente a experiência de escalada.
Opções de tecnologia e uso
Inicialmente, a equipe experimentou usar o Unity para criar um aplicativo de prova de conceito, mas percebeu rapidamente que ele não era ideal para a sua visão de experiência do usuário. Robbins, com sua experiência em .NET e Xamarin.Forms, propôs a integração das funcionalidades 3D do Unity com o .NET MAUI para uma aparência mais nativa. Esta abordagem híbrida permitiu que eles aproveitassem os pontos fortes do Unity para renderização 3D, utilizando o .NET MAUI para uma integração perfeita com componentes nativos da interface do usuário e outras funcionalidades.
Principais componentes de tecnologia usados:
- .NET MAUI: para criar as principais funcionalidades do aplicativo e a interface do usuário nativa.
- Unity: Para manipular a renderização 3D para visualizações de rota detalhadas.
- Azure: para autenticação, gerenciamento de dados e serviços de nuvem.
A integração do .NET MAUI Unity no aplicativo Red-Point foi crucial para fornecer uma experiência de usuário perfeita e de alto desempenho. O .NET MAUI lida com as principais funcionalidades, como gerenciamento de dados e autenticação, aproveitando o seu robusto ecossistema de biblioteca e os serviços do Azure para processos de back-end. O Unity se destaca na renderização de ambientes 3D detalhados, essenciais para visualizar rotas de rochas e dados de escala digitalizados em 3D. Matthew Robbins descreveu sua configuração como uma relação cliente-servidor dentro do aplicativo, com o Unity se comunicando por meio de um canal de dados com componentes do .NET MAUI. Essa arquitetura garante uma troca de dados eficiente e uma interface do usuário responsiva, combinando o melhor das duas estruturas para aprimorar o desempenho do aplicativo e a experiência do usuário.
Interoperabilidade entre o .NET MAUI e o Unity
A integração do .NET MAUI com o Unity tem sido fundamental no desenvolvimento do aplicativo Red-Point, fornecendo uma combinação exclusiva de recursos que aprimoram o desempenho e a experiência do usuário. A decisão de combinar o .NET MAUI para as principais funcionalidades do aplicativo com o Unity para seus componentes 3D foi orientada pelos pontos fortes de cada plataforma. O .NET MAUI lida com gerenciamento de dados, sincronização, autenticação e experiência do usuário, aproveitando seu robusto ecossistema de biblioteca e integração perfeita com os serviços do Azure. Isso permite o desenvolvimento rápido e o gerenciamento fácil de processos de back-end. O Unity, por outro lado, se destaca na renderização dos ambientes 3D complexos necessários para as rotas detalhadas de escalada de rocha e a visualização de dados de escala digitalizada em 3D.
Matthew Robbins descreveu a configuração como uma relação cliente-servidor dentro do aplicativo, em que a instância do Unity se comunica em um canal de dados com os componentes do .NET MAUI. Esta arquitetura facilita a troca eficiente de dados e o processamento de instruções entre as duas estruturas, garantindo uma experiência do usuário suave e responsiva. O uso do .NET MAUI permite que a equipe utilize recursos avançados do .NET, como programação assíncrona e paralelismo, que são menos maduros no ecossistema do Unity. Além disso, as extensas bibliotecas do .NET disponíveis por meio do NuGet simplificam significativamente o processo de desenvolvimento, permitindo funcionalidades como visualização de dados em tempo real e operações de dados complexas com sobrecarga mínima.
Benefícios do .NET MAUI
O .NET MAUI permitiu à Alpha Outdoors otimizar o desempenho do Red-Point em várias áreas importantes.
- Gerenciamento de recursos eficiente: a equipe se concentrou no gerenciamento eficiente de recursos para impedir que o aplicativo consuma memória excessiva ou capacidade de processamento. Isso envolveu a otimização do código, a redução de processos em segundo plano desnecessários e a garantia de que os recursos do aplicativo fossem leves e responsivos.
- Programação assíncrona: utilizando técnicas de programação assíncrona, a equipe conseguiu melhorar a capacidade de resposta do aplicativo e reduzir a probabilidade de gargalos de desempenho. Esta abordagem permitiu que o aplicativo manipulava várias tarefas simultaneamente sem causar atrasos ou interrupções.
- Armazenamento em cache e compactação de dados: para aprimorar as velocidades de recuperação de dados e reduzir os tempos de carregamento, a equipe implementou mecanismos de armazenamento em cache e técnicas de compactação de dados. Isso garantiu que os dados acessados com frequência permanecessem prontamente disponíveis e minimizou a quantidade de dados que precisavam ser transferidos pela rede.
- Performance de monitoramento e teste: a equipe realizou monitoramento de desempenho e testes regularmente para identificar e resolver possíveis problemas. Isso envolve o uso de ferramentas de criação de perfil para analisar o desempenho do aplicativo, realizar testes de estresse para simular cargas altas de usuários e coletar comentários de testadores beta para identificar áreas passíveis de melhoria.
- Interface do usuário otimizada: a equipe prestou atenção especial à otimização da interface do usuário para garantir animações suaves, transições rápidas e retardo mínimo de entrada. Isso envolve o uso da aceleração de hardware sempre que possível e a otimização do pipeline de renderização para fornecer uma experiência do usuário fluida e responsiva.
Escala com o .NET e o Azure
O .NET MAUI forneceu a base para criar um aplicativo responsivo e de alto desempenho capaz de lidar com tarefas complexas, como renderização de rota em tempo real e sincronização de dados. Seus amplos recursos de integração e suporte à biblioteca com outras serviços Microsoft foram fundamentais para superar os desafios técnicos iniciais. O Azure desempenhou um papel crucial no gerenciamento da distribuição de conteúdo, garantindo que o aplicativo permanecesse confiável e com bom desempenho, mesmo à medida que a base de usuários se expandia rapidamente.
Marcos de sucesso:
- Rápido crescimento: pós-lançamento, o Red-Point ganhou força significativa, aumentando de 200 para 10.000 usuários em questão de semanas, impulsionado por viralizar nas redes sociais.
- Adoção do usuário: o aplicativo rapidamente subiu nas classificações na App Store do iOS, realçando sua demanda de mercado e a eficácia de sua pilha de tecnologia.
Conclusão
Aproveitando o pacote abrangente de tecnologias .NET e serviços do Azure, a Alpha Outdoors não apenas criou um aplicativo sofisticado, mas também se posicionou para crescimento contínuo e inovação na comunidade de escalada em rocha. O sucesso do Red-Point evidencia o poder de integrar tecnologia inovadora com uma visão clara para resolver problemas do mundo real. A Alpha Outdoors planeja aproveitar o .NET à medida que ela aprofunda o desenvolvimento do Red-Point e deseja incorporar mais contribuições da comunidade em suas rotas de escalada.
Pronto para começar?
Nosso tutorial passo-a-passo irá ajudá-lo a usar o .NET MAUI em seu computador.