Empowering public services with .NET MAUI and Azure: Civica's success story

Civica logo

Customer
Civica

Products & services
.NET MAUI
Azure

Industry
Public Sector

Organization Size
Large (1,000 - 9,999 employees)

Country/region
United Kingdom

Civica: a trusted partner driving digital transformation across sectors

Civica, a long-standing Microsoft-accredited Partner, is a global GovTech champion focused on developing critical cloud-based software and services that are integral to the daily lives of citizens worldwide. Specializing in delivering innovative, high-quality applications, Civica's expertise spans central and local government, health and care, and education. And their highly skilled team of .NET developers has created nearly 30 apps published under their name and many more for customers.

Their journey in mobile development began in 2018, transitioning from Angular and Ionic to Xamarin.Forms to leverage their .NET expertise. Today, Civica's mobile development center of excellence, led by Conor Breen (Technical Architect (Mobile)) and Niall Cunningham (Technical Architect), focuses on building scalable, cross-platform apps powered by .NET MAUI and Microsoft Azure. "Our team has grown from five people in Belfast to a global presence, including colleagues in Vadodara, India", Niall adds.

Civica Learning screenshot
Civica MyDay screenshot showing the shift overview calendar page
Civica Cx screenshot showing the signature page

Creating robust, reusable Solutions with .NET MAUI and Azure

Efficiency through reusability

Civica's team has built a robust framework of reusable components, comprising 35+ NuGet packages. These packages include helper classes, components, views, and sample layouts that accelerate app development and ensure consistency across projects.

"The idea behind creating and maintaining our own set of frameworks was that, as we develop more and more apps, we'll create more and more reusable components."

Niall Cunningham, Technical Architect Civica

One thing in particular has helped the Civica team to be productive from day 1 when starting a new project. On top of the .NET templating engine they have built their “accelerator” app templates that sits alongside their in-house framework. Civica packages those “accelerator” template solutions as template NuGet packages, that can then be easily used to install to the .NET Command-Line Interface (CLI), and be used to deploy new solutions for green field projects with just one command. Being able to build their own templates for new projects and set those up in a way that they can be customized by using feature flags by the end-user has been a big timesaver.

"This approach has been a big timesaver in terms of getting the structure and functionality into a range of apps very quickly."

Conor Breen, Technical Architect (Mobile) Civica

Transitioning to .NET MAUI

Migrating to .NET MAUI was a natural evolution for Civica. Despite initial learning curves, the team quickly adapted, benefiting from the improved project structure and consistency with the .NET ecosystem.

"The migration process seemed difficult at the start, but this got easier as the team’s experience grew. Having greater consistency with the rest of .NET like the ‘app builder’ startup approach has been a great addition."

Conor Breen, Technical Architect (Mobile) Civica

Notable app examples

  • Civica Spydus: A companion app for public libraries worldwide, enabling book searches, checkouts, and renewals. Backed by .NET 8 APIs and Azure Cognitive Services.
  • Civica Learning: An eLearning app supporting SCORM/xAPI standards, built with .NET MAUI and Azure components for offline use and sync capabilities.
  • Civica MyDay: A healthcare scheduling and rostering app using Azure Functions for microservices and Azure B2C for authentication.
  • Civica Cx: A social housing management app migrated from Xamarin.Forms to .NET MAUI, leveraging Azure B2C and MFA for secure access.

Benefits of .NET MAUI

.NET MAUI has provided Civica with numerous benefits that streamline development and improve outcomes:

  • Single project structure: Simplifies asset sharing and code organization, keeping the codebase clean and manageable.
  • Reusability and productivity: Extends the reuse of components across mobile, desktop, and web platforms, significantly reducing development time.
  • Access to native features: Provides easy access to underlying platform features, enhancing the user experience with platform-specific optimizations.
  • Code quality and testing: Built-in Dependency Injection (DI) and support for unit testing have helped Civica maintain a clean architecture and rigorous quality standards.
  • Community and Open Source: Participation in the active .NET MAUI open-source community has allowed Civica to contribute and benefit from ongoing improvements.

Driving innovation and impact with .NET MAUI and Azure

Civica has realized several notable benefits with .NET MAUI, including faster app development, improved code quality, and enhanced reusability across teams and workloads. Conor Breen praises the flexibility to mix native and web-based technologies ensures optimal performance on every platform, he says: "Having the flexibility to mix native and web-based technologies allowed us to choose the best approach for each platform and ensure optimal performance."

Their adoption of Azure services such as Notification Hub, Key Vault, and Application Insights has further strengthened their apps, providing robust security, seamless authentication, and real-time insights. Niall Cunningham: "We have used Azure Notification Hub for push notifications, Azure Key Vault for encryption, and various other Azure services to enhance the functionality and security of our apps."

With .NET MAUI and Azure, Civica is building a unified development experience that ensures consistency across mobile, web, and desktop applications, driving efficiency and excellence in every project.

"Being able to build our mobile solutions to the same standard as our web and desktop applications, using the same tools and infrastructure, was a fantastic way of keeping consistency across both our development and consumer experiences."

Niall Cunningham, Technical Architect Civica

Looking ahead, Civica is excited to explore integrations with Azure-hosted services, and .NET technologies, to drive the next generation of intelligent applications.

Ready to get started?

Our step-by-step tutorial will help you get .NET MAUI running on your computer.

Get started