Red-Point d'Alpha Outdoors : L'escalade pour tous avec .NET MAUI, Unity et Azure
Client
Alpha Outdoors: Red-Point
Produits & services
.NET MAUI
Unity
Azure Storage
Secteur
Logiciels et conseil
Taille de l’organisation
Petite (1-100 employés)
Pays/région
Australie
Au début de l'année 2023, Martin Mora, alpiniste passionné, a fondé Alpha Outdoors après avoir frôlé la chute en raison d'une mauvaise évaluation de la difficulté d'une voie d'escalade. Cet incident a mis en évidence le besoin d’une application pour rendre l’escalade plus sûre et plus accessible, ce qui déclenche l’idée initiale de son application mobile .NET MAUI Red-Point. Martin s'est associé à Matthew Robbins, un développeur .NET chevronné qui a créé des applications à succès et les très appréciées extensions MFractor pour Visual Studio. Ensemble, ils se sont lancés dans une mission visant à révolutionner l'expérience de l'escalade.
Compagnon d’escalade numérique
Avant Red-Point, les grimpeurs s'appuyaient sur des guides physiques, souvent encombrants, difficiles à interpréter et susceptibles de se dégrader dans des environnements extérieurs difficiles. Red-Point a numérisé ces informations, offrant une navigation basée sur le GPS et des visualisations d'itinéraires détaillées en 3D, accessibles hors ligne, afin de réduire le risque que les alpinistes s'engagent sur des itinéraires incorrects ou dangereux.
Collecte de données innovante avec drones
Il existe plus de 500 zones d’escalade sur Red-Point et chacune de ces zones commence par des analyses 3D pour capturer les données topographiques détaillées de chaque itinéraire d’escalade. Ces drones capturent des images haute résolution des faces rocheuses, qui sont ensuite traitées pour générer des modèles 3D détaillés. L'utilisation de drones permet de cartographier avec précision les zones d'escalade et d'offrir aux grimpeurs des informations précieuses pour planifier leurs ascensions de manière plus efficace.
Le processus d’ingestion des données red-point fonctionne
- Analyse 3D : des drones, ainsi que des appareils photo LiDAR et des iPhone analysent les sites d’escalade, en capturant des données visuelles complètes.
- Traitement de données : Les données collectées sont traitées pour créer des modèles 3D précis des zones d’escalade.
- Intégration à l’App : Les modèles 3D sont intégrés à l’application Red-Point à l’aide d’Unity et de .NET MAUI. Les grimpeurs peuvent interagir avec ces modèles pour planifier leurs ascensions, évaluer les difficultés des itinéraires et améliorer leur sécurité.
Cette approche garantit que les grimpeurs ont accès aux informations les plus précises et les plus récentes, ce qui améliore considérablement leur expérience de l'escalade.
Choix technologiques et utilisation
Initialement, l’équipe a fait des essais avec Unity pour créer une application de preuve de concept, mais a rapidement réalisé qu’elle n’était pas idéale pour l’expérience utilisateur qu’elle a envisagée. Ayant son expertise en .NET et Xamarin.Forms, Elle a proposé d’intégrer les fonctionnalités 3D d’Unity à .NET MAUI pour une apparence plus native. Cette approche hybride leur a permis de tirer parti des points forts d’Unity pour le rendu 3D tout en utilisant .NET MAUI pour une intégration transparente avec les composants d’interface utilisateur natifs et d’autres fonctionnalités.
Composants de technologie clés utilisés :
- .NET MAUI : Pour créer les fonctionnalités principales de l’application et l’interface utilisateur native.
- Unity : Pour gérer le rendu 3D pour des visualisations d’itinéraire détaillées.
- Azure : Pour l’authentification, la gestion des données et les services cloud.
L'intégration de .NET MAUI et d'Unity dans l'application Red-Point a été cruciale pour offrir une expérience utilisateur performante et transparente. .NET MAUI gère les fonctionnalités de base telles que la gestion des données et l'authentification, en tirant parti de son solide écosystème de bibliothèques et des services Azure pour les processus dorsaux. Unity excelle dans le rendu d'environnements 3D détaillés, essentiels pour visualiser les itinéraires d'escalade et les données de falaises scannées en 3D. Matthew Robbins a décrit leur configuration comme une relation client-serveur au sein de l'application, Unity communiquant via un canal de données avec des composants MAUI .NET. Cette architecture garantit un échange de données efficace et une interface utilisateur réactive, combinant le meilleur des deux frameworks pour améliorer les performances de l'application et l'expérience de l'utilisateur.
Interopérabilité entre .NET MAUI et Unity
L'intégration de .NET MAUI avec Unity a été la pierre angulaire du développement de l'application Red-Point, fournissant un mélange unique de capacités qui améliorent à la fois la performance et l'expérience de l'utilisateur. La décision de combiner .NET MAUI pour les fonctionnalités de base de l'application et Unity pour les composants 3D a été motivée par les points forts de chaque plateforme. .NET MAUI gère la gestion des données, la synchronisation, l'authentification et l'interface utilisateur, en tirant parti de son solide écosystème de bibliothèques et de son intégration transparente avec les services Azure. Cela permet un développement rapide et une gestion facile des processus principaux. Unity, par ailleurs, excelle dans le rendu des environnements 3D complexes nécessaires aux itinéraires d’escalade détaillés et à la visualisation des données de falaise analysées en 3D.
Matthew Robbins a décrit la configuration comme une relation client-serveur au sein de l'application, où l'instance Unity communique à travers un canal de données avec les composants .NET MAUI. Cette architecture facilite l'échange de données et le traitement des instructions entre les deux cadres, garantissant ainsi une expérience utilisateur fluide et réactive. L'utilisation de .NET MAUI permet à l'équipe d'utiliser des fonctionnalités avancées de .NET telles que la programmation asynchrone et le parallélisme, qui sont moins développées dans l'écosystème Unity. En outre, les nombreuses bibliothèques .NET disponibles via NuGet rationalisent considérablement le processus de développement, permettant des fonctionnalités telles que la visualisation de données en temps réel et des opérations de données complexes avec un minimum de frais généraux.
Avantages de .NET MAUI
.NET MAUI a autorisé Alpha Outdoors à optimiser les performances de Red-Point dans plusieurs domaines clés.
- Gestion efficace des ressources : L’équipe a mis l’accent sur une gestion efficace des ressources pour empêcher l’application de consommer une quantité excessive de mémoire ou de puissance de traitement. Cela implique l’optimisation du code, la réduction des processus inutiles en arrière-plan et l’assurance que les fonctionnalités de l’application sont légères et réactives.
- Programmation asynchrone : En utilisant des techniques de programmation asynchrone, l’équipe a pu améliorer la réactivité de l’application et réduire la probabilité de goulots d’étranglement au niveau des performances. Cette approche a permis à l’application de gérer plusieurs tâches simultanément sans entraîner de retards ou d’interruptions.
- Mise en cache et compression des données : Pour améliorer la vitesse d’extraction de données et réduire les temps de chargement, l’équipe a implémenté des mécanismes de mise en cache et des techniques de compression des données. Cela a vérifié que les données fréquemment consultées étaient facilement disponibles et réduit la quantité de données qui doivent être transférées sur le réseau.
- Analyse et test des performances : L’équipe a effectué des tests et une supervision des performances réguliers pour identifier et résoudre les problèmes potentiels. Cela implique l’utilisation d’outils de profilage pour analyser les performances de l’application, la réalisation de tests de stress pour simuler des charges utilisateur élevées et la collecte de commentaires des bêta-testeurs afin d’identifier les domaines à améliorer.
- Interface utilisateur optimisée : L’équipe a spécialement mis l’accent sur l’optimisation de l’interface utilisateur afin de garantir des animations fluides, des transitions rapides et un décalage d’entrée minimal. Cela implique l’utilisation de l’accélération matérielle si possible et l’optimisation du pipeline de rendu pour offrir une expérience utilisateur fluide et réactive.
Mise à l’échelle avec .NET et Azure
.NET MAUI a fourni les bases de la création d’une application réactive et hautes performances capable de gérer des tâches complexes telles que le rendu d’itinéraires en temps réel et la synchronisation des données. Sa vaste prise en charge de la bibliothèque et ses fonctionnalités d’intégration avec d’autres services Microsoft ont été largement prises en charge dans les défis techniques initiaux de l’initialisation. Azure a joué un rôle essentiel dans la gestion de la distribution de contenu, ce qui garantit que l’application reste fiable et performante, même si la base d’utilisateurs s’est rapidement développée.
Jalons de réussite :
- Croissance rapide : post-lancement, Red-Point a connu une forte progression, passant de 200 à 10 000 utilisateurs en quelques semaines, grâce à la viralité des médias sociaux.
- Adoption de l’utilisateur : L’application a rapidement gagné les rangs sur le App Store iOS, mettant en évidence sa demande sur le marché et l’efficacité de sa pile technologique.
Conclusion
En tirant parti de la suite complète de technologies .NET et de services Azure, Alpha Outdoors a non seulement généré une application sophistiquée, mais s’est également positionné pour une croissance continue et l’innovation dans la communauté d’escalade. La réussite de Red-Point souligne la puissance de l’intégration d’une technologie innovante avec une vision claire pour résoudre les problèmes du monde réel. Alpha Outdoors prévoit de s'appuyer sur .NET pour continuer à développer Red-Point et souhaite intégrer davantage de contributions de la communauté dans ses voies d'escalade.
Prêt à démarrer ?
Notre tutoriel étape par étape vous aidera à démarrer .NET MAUI sur votre ordinateur.