Capacitación los servicios públicos con .NET MAUI y Azure: la historia de éxito de Civica

Logotipo de Civica

Cliente
Civica

Productos y servicios
.NET MAUI
Azure

Sector
Sector público

Tamaño de la organización
Grande (1000 - 9999 empleados)

País o región
Reino Unido

Civica: un asociado de confianza que impulsa la transformación digital en todos los sectores

Civica, un asociado reconocido de Microsoft desde hace mucho tiempo, es un campeón mundial de GovTech centrado en el desarrollo de software y servicios críticos basados en la nube que forman parte integral de la vida cotidiana de los ciudadanos de todo el mundo. Especializado en la entrega de aplicaciones innovadoras y de alta calidad, la experiencia de Civica abarca la administración pública central y local, la salud, el cuidado y la educación. Y su equipo altamente cualificado de desarrolladores de .NET ha creado casi 30 aplicaciones publicadas bajo su nombre y muchas más para los clientes.

Su recorrido en el desarrollo móvil comenzó en 2018, pasando de Angular e Ionic a Xamarin.Forms para aprovechar su experiencia en .NET. En la actualidad, el centro de excelencia de desarrollo móvil de Civica, dirigido por Conor Breen (arquitecto técnico (móvil)) y Niall Cunningham (arquitecto técnico), se centra en la creación de aplicaciones escalables y multiplataforma basadas en .NET MAUI y Microsoft Azure. "Nuestro equipo ha crecido de cinco personas en Belfast a una presencia global, incluyendo compañeros en Vadodara, India", agrega Niall.

Recorte de pantalla de Civica Learning
Recorte de pantalla de MyDay en la que se muestra la página del calendario de información general del turno
Recorte de pantalla de Civica Cx en la que se muestra la página de firma

Crear soluciones sólidas y reutilizables con .NET MAUI y Azure

Eficiencia a través de la reutilización

El equipo de Civica ha creado un sólido marco de componentes reutilizables, que incluye más de 35 paquetes NuGet. Estos paquetes incluyen clases de ayuda, componentes, vistas y diseños de muestra que aceleran el desarrollo de aplicaciones y garantizan la coherencia entre proyectos.

"La idea de crear y mantener nuestro propio conjunto de marcos es que, a medida que desarrollemos más y más aplicaciones, crearemos más y más componentes reutilizables."

Niall Cunningham, arquitecto técnico de Civica

Hay una cosa en particular que ha ayudado al equipo de Civica a ser productivo desde el primer día al iniciar un nuevo proyecto. Además del motor de plantillas .NET, han creado su "acelerador" de plantillas de aplicaciones, que funciona junto con su propio marco interno. Civica empaqueta esas soluciones de plantilla de "acelerador" como paquetes NuGet de plantilla, que se pueden usar fácilmente para instalar en la interfaz de la línea de comandos (CLI) de .NET y para implementar nuevas soluciones para proyectos de campo abierto con un solo comando. El hecho de poder crear sus propias plantillas para nuevos proyectos y configurarlas de forma que el usuario final pueda personalizarlas utilizando indicadores de funciones ha supuesto un gran ahorro de tiempo.

"Este enfoque ha supuesto un gran ahorro de tiempo a la hora de incorporar la estructura y la funcionalidad a una serie de aplicaciones con gran rapidez."

Conor Breen, arquitecto técnico (móvil) Cívica

Transición a .NET MAUI

La migración a .NET MAUI fue una evolución natural para Civica. A pesar de las curvas de aprendizaje iniciales, el equipo se adaptó rápidamente, beneficiándose de la mejora de la estructura del proyecto y de la coherencia con el ecosistema .NET.

"El proceso de migración resultó difícil al principio, pero esto se hizo más fácil a medida que aumentaba la experiencia del equipo’. Tener una mayor coherencia con el resto de .NET, como el enfoque de inicio de “generador de aplicaciones”, ha sido una gran adición."

Conor Breen, arquitecto técnico (móvil) Cívica

Ejemplos de aplicaciones importantes

  • Civica Spydus: una aplicación complementaria para bibliotecas públicas de todo el mundo, que permite búsquedas de libros, finalizaciones de compra y renovaciones. Con el respaldo de las API de .NET 8 y Azure Cognitive Services.
  • Civica Learning: una aplicación de eLearning compatible con los estándares SCORM/xAPI, creada con .NET MAUI y componentes Azure para uso sin conexión y funcionalidades de sincronización.
  • Civica MyDay: una aplicación de programación y lista de asistencia sanitaria que usa Azure Functions para microservicios y Azure B2C para la autenticación.
  • Civica Cx: una aplicación de administración de la vivienda social migrada de Xamarin.Forms a .NET MAUI, aprovechando Azure B2C y MFA para un acceso seguro.

Ventajas de .NET MAUI

.NET MAUI ha proporcionado a Civica numerosas ventajas que optimizan el desarrollo y mejoran los resultados:

  • Estructura de proyecto único: simplifica el uso compartido de recursos y la organización del código, manteniendo el código base limpio y administrable.
  • Reutilización y productividad: extiende la reutilización de componentes en plataformas móviles, de escritorio y web, reduciendo significativamente el tiempo de desarrollo.
  • Acceso a características nativas: proporciona un acceso sencillo a las características de la plataforma subyacente, lo que mejora la experiencia del usuario con optimizaciones específicas de la plataforma.
  • Calidad del código y pruebas: la inyección de dependencias (DI) integrada y la compatibilidad con pruebas unitarias han ayudado a Civica a mantener una arquitectura limpia y unos estándares de calidad rigurosos.
  • Comunidad y código abierto: la participación en la activa comunidad de código abierto de .NET MAUI ha permitido a Civica contribuir y beneficiarse de mejoras continuas.

Impulsar la innovación y el impacto con .NET MAUI y Azure

Civica ha obtenido varios beneficios notables con .NET MAUI, incluido un desarrollo de aplicaciones más rápido, una mejora de la calidad del código y una mayor reutilización entre equipos y cargas de trabajo. Conor Breen destaca que la flexibilidad para mezclar tecnologías nativas y basadas en la web garantiza un rendimiento óptimo en cada plataforma, él expresa: "Tener la flexibilidad de mezclar tecnologías nativas y basadas en la web nos permitió elegir el mejor enfoque para cada plataforma y garantizar un rendimiento óptimo."

La adopción de servicios de Azure como Notification Hub, Key Vault y Application Insights ha reforzado aún más sus aplicaciones, proporcionando una seguridad robusta, autenticación fluida e información en tiempo real. Niall Cunningham: "Utilizamos Azure Notification Hub para las notificaciones push, Azure Key Vault para el cifrado, y varios otros servicios de Azure para mejorar la funcionalidad y la seguridad de nuestras aplicaciones."

Con .NET MAUI y Azure, Civica está creando una experiencia de desarrollo unificada que garantiza la coherencia entre aplicaciones móviles, web y de escritorio, lo que impulsa la eficiencia y la excelencia en todos los proyectos.

"Poder crear nuestras soluciones móviles con el mismo nivel de calidad que nuestras aplicaciones web y de escritorio, utilizando las mismas herramientas e infraestructura, fue una forma fantástica de mantener la coherencia en nuestras experiencias de desarrollo y de consumidor."

Niall Cunningham, arquitecto técnico de Civica

De cara al futuro, Civica se complace en explorar integraciones con servicios hospedados en Azure y tecnologías .NET para impulsar la próxima generación de aplicaciones inteligentes.

¿Listo para empezar?

Nuestro tutorial paso a paso le ayudará a ejecutar .NET MAUI en su equipo.

Introducción