Capacitando os serviços públicos com .NET MAUI e Azure: a história de sucesso da Civica
Cliente
Civica
Produtos e serviços
.NET MAUI
Azure
Setor
Setor público
Tamanho da Organização
Grande (1.000 a 9.999 funcionários)
País/região
Reino Unido
Civica: uma parceira confiável impulsionando a transformação digital em diversos setores
A Civica, uma parceira de longa data credenciada pela Microsoft, é uma campeã global de GovTech focada no desenvolvimento de software e serviços críticos baseados em nuvem, que são essenciais para a vida diária dos cidadãos em todo o mundo. Especializada na entrega de aplicações inovadoras e de alta qualidade, a expertise da Civica abrange governo central e local, saúde e assistência, e educação. E sua equipe altamente qualificada de desenvolvedores .NET criou quase 30 aplicativos publicados sob seu nome e muitos outros para clientes.
A jornada deles no desenvolvimento móvel começou em 2018, com a transição de Angular e Ionic para Xamarin.Forms, a fim de aproveitar sua expertise em .NET. Atualmente, o centro de excelência em desenvolvimento móvel da Civica, liderado por Conor Breen (Arquiteto Técnico (Mobile)) e Niall Cunningham (Arquiteto Técnico), foca na construção de aplicativos escaláveis e multiplataforma com .NET MAUI e Microsoft Azure. “Nossa equipe cresceu de cinco pessoas em Belfast para uma presença global, incluindo colegas em Vadodara, na Índia”, acrescenta Niall.



Criando soluções robustas e reutilizáveis com .NET MAUI e Azure
Eficiência por meio de reutilização
A equipe da Civica construiu uma estrutura robusta de componentes reutilizáveis, composta por mais de 35 pacotes NuGet. Esses pacotes incluem classes auxiliares, componentes, visões e layouts de exemplo que aceleram o desenvolvimento de aplicativos e garantem consistência entre os projetos.
"\O objetivo por trás de criar e manter nosso próprio conjunto de frameworks era que, à medida que desenvolvêssemos cada vez mais apps, criaríamos cada vez mais componentes reutilizáveis."
Uma coisa em particular ajudou a equipe da Civica a ser produtiva desde o primeiro dia ao iniciar um novo projeto. Além do mecanismo de criação de modelos do .NET, eles desenvolveram seus próprios modelos de aplicativos "aceleradores", que funcionam em conjunto com seu framework interno. A Civica empacota essas soluções de modelos "aceleradores" como pacotes de modelo NuGet, que podem ser facilmente instalados na Interface de Linha de Comando (CLI) do .NET e usados para implantar novas soluções em projetos iniciados do zero com apenas um comando. Poder criar seus próprios modelos para novos projetos e configurá-los de forma que possam ser personalizados pelo usuário final por meio de sinalizadores de funcionalidades tem sido um grande ganho de tempo.
"Essa abordagem tem sido um grande economizador de tempo em termos de colocar a estrutura e funcionalidade em uma variedade de apps muito rapidamente."
Transição para o .NET MAUI
A migração para o .NET MAUI foi uma evolução natural para a Civica. Apesar das curvas de aprendizado iniciais, a equipe se adaptou rapidamente, beneficiando-se da estrutura de projeto aprimorada e da consistência com o ecossistema .NET.
"O processo de migração pareceu difícil no início, mas foi ficando mais fácil à medida que a experiência da equipe aumentava. Ter uma maior consistência com o restante do .NET, como a abordagem de inicialização ‘app builder’, foi uma ótima adição."
Exemplos de aplicativos notáveis
- Civila Spydus: Um aplicativo complementar para bibliotecas públicas ao redor do mundo, permitindo buscas de livros, empréstimos e renovações. Baseado nas APIs do .NET 8 e nos Serviços Cognitivos do Azure.
- Civica Learning: Um aplicativo de eLearning que suporta os padrões SCORM/xAPI, desenvolvido com .NET MAUI e componentes Azure para uso offline e capacidades de sincronização.
- Civica MyDay: Um aplicativo de agendamento e escalonamento de saúde usando Azure Functions para microsserviços e Azure B2C para autenticação.
- Civica Cx: Um aplicativo de gestão de habitação social migrado de Xamarin.Forms para .NET MAUI, aproveitando o Azure B2C e MFA para acesso seguro.
Benefícios do .NET MAUI
.NET MAUI proporcionou à Civica diversos benefícios que agilizam o desenvolvimento e melhoram os resultados:
- Estrutura de projeto único: Simplifica o compartilhamento de recursos e a organização do código, mantendo a base de código limpa e gerenciável.
- Reusabilidade e produtividade: Amplia o reúso de componentes entre as plataformas móvel, para computador e web, reduzindo significativamente o tempo de desenvolvimento.
- Acesso a recursos nativos: Proporciona acesso fácil aos recursos subjacentes da plataforma, aprimorando a experiência do usuário com otimizações específicas para a plataforma.
- Qualidade de código e testes: A Injeção de Dependência (DI) integrada e o suporte para testes unitários ajudaram a Civica a manter uma arquitetura limpa e padrões rigorosos de qualidade.
- Comunidade e Código Aberto: A participação na ativa comunidade de código aberto do .NET MAUI permitiu à Civica contribuir e se beneficiar de melhorias contínuas.
Impulsionando a inovação e o impacto com .NET MAUI e Azure
A Civica obteve diversos benefícios notáveis com o .NET MAUI, incluindo desenvolvimento mais rápido de apps, melhoria na qualidade do código e maior reutilização entre equipes e cargas de trabalho. Conor Breen elogia a flexibilidade de combinar tecnologias nativas e baseadas na web, garantindo desempenho ideal em cada plataforma, e afirma: "Ter a flexibilidade de combinar tecnologias nativas e baseadas na web nos permitiu escolher a melhor abordagem para cada plataforma e garantir o desempenho ideal."
A adoção de serviços do Azure, como Notification Hub, Key Vault e Application Insights, fortaleceu ainda mais seus aplicativos, oferecendo segurança robusta, autenticação contínua e insights em tempo real. Niall Cunningham: "Usamos o Azure Notification Hub para notificações push, o Azure Key Vault para criptografia e diversos outros serviços do Azure para aprimorar a funcionalidade e a segurança de nossos aplicativos."
Com .NET MAUI e Azure, a Civica está construindo uma experiência de desenvolvimento unificada que garante consistência entre aplicativos móveis, web e área de trabalho, promovendo eficiência e excelência em cada projeto.
"Poder desenvolver nossas soluções móveis com o mesmo padrão das nossas soluções web e para computador, usando as mesmas ferramentas e infraestrutura, foi uma maneira fantástica de manter a consistência tanto na experiência de desenvolvimento quanto na do usuário."
Olhando para o futuro, a Civica está empolgada em explorar integrações com serviços hospedados no Azure e tecnologias .NET, para impulsionar a próxima geração de aplicativos inteligentes.
Pronto para começar?
Nosso tutorial passo-a-passo irá ajudá-lo a usar o .NET MAUI em seu computador.