알파 아웃도어의 레드 포인트: .NET MAUI, Unity 및 Azure를 사용하여 대중을 위한 암석 등산
제품 및 서비스
.NET MAUI
Unity
Azure Storage
업계
소프트웨어 및 컨설팅업
조직 규모
소규모(직원 1~100명)
국가/지역
오스트레일리아
2023년 초, 열성적인 암벽 등반가인 Martin Mora는 Alpha Outdoors 등산 경로의 난이도를 잘못 판단하여 거의 떨어질 뻔 했기 때문입니다. 이 인시던트에서는 앱이 더 안전하고 접근성을 높일 필요성을 강조하여 .NET MAUI 모바일 애플리케이션 Red-Point에 대한 초기 아이디어를 만들었습니다. Martin은 성공적인 앱을 만드는 데 대한 배경 지식과 Visual Studio를 위해 많은 것을 좋아하는 MFractor 확장을 갖춘 노련한 .NET 개발자인 Andrew Andrewins와 협력했습니다. 두 사람은 함께 등산 환경을 혁신하는 임무를 시작했습니다.
디지털 등산 도우미
레드 포인트 이전에는 등산자는 종종 번거롭고 해석하기 어려우며 거친 실외 환경에서 저하되기 쉬운 물리적 가이드북에 의존했습니다. Red-Point는 이 정보를 디지털화하여 GPS 기반 탐색 및 오프라인으로 액세스할 수 있는 자세한 3D 경로 시각화를 제공하여 등산자가 올바르지 않거나 위험한 경로를 이용하는 위험을 줄입니다.
드론을 사용한 혁신적인 데이터 수집
Red-Point에는 500개가 넘는 등산 영역이 있으며 각 영역은 3D 검색으로 시작하여 각 등산 경로의 자세한 토폴로지 데이터를 캡처합니다. 이러한 드론은 암석 얼굴의 고해상도 이미지를 캡처한 다음, 자세한 3D 모델을 생성하기 위해 처리됩니다. 드론을 사용하면 등산 영역을 정확하게 매핑하고 등산자에게 보다 효과적으로 등산을 계획할 수 있는 귀중한 인사이트를 제공할 수 있습니다.
Red-Point 데이터 수집 프로세스가 작동합니다.
- 3D 스캔: LiDAR 카메라 및 iPhone과 함께 드론은 등산 사이트를 스캔하여 포괄적인 시각적 데이터를 캡처합니다.
- 데이터 처리: 수집된 데이터는 등산 영역의 정확한 3D 모델을 만들기 위해 처리됩니다.
- App과 통합: 3D 모델은 Unity 및 .NET MAUI 사용하여 Red-Point 앱에 통합됩니다. 등산자는 이러한 모델과 상호 작용하여 등산을 계획하고, 경로의 어려움을 평가하고, 안전을 향상시킬 수 있습니다.
이 접근 방식을 사용하면 등산자가 가장 정확하고 최신 정보에 액세스할 수 있으므로 등산 환경이 크게 향상됩니다.
기술 선택 및 사용
처음에 팀은 개념 증명 앱을 만들기 위해 Unity를 실험했지만, 이 앱이 구상한 사용자 환경에 적합하지 않다는 것을 빠르게 실현했습니다. .NET 및 Xamarin.Forms에 대한 전문 지식을 갖춘 Robbbins는 Unity의 3D 기능을 더 기본적인 느낌을 위해 .NET MAUI 통합할 것을 제안했습니다. 이 하이브리드 접근 방식을 통해 3D 렌더링에 Unity의 장점을 활용하는 동시에 네이티브 UI 구성 요소 및 기타 기능과의 원활한 통합을 위해 .NET MAUI 활용할 수 있습니다.
사용되는 주요 기술 구성 요소:
- .NET MAUI: 앱’의 핵심 기능 및 네이티브 사용자 인터페이스를 빌드합니다.
- Unity: 자세한 경로 시각화에 대한 3D 렌더링을 처리합니다.
- Azure: 인증, 데이터 관리 및 클라우드 서비스용입니다.
Red-Point 앱에서 .NET MAUI 및 Unity의 통합은 고성능의 원활한 사용자 환경을 제공하는 데 매우 중요했습니다. .NET MAUI 강력한 라이브러리 에코시스템과 백 엔드 프로세스를 위한 Azure 서비스를 활용하여 데이터 관리 및 인증과 같은 핵심 기능을 처리합니다. Unity는 암석 등산 경로 및 3D 스캔된 클리핑 데이터를 시각화하는 데 필수적인 세부적인 3D 환경을 렌더링하는 데 탁월합니다. Andrew Plugins는 앱 내에서 클라이언트-서버 관계로 설정을 설명했습니다. Unity는 .NET MAUI 구성 요소와 데이터 채널을 통해 통신합니다. 이 아키텍처는 효율적인 데이터 교환과 응답성이 뛰어난 사용자 인터페이스를 보장하며, 두 프레임워크의 최고를 결합하여 앱 성능과 사용자 환경을 향상시킵니다.
.NET MAUI Unity 간의 상호 운용성
Unity와 .NET MAUI 통합은 Red-Point 앱 개발의 초석이 되었으며, 성능과 사용자 환경을 모두 향상시키는 고유한 기능 혼합을 제공합니다. 앱의 핵심 기능에 대한 .NET MAUI 3D 구성 요소에 대한 Unity와 결합하기로 한 결정은 각 플랫폼의 장점에 따라 결정되었습니다. .NET MAUI 강력한 라이브러리 에코시스템과 Azure 서비스와의 원활한 통합을 활용하여 데이터 관리, 동기화, 인증 및 UX를 처리합니다. 이를 통해 백 엔드 프로세스를 빠르게 개발 및 쉽게 관리할 수 있습니다. 반면 Unity는 세부 암석 등산 경로 및 3D 스캔된 클리핑 데이터 시각화에 필요한 복잡한 3D 환경을 렌더링하는 데 탁월합니다.
이 설정을 앱 내에서 클라이언트-서버 관계로 설명했습니다. 여기서 Unity 인스턴스는 데이터 채널을 통해 .NET MAUI 구성 요소와 통신합니다. 이 아키텍처는 두 프레임워크 간의 효율적인 데이터 교환 및 명령 처리를 용이하게 하여 원활하고 응답성이 뛰어난 사용자 환경을 보장합니다. .NET MAUI 사용하면 팀이 Unity 에코시스템에서 완성도가 낮은 비동기 프로그래밍 및 병렬 처리와 같은 고급 .NET 기능을 활용할 수 있습니다. 또한 NuGet을 통해 사용할 수 있는 광범위한 .NET 라이브러리는 개발 프로세스를 크게 간소화하여 최소한의 오버헤드로 실시간 데이터 시각화 및 복잡한 데이터 작업과 같은 기능을 지원합니다.
.NET MAUI의 이점
.NET MAUI 알파 아웃도어는 여러 주요 영역에서 Red-Point의 성능을 최적화할 수 있습니다.
- 효율적인 리소스 관리: 팀은 앱이 과도한 메모리를 소비하거나 전원을 처리하는 것을 방지하기 위해 효율적인 리소스 관리에 집중했습니다. 여기에는 코드를 최적화하고, 불필요한 백그라운드 프로세스를 줄이고, 앱의 기능이 쉽고 응답성이 뛰어난지 확인하는 것이 포함되었습니다.
- 비동기 프로그래밍: 비동기 프로그래밍 기술을 활용하여 팀은 앱의 응답성을 개선하고 성능 병목 현상의 가능성을 줄일 수 있었습니다. 이 접근 방식을 통해 앱은 지연 또는 중단을 일으키지 않고 여러 작업을 동시에 처리할 수 있습니다.
- 캐싱 및 데이터 압축: 데이터 검색 속도를 향상시키고 로드 시간을 줄이기 위해 팀은 캐싱 메커니즘 및 데이터 압축 기술을 구현했습니다. 이렇게 하면 자주 액세스하는 데이터를 쉽게 사용할 수 있고 네트워크를 통해 전송해야 하는 데이터의 양을 최소화할 수 있었습니다.
- 성능 모니터링 및 테스트: 팀은 잠재적인 문제를 식별하고 해결하기 위해 정기적인 성능 모니터링 및 테스트를 수행했습니다. 여기에는 프로파일링 도구를 사용하여 앱의 성능을 분석하고, 스트레스 테스트를 수행하여 높은 사용자 부하를 시뮬레이션하고, 베타 테스터로부터 피드백을 수집하여 개선 영역을 식별하는 과정이 포함되었습니다.
- 최적화된 사용자 인터페이스: 팀은 원활한 애니메이션, 빠른 전환 및 최소한의 입력 지연을 보장하기 위해 사용자 인터페이스를 최적화하는 데 특별히 주의를 기울입니다. 여기에는 가능한 경우 하드웨어 가속을 사용하고 렌더링 파이프라인을 최적화하여 유연하고 응답성이 뛰어난 사용자 환경을 제공하는 것이 포함됩니다.
.NET 및 Azure를 사용하여 크기 조정
.NET MAUI 실시간 경로 렌더링 및 데이터 동기화와 같은 복잡한 작업을 처리할 수 있는 응답성이 뛰어난 고성능 앱을 만들기 위한 기반을 제공했습니다. 광범위한 라이브러리 지원 및 다른 Microsoft 서비스 통합 기능은 초기 기술 과제를 극복하는 데 큰 도움이 되었습니다. Azure는 사용자 기반이 빠르게 확장되더라도 앱이 안정적이고 성능이 유지되도록 콘텐츠 배달을 관리하는 데 중요한 역할을 했습니다.
성공 마일스톤:
- 급격한 성장: 출시 후 Red-Point는 소셜 미디어 바이럴리티에 따라 몇 주 만에 200명에서 10,000명의 사용자로 증가하여 상당한 관심을 얻었습니다.
- 사용자 채택: 앱은 iOS App Store에서 빠르게 순위를 상승하여 시장 수요와 기술 스택의 효율성을 강조합니다.
결론
Alpha Outdoors는 포괄적인 .NET 기술 및 Azure 서비스 제품군을 활용하여 정교한 앱을 빌드했을 뿐만 아니라 암석 상승 커뮤니티에서 지속적인 성장 및 혁신을 위해 자리를 마련했습니다. Red-Point의 성공은 혁신적인 기술을 명확한 비전과 통합하여 실제 문제를 해결하는 능력을 강조합니다. Alpha Outdoors는 더 많은 커뮤니티 기여를 등산 경로에 통합하기 위해 더 많은 레드 포인트 지점을 빌드할 때 .NET을 활용할 계획입니다.
시작할 준비가 되셨나요?
단계별 자습서는 컴퓨터에서 .NET MAUI을(를) 실행하는 데 도움이 될 것입니다.