通过 .NET MAUI 和 Azure 为公共服务赋能: Civica 成功案例
Civica: 推动各行业数字化转型的可信合作伙伴
Civica 是一家长期以来获得微软认证的合作伙伴,是全球 GovTech 的领军者,专注于开发对全球公民日常生活至关重要的关键云软件和服务。Civica 专注于交付高质量的创新应用程序,其专业领域涵盖中央和地方政府、医疗保健和教育。该组织的高技能 .NET 开发团队已创建近 30 个以其名义发布的应用程序,以及更多为客户开发的应用。
他们在移动开发方面的旅程始于 2018 年,从 Angular 和 Ionic 过渡到 Xamarin.Forms,以利用他们的 .NET 专业知识。如今,Civica 的移动开发卓越中心由 Conor Breen (移动技术架构师)和 Niall Cunningham (技术架构师)领导,专注于构建基于 .NET MAUI 和 Microsoft Azure 的可扩展跨平台应用。Niall 补充道:”我们的团队从贝尔法斯特的五人发展到全球范围,包括位于印度瓦多达拉的同事。”



使用 .NET MAUI 和 Azure 创建可靠、可重用的解决方案
通过可重用性提高效率
Civica 的团队构建了一个强大的可重用组件框架,包含 35 个以上的 NuGet 包。这些包包括帮助程序类、组件、视图和示例布局,加速了应用开发并确保了项目之间的一致性。
“创建和维护我们自己框架集的想法是,随着我们开发越来越多的应用,我们将创造越来越多的可重用组件。”
一项特别的做法帮助 Civica 团队在新项目开始的第 1 天就能高效开展工作。在 .NET 模板引擎的基础上,他们构建了与内部框架并行的“加速器”应用模板。Civica 将这些“加速器”模板解决方案打包为模板 NuGet 包,然后可以轻松地将其安装到 .NET 命令行接口(CLI),并且只需使用一个命令就能将其用于为全新项目部署新的解决方案。能够为新项目构建自己的模板,并以可由最终用户使用功能标志对模板进行自定义的方式进行设置,节省了大量时间。
“这种方法在快速将结构和功能引入一系列应用方面节省了大量时间。”
过渡到 .NET MAUI
迁移到 .NET MAUI 是 Civica 的自然演变。尽管最初有学习曲线,但团队迅速地适应了,从改进的项目结构和与 .NET 生态系统的一致性中获利良多。
“迁移过程在开始时似乎很困难,但随着团队经验的增长,这一过程变得更加简单。与 .NET 的其他部分保持更高的一致性,例如‘应用生成器’启动方法,这是一个很好的补充。”
值得注意的应用示例
- Civica Spydus: 一款适用于全球公共图书馆的配套应用,支持书籍搜索、借阅和续借。由 .NET 8 API 和 Azure 认知服务提供支持。
- Civica Learning: 一款支持 SCORM/xAPI 标准的电子学习应用,使用 .NET MAUI 和 Azure 组件构建,具备脱机使用和同步功能。
- Civica MyDay: 一款使用 Azure Functions 进行微服务和使用 Azure B2C 进行身份验证的医疗保健调度和排班应用。
- Civica Cx: 一款从 Xamarin.Forms 迁移到 .NET MAUI 的社交住房管理应用,利用 Azure B2C 和 MFA 实现安全访问。
.NET MAUI 的优势
.NET MAUI 为 Civica 提供了众多好处,简化了开发流程并改善了结果:
- 单一项目结构: 简化了资产共享和代码组织,使代码库保持整洁且易于管理。
- 可重用性和生产力: 扩展了跨移动、桌面和 Web 平台的组件重用,显著缩短了开发时间。
- 对本机功能的访问: 提供对基础平台功能的轻松访问,从而通过平台特定的优化来增强用户体验。
- 代码质量和测试: 内置依赖项注入 (DI) 且对单元测试提供支持,帮助 Civica 维护清晰的架构和严格的质量标准。
- 社区和开源: 参与活跃的 .NET MAUI 开源社区使 Civica 能够促成和并受益于持续的改进。
通过 .NET MAUI 和 Azure 推动创新和增加影响力
Civica 通过 .NET MAUI 实现了多项显著的好处,包括加快应用开发、改进代码质量以及增强跨团队和工作负载的可重用性。Conor Breen 赞扬了混合原生和基于 Web 的技术的灵活性,确保在每个平台上都能实现最佳性能,他表示:"拥有混合原生和基于 Web 的技术的灵活性,使我们能够为每个平台选择最佳方案,并确保最佳性能。”
采用 Azure 服务,如通知中心、密钥保管库和 Application Insights,他们进一步增强了自己的应用,提供了强大的安全性、无缝的身份验证和实时的洞察。Niall Cunningham 表示:”我们使用 Azure 通知中心进行推送通知,使用 Azure Key Vault 进行加密,以及其他各种 Azure 服务来增强我们应用的功能和安全性。”
借助 .NET MAUI 和 Azure,Civica 正在构建统一的开发体验,以确保移动、Web 和桌面应用程序之间实现一致性,提高每个项目的效率和卓越性。
“能够使用相同的工具和基础设施,以与我们的 Web 和桌面应用程序相同的标准构建移动解决方案,这是在开发和用户体验中保持一致性的绝佳方式。”
展望未来,Civica 期待探索与 Azure 托管服务和 .NET 技术的集成,以推动下一代智能应用程序。
准备好开始使用了吗?
分步教程将帮助你在计算机上运行 .NET MAUI。