Potenziare i servizi pubblici con .NET MAUI e Azure: la storia di successo di Civica

Logo Civica

Cliente
Civica

Prodotti e servizi
.NET MAUI
Azure

Settore
Settore pubblico

Dimensioni dell'organizzazione
Grandi dimensioni (1.000 - 9.999 dipendenti)

Paese/area geografica
Regno Unito

Civica: un partner affidabile che guida la trasformazione digitale in più settori

Civica, un partner accreditato di Microsoft di lunga data, è un'azienda leader globale del settore GovTech che si concentra sullo sviluppo di software e servizi critici basati sul cloud che rappresentano parte integrante della vita quotidiana dei cittadini in tutto il mondo. Specializzata nella fornitura di applicazioni innovative e di alta qualità, Civica ha un'esperienza che spazia dalle amministrazioni centrali e locali alla sanità, all'assistenza e all'istruzione. Il suo team altamente qualificato di sviluppatori .NET ha creato quasi 30 app pubblicate a suo nome e molte altre per i clienti.

Il viaggio di Civica nello sviluppo per dispositivi mobili è iniziato nel 2018, passando da Angular e Ionic a Xamarin.Forms per sfruttare le competenze acquisite in .NET. Oggi, il centro di eccellenza per lo sviluppo di dispositivi mobili di Civica, guidato da Conor Breen (Technical Architect settore Mobile) e Niall Cunningham (Technical Architect), si concentra sulla creazione di app scalabili e multipiattaforma basate su .NET MAUI e Microsoft Azure. "Il nostro team è passato da cinque persone a Belfast a una presenza globale, tra cui colleghi in India, a Vadodara", aggiunge Niall.

Screenshot di Civica Learning
Screenshot di Civica MyDay che mostra la pagina del calendario con la panoramica dei turni
Screenshot di Civica Cx che mostra la pagina della firma

Creazione di soluzioni affidabili e riutilizzabili con .NET MAUI e Azure

Efficienza attraverso la riutilizzabilità

Il team di Civica ha creato un solido framework di componenti riutilizzabili, che comprende più di 35 pacchetti NuGet. Questi pacchetti includono classi helper, componenti, visualizzazioni e layout di esempio che accelerano lo sviluppo di app e garantiscono la coerenza tra i progetti.

"L'idea alla base della creazione e della gestione del nostro set di framework era che, man mano che sviluppiamo sempre più app, creeremo componenti sempre più riutilizzabili."

Niall Cunningham, Technical Architect Civica

Una cosa in particolare ha aiutato il team Civica a essere produttivo fin dal primo giorno di inizio di un nuovo progetto. Oltre al motore per la creazione di modelli .NET, il team ha sviluppato modelli per l'app "acceleratore" integrata nel loro framework interno. Civica crea queste soluzioni di modello "acceleratore” come pacchetti di modelli NuGet, che possono essere facilmente utilizzati per l'installazione nell'interfaccia della riga di comando di .NET e utilizzati per distribuire nuove soluzioni per progetti greenfield con un solo comando. La possibilità di creare modelli personalizzati per i nuovi progetti e di configurarli modelli in modo che possano essere personalizzati dagli utenti finali tramite flag di funzionalità ha permesso di risparmiare molto tempo.

"Questo approccio è stato estremamente utile per ottenere rapidamente la struttura e le funzionalità in un'ampia gamma di app."

Conor Breen, Technical Architect (Mobile) Civica

Passaggio a .NET MAUI

La migrazione a .NET MAUI è stata un'evoluzione naturale per Civica. Nonostante le curve di apprendimento iniziali, il team si è adattato rapidamente, traendo vantaggio dalla struttura del progetto migliorata e dalla coerenza con l'ecosistema .NET.

"Il processo di migrazione è sembrato difficile all'inizio, ma è diventato più semplice man mano che l'esperienza del team è cresciuta. Avere una maggiore coerenza con il resto di .NET, ad esempio l'approccio di avvio del generatore app, è stata un'ottima aggiunta."

