.NET MAUI 및 Azure를 사용하여 공공 서비스 역량 강화: Civica의 성공 스토리
Civica: 여러 분야에서 디지털 변환을 추진하는 신뢰할 수 있는 파트너
Microsoft에서 오랫동안 공인한 파트너인 Citizensa는 전 세계 시민의 일상 생활에 필수적인 중요한 클라우드 기반 소프트웨어 및 서비스를 개발하는 데 중점을 둔 글로벌 GovTech 챔피언입니다. 혁신적이고 고품질의 애플리케이션을 제공하는 데 전문화된 Civica의 전문 지식은 중앙 및 지방 정부, 의료 및 관리 그리고 교육 분야에 걸쳐 제공되고 있습니다. 고도로 숙련된 .NET 개발자 팀은 그들의 이름으로 게시된 거의 30개의 앱을 만들고, 고객을 위해 더 많은 앱을 만들었습니다.
그들의 모바일 개발 여정은 2018년에 시작되어 Angular 및 Ionic에서 Xamarin.Forms로 전환하여 .NET 전문 지식을 활용하게 되었습니다. 현재, Civica의 모바일 개발 우수 센터는 Conor Breen(모바일 기술 아키텍트)와 Niall(기술 아키텍트)이 주도하며, .NET MAUI 및 Microsoft Azure에서 제공되는 확장성 있는 플랫폼 간 앱을 빌드하는 데 중점을 둡니다. "우리 팀은 벨파스트에서 5명으로 시작하여 인도 바도다르에 있는 동료들을 포함하여 전 세계로 성장했습니다."라고 Niall은 덧붙였습니다.



