.NET MAUI 및 Azure를 사용하여 공공 서비스 역량 강화: Civica의 성공 스토리

Civica 로고

고객
Civica

제품 및 서비스
.NET MAUI
Azure

업계
공공 부문

조직 규모
대규모(직원 1,000명~9,999명)

국가/지역
영국

Civica: 여러 분야에서 디지털 변환을 추진하는 신뢰할 수 있는 파트너

Microsoft에서 오랫동안 공인한 파트너인 Citizensa는 전 세계 시민의 일상 생활에 필수적인 중요한 클라우드 기반 소프트웨어 및 서비스를 개발하는 데 중점을 둔 글로벌 GovTech 챔피언입니다. 혁신적이고 고품질의 애플리케이션을 제공하는 데 전문화된 Civica의 전문 지식은 중앙 및 지방 정부, 의료 및 관리 그리고 교육 분야에 걸쳐 제공되고 있습니다. 고도로 숙련된 .NET 개발자 팀은 그들의 이름으로 게시된 거의 30개의 앱을 만들고, 고객을 위해 더 많은 앱을 만들었습니다.

그들의 모바일 개발 여정은 2018년에 시작되어 Angular 및 Ionic에서 Xamarin.Forms로 전환하여 .NET 전문 지식을 활용하게 되었습니다. 현재, Civica의 모바일 개발 우수 센터는 Conor Breen(모바일 기술 아키텍트)와 Niall(기술 아키텍트)이 주도하며, .NET MAUI 및 Microsoft Azure에서 제공되는 확장성 있는 플랫폼 간 앱을 빌드하는 데 중점을 둡니다. "우리 팀은 벨파스트에서 5명으로 시작하여 인도 바도다르에 있는 동료들을 포함하여 전 세계로 성장했습니다."라고 Niall은 덧붙였습니다.

Civica Learning 스크린샷
교대 근무 개요 일정 페이지를 보여 주는 Civica MyDay 스크린샷
서명 페이지를 보여 주는 Civica Cx 스크린샷

.NET MAUI 및 Azure를 사용하여 강력하고 재사용 가능한 솔루션 만들기

재사용 가능성을 통한 효율성

Civica 팀은 35개 이상의 NuGet 패키지로 구성된 재사용 가능한 구성 요소의 강력한 프레임워크를 구축했습니다. 이러한 패키지에는 앱 개발을 가속화하고 프로젝트 전체에서 일관성을 보장하는 도우미 클래스, 구성 요소, 보기 및 샘플 레이아웃이 포함되어 있습니다.

"자체 프레임워크 집합을 만들고 유지 관리하는 아이디어는 점점 더 많은 앱을 개발함에 따라 재사용 가능한 구성 요소를 점점 더 많이 만들 수 있다는 것이었습니다."

Niall Cunningham, 기술 설계자 Civica

특히 한 가지 사항은 새 프로젝트를 시작할 때 1일차부터 Civica 팀의 생산성을 높이는 데 도움이 되었습니다. .NET 템플릿 엔진 외에도 사내 프레임워크와 함께 “가속기” 앱 템플릿을 구축했습니다. Civica는 이러한 “가속기” 템플릿 솔루션을 NuGet 패키지로 패키징하였으며, 이 패키지는 .NET CLI(명령줄 인터페이스)에 설치하는 데 쉽게 사용할 수 있으며, 하나의 명령만으로 녹색 필드 프로젝트에 대한 새 솔루션을 배포하는 데 사용할 수 있습니다. 최종 사용자가 기능 플래그를 통해 새 프로젝트에 사용할 자체 템플릿을 직접 생성하고 사용자 지정할 수 있게 되면서, 큰 시간 절약 효과를 얻을 수 있었습니다.

"이 접근 방식은 구조와 기능을 다양한 앱으로 매우 빠르게 구현하는 측면에서 많은 시간을 절약할 수 있었습니다."

Conor Breen, 기술 설계자(모바일) Civica

.NET MAUI로의 전환

.NET MAUI로의 마이그레이션은 Civica에게 자연스러운 진화였습니다. 초기 학습 굴곡에도 불구하고 팀은 신속하게 적응하여 .NET 에코시스템과의 향상된 프로젝트 구조 및 일관성을 활용했습니다.

"마이그레이션 프로세스는 처음에는 어려워 보였지만, 팀의 경험이 쌓이면서 점점 쉬워졌습니다. ‘앱 작성기’ 시작 접근 방식과 같은 .NET의 나머지 부분과의 일관성을 갖추는 것은 유의한 추가적 장점이었습니다."

Conor Breen, 기술 설계자(모바일) Civica

주목할 만한 앱 예제

  • 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는 모바일, 웹 및 데스크톱 애플리케이션 전반에 걸쳐 일관성을 보장하고 모든 프로젝트에서 효율성과 탁월성을 발휘하는 통합 개발 환경을 구축하고 있습니다.

"동일한 도구와 인프라를 사용하여 웹 및 데스크톱 애플리케이션과 동일한 표준으로 모바일 솔루션을 구축할 수 있다는 것은 개발 환경과 소비자 환경 모두에서 일관성을 유지하는 훌륭한 방법이었습니다."

Niall Cunningham, 기술 설계자 Civica

앞으로 Civica는 차세대 지능형 애플리케이션을 추진하기 위해 Azure 호스트형 서비스 및 .NET 기술과의 통합을 탐색하게 되어 기쁩니다.

시작할 준비가 되셨나요?

단계별 자습서는 컴퓨터에서 .NET MAUI을(를) 실행하는 데 도움이 될 것입니다.

시작하기