Conor Breen, Technical Architect (Mobile) Civica

Esempi di app significative

  • Civica Spydus: un'app complementare per le librerie pubbliche in tutto il mondo, che consente di effettuare ricerche di libri, prelievi e rinnovi. Supportata da API .NET 8 e Servizi cognitivi di Azure.
  • Civica Learning: un'app di eLearning che supporta gli standard SCORM/xAPI, creata con componenti di Azure e .NET MAUI per l'uso offline e le funzionalità di sincronizzazione.
  • Civica MyDay: un'app per la pianificazione e la turnistica del per il settore sanitario che usa Funzioni di Azure per i microservizi e Azure B2C per l'autenticazione.
  • Civica Cx: un'app di gestione delle case popolari migrata da Xamarin.Forms a .NET MAUI, sfruttando Azure B2C e l'autenticazione a più fattori per un accesso sicuro.

Vantaggi di .NET MAUI

.NET MAUI ha offerto a Civica numerosi vantaggi che semplificano lo sviluppo e migliorano i risultati:

  • Singola struttura di progetto: semplifica la condivisione degli asset e l'organizzazione del codice, mantenendo la codebase pulita e gestibile.
  • Riutilizzabilità e produttività: estende il riutilizzo dei componenti tra le piattaforme per dispositivi mobili, desktop e Web, riducendo significativamente i tempi di sviluppo.
  • Accesso alle funzionalità native: consente di accedere facilmente alle funzionalità della piattaforma sottostante, migliorando l'esperienza utente con ottimizzazioni specifiche della piattaforma.
  • Qualità e testing del codice: l'inserimento delle dipendenze (DI, Dependency Injection) integrato e il supporto per gli unit test hanno aiutato Civica a mantenere un'architettura pulita e standard di qualità rigorosi.
  • Community e Open Source: la partecipazione all'attiva community open source di .NET MAUI ha consentito a Civica di contribuire e trarre vantaggio dai miglioramenti continui.

Favorire l'innovazione e l'impatto con .NET MAUI e Azure

Civica ha realizzato diversi vantaggi significativi con .NET MAUI, tra cui uno sviluppo più rapido delle app, una migliore qualità del codice e una maggiore riutilizzabilità tra team e carichi di lavoro. Conor Breen elogia la flessibilità di mescolare tecnologie native e Web, con prestazioni ottimali su ogni piattaforma. Afferma: "La flessibilità di combinare tecnologie native e Web ci ha permesso di scegliere l'approccio migliore per ogni piattaforma e garantire prestazioni ottimali."

L'adozione di servizi di Azure come Hub di notifica, Key Vault e Application Insights ha ulteriormente rafforzato le app, offrendo sicurezza affidabile, autenticazione senza problemi e informazioni dettagliate in tempo reale. Niall Cunningham: "Abbiamo usato Hub di notifica di Azure per le notifiche push, Azure Key Vault per la crittografia e vari altri servizi di Azure per migliorare le funzionalità e la sicurezza delle nostre app."

Con .NET MAUI e Azure, Civica sta creando un'esperienza di sviluppo unificata che garantisce la coerenza tra le applicazioni per dispositivi mobili, Web e desktop, garantendo efficienza ed eccellenza in ogni progetto.

"La possibilità di creare le nostre soluzioni per dispositivi mobili allo stesso standard delle applicazioni Web e desktop, usando gli stessi strumenti e la stessa infrastruttura, è stato un ottimo modo per mantenere la coerenza tra le esperienze di sviluppo e quelle degli utenti."

Niall Cunningham, Technical Architect Civica

In futuro, Civica esplorerà le integrazioni con i servizi ospitati in Azure e le tecnologie .NET per promuovere lo sviluppo della prossima generazione di applicazioni intelligenti.

Pronti per iniziare?

Questa esercitazione dettagliata ti aiuterà a ottenere .NET MAUI in esecuzione nel computer.

Attività iniziali