.NET MAUI 및 Azure를 사용하여 강력하고 재사용 가능한 솔루션 만들기
재사용 가능성을 통한 효율성
Civica 팀은 35개 이상의 NuGet 패키지로 구성된 재사용 가능한 구성 요소의 강력한 프레임워크를 구축했습니다. 이러한 패키지에는 앱 개발을 가속화하고 프로젝트 전체에서 일관성을 보장하는 도우미 클래스, 구성 요소, 보기 및 샘플 레이아웃이 포함되어 있습니다.
"자체 프레임워크 집합을 만들고 유지 관리하는 아이디어는 점점 더 많은 앱을 개발함에 따라 재사용 가능한 구성 요소를 점점 더 많이 만들 수 있다는 것이었습니다."
특히 한 가지 사항은 새 프로젝트를 시작할 때 1일차부터 Civica 팀의 생산성을 높이는 데 도움이 되었습니다. .NET 템플릿 엔진 외에도 사내 프레임워크와 함께 “가속기” 앱 템플릿을 구축했습니다. Civica는 이러한 “가속기” 템플릿 솔루션을 NuGet 패키지로 패키징하였으며, 이 패키지는 .NET CLI(명령줄 인터페이스)에 설치하는 데 쉽게 사용할 수 있으며, 하나의 명령만으로 녹색 필드 프로젝트에 대한 새 솔루션을 배포하는 데 사용할 수 있습니다. 최종 사용자가 기능 플래그를 통해 새 프로젝트에 사용할 자체 템플릿을 직접 생성하고 사용자 지정할 수 있게 되면서, 큰 시간 절약 효과를 얻을 수 있었습니다.
"이 접근 방식은 구조와 기능을 다양한 앱으로 매우 빠르게 구현하는 측면에서 많은 시간을 절약할 수 있었습니다."
.NET MAUI로의 전환
.NET MAUI로의 마이그레이션은 Civica에게 자연스러운 진화였습니다. 초기 학습 굴곡에도 불구하고 팀은 신속하게 적응하여 .NET 에코시스템과의 향상된 프로젝트 구조 및 일관성을 활용했습니다.
"마이그레이션 프로세스는 처음에는 어려워 보였지만, 팀의 경험이 쌓이면서 점점 쉬워졌습니다. ‘앱 작성기’ 시작 접근 방식과 같은 .NET의 나머지 부분과의 일관성을 갖추는 것은 유의한 추가적 장점이었습니다."
주목할 만한 앱 예제
- Civica Spydus: 전 세계 공용 라이브러리용 도우미 앱으로 책 검색, 체크아웃 및 갱신을 지원합니다. .NET 8 API 및 Azure Cognitive Services에서 지원됩니다.
- Civica Learning: 오프라인 사용 및 동기화 기능을 위해 .NET MAUI 및 Azure 구성 요소로 구축된 SCORM/xAPI 표준을 지원하는 eLearning 앱입니다.
- Civica MyDay: 마이크로서비스에 Azure Functions를 사용하고 인증을 위해 Azure B2C를 사용하는 의료 예약 및 명단 앱입니다.
- Civica Cx: 보안 액세스를 위해 Azure B2C 및 MFA를 활용하여 Xamarin.Forms에서 .NET MAUI로 마이그레이션된 소셜 주택 관리 앱입니다.
.NET MAUI의 이점
.NET MAUI는 Civica에 개발을 간소화하고 결과를 개선하는 수많은 이점을 제공했습니다.
- 단일 프로젝트 구조: 자산 공유 및 코드 조직을 간소화하여 코드베이스를 정리되고 관리하기 쉽게 유지합니다.
- 재사용성 및 생산성: 모바일, 데스크톱 및 웹 플랫폼에서 구성 요소의 재사용을 확장하여 개발 시간을 크게 단축합니다.
- 네이티브 기능에 대한 액세스: 기본 플랫폼 기능에 쉽게 액세스하여 플랫폼별 최적화를 통해 사용자 환경을 향상합니다.
- 코드 품질 및 테스트: 기본 제공 DI(종속성 주입) 및 유닛 테스트에 대한 지원을 통해 Civica는 정리된 아키텍처와 엄격한 품질 표준을 유지 관리할 수 있습니다.
- 커뮤니티 및 오픈 소스: 활성 .NET MAUI 오픈 소스 커뮤니티에 참여함으로써 Civica는 지속적인 개선에 기여하고 혜택을 얻을 수 있습니다.
.NET MAUI 및 Azure를 사용하여 혁신과 영향 추진
Civica는 더 빠른 앱 개발, 향상된 코드 품질, 팀과 워크로드의 향상된 재사용 가능성을 포함하여 .NET MAUI의 몇 가지 주목할 만한 이점을 실현했습니다. Conor Breen은 네이티브 및 웹 기반 기술을 혼합하여 모든 플랫폼에서 최적의 성능을 보장하는 유연성을 칭찬하며 "네이티브 및 웹 기반 기술을 혼합할 수 있는 유연성을 통해 각 플랫폼에 가장 적합한 접근 방법을 선택하고 최적의 성능을 보장할 수 있었습니다."라고 했습니다.
알림 허브, Key Vault 및 Application Insights와 같은 Azure 서비스의 채택은 앱을 더욱 강화하여 강력한 보안, 원활한 인증 및 실시간 인사이트를 제공합니다. Niall Cunningham은 "푸시 알림을 위해 Azure 알림 허브를 사용하고, 암호화를 위해 Azure Key Vault를 사용하며, 앱의 기능과 보안을 향상시키기 위해 다양한 Azure 서비스를 활용했습니다."라고 말했습니다.
.NET MAUI 및 Azure를 통해, Civica는 모바일, 웹 및 데스크톱 애플리케이션 전반에 걸쳐 일관성을 보장하고 모든 프로젝트에서 효율성과 탁월성을 발휘하는 통합 개발 환경을 구축하고 있습니다.
"동일한 도구와 인프라를 사용하여 웹 및 데스크톱 애플리케이션과 동일한 표준으로 모바일 솔루션을 구축할 수 있다는 것은 개발 환경과 소비자 환경 모두에서 일관성을 유지하는 훌륭한 방법이었습니다."
앞으로 Civica는 차세대 지능형 애플리케이션을 추진하기 위해 Azure 호스트형 서비스 및 .NET 기술과의 통합을 탐색하게 되어 기쁩니다.
시작할 준비가 되셨나요?
단계별 자습서는 컴퓨터에서 .NET MAUI을(를) 실행하는 데 도움이 될 것입니다.