Расширение возможностей государственных служб с помощью .NET MAUI и Azure: история успеха Civica

Логотип Civica

Клиент
Civica

Продукты и службы
.NET MAUI
Azure

Промышленность
Государственный сектор

Размер организации
Большой (1000–9 999 сотрудников)

Страна/регион
Великобритания

Civica: надежный партнер, продвигающий цифровую трансформацию во всех секторах

Civica, давний аккредитованный партнер Майкрософт, является мировым лидером в области GovTech, занимающимся разработкой критически важного облачного программного обеспечения и услуг, которые являются неотъемлемой частью повседневной жизни граждан по всему миру. Специализируясь на разработке инновационных высококачественных приложений, компания Civica специализируется на работе в сфере центрального и местного самоуправления, здравоохранения и образования. А их высококвалифицированная команда разработчиков .NET создала около 30 приложений, опубликованных под их именем, и еще больше для клиентов.

Их путь в мобильной разработке начался в 2018 году с перехода с Angular и Ionic на Xamarin.Forms, чтобы использовать свой опыт в .NET. Сегодня центр передового опыта в области разработки мобильных приложений Civica, возглавляемый Конором Брином (технический архитектор (мобильные приложения)) и Ниаллом Каннингемом (технический архитектор), фокусируется на создании масштабируемых кроссплатформенных приложений на базе .NET MAUI и Microsoft Azure. "Наша команда выросла с пяти человек в Белфасте до глобального присутствия, включая коллег в Вадодаре, Индия", — добавляет Ниалл.

Скриншот Civica Learning
Скриншот Civica MyDay, на котором показана страница календаря обзора смен
Скриншот Civica Cx, показывающий страницу подписи

Создание надежных, повторно используемых решений с помощью .NET MAUI и Azure

Эффективность за счет возможности повторного использования

Команда Civica создала надежную структуру повторно используемых компонентов, включающую более 35 пакетов NuGet. Эти пакеты включают вспомогательные классы, компоненты, представления и примеры макетов, которые ускоряют разработку приложений и обеспечивают согласованность между проектами.

"Идея создания и поддержки нашего собственного набора фреймворков заключалась в том, что по мере разработки все большего количества приложений мы будем создавать все больше и больше повторно используемых компонентов".

Ниалл Каннингем, технический архитектор Civica

В частности, одна вещь помогла команде Civica быть продуктивной с первого дня запуска нового проекта. На основе шаблонизатора .NET они создали свои шаблоны приложений-"ускорителей", которые работают вместе с их внутренней структурой. Civica упаковывает эти шаблонные решения "ускорителя" в виде шаблонных пакетов NuGet, которые затем можно легко использовать для установки в интерфейс командной строки .NET (CLI) и применять для развертывания новых решений для проектов с нуля с помощью всего одной команды. Возможность создавать собственные шаблоны для новых проектов и настраивать их таким образом, чтобы конечный пользователь мог настраивать их с помощью флагов функций, значительно экономит время.

"Этот подход позволил значительно сэкономить время, поскольку удалось очень быстро внедрить структуру и функциональность в ряд приложений".

Конор Брин, технический архитектор (мобильная связь) Civica

Переход на .NET MAUI

Переход на .NET MAUI стал естественным этапом эволюции Civica. Несмотря на первоначальные трудности в обучении, команда быстро адаптировалась, извлекая выгоду из улучшенной структуры проекта и согласованности с экосистемой .NET.

"Сначала процесс миграции казался сложным, но по мере накопления опыта команды он становился все проще. Отличным дополнением стала большая согласованность с остальной частью .NET, например, подход к запуску "конструктора приложений".

Конор Брин, технический архитектор (мобильная связь) Civica

Известные примеры приложений

  • Civica Spydus: Сопутствующее приложение для публичных библиотек по всему миру, позволяющее искать книги, оформлять заказы и продлевать подписку. Поддерживается API .NET 8 и Azure Cognitive Services.
  • 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 многочисленные преимущества, которые оптимизируют разработку и улучшают результаты:

  • Единая структура проекта: Упрощает совместное использование ресурсов и организацию кода, сохраняя чистоту и управляемость кодовой базы.
  • Возможность повторного использования и производительность: Расширяет возможности повторного использования компонентов на мобильных, настольных и веб-платформах, значительно сокращая время разработки.
  • Доступ к собственным функциям: Обеспечивает легкий доступ к базовым функциям платформы, улучшая пользовательский опыт с помощью оптимизаций, специфичных для платформы.
  • Качество кода и тестирование: Встроенная технология внедрения зависимостей (DI) и поддержка модульного тестирования помогли Civica поддерживать чистую архитектуру и строгие стандарты качества.
  • Сообщество и открытый исходный код: Участие в активном сообществе разработчиков программного обеспечения с открытым исходным кодом .NET MAUI позволило Civica внести свой вклад и воспользоваться преимуществами постоянных улучшений.

Внедрение инноваций и влияния с помощью .NET MAUI и Azure

Civica реализовала ряд заметных преимуществ с помощью .NET MAUI, включая более быструю разработку приложений, улучшенное качество кода и улучшенную возможность повторного использования в разных командах и рабочих нагрузках. Конор Брин высоко оценивает гибкость сочетания собственных и веб-технологий, которая обеспечивает оптимальную производительность на каждой платформе. Он говорит: "Возможность сочетания собственных и веб-технологий позволила нам выбрать лучший подход для каждой платформы и обеспечить оптимальную производительность".

Внедрение сервисов Azure, таких как Notification Hub, Key Vault и Application Insights, еще больше укрепило их приложения, обеспечив надежную безопасность, бесперебойную аутентификацию и аналитику в режиме реального времени. Ниалл Каннингем: "Мы использовали Azure Notification Hub для push-уведомлений, Azure Key Vault для шифрования и различные другие службы Azure для улучшения функциональности и безопасности наших приложений".

С помощью .NET MAUI и Azure компания Civica создает унифицированный процесс разработки, который обеспечивает согласованность мобильных, веб- и настольных приложений, повышая эффективность и совершенство каждого проекта.

"Возможность разрабатывать наши мобильные решения на том же уровне, что и наши веб- и настольные приложения, используя те же инструменты и инфраструктуру, стала фантастическим способом поддержания единообразия как в процессе разработки, так и в процессе взаимодействия с потребителями".

Ниалл Каннингем, технический архитектор Civica

Заглядывая вперед, Civica с нетерпением ждет возможности интеграции с сервисами, размещенными на платформе Azure, и технологиями .NET для создания следующего поколения интеллектуальных приложений.

Готовы приступить?

Наше пошаговое руководство поможет вам запустить .NET MAUI на вашем компьютере.

Начать