Clear Measure использовала Blazor, чтобы помочь ShoWorks проводить живые аукционы
Клиент
ShoWorks
Продукты и службы
Blazor
Azure
SignalR
Azure DevOps
Visual Studio
Промышленность
Программное обеспечение и консультации
Сценарий
Виртуальное проведение трансляций
Размер организации
Малый (от 1 до 100 сотрудников)
Страна/регион
Соединенные Штаты Америки
Проблема
Расширьте существующую платформу SAAS, чтобы обеспечить хостинг виртуальных аукционов для скота и других справедливых аукционов, которые не могли быть проведены лично из-за COVID-19.
Решение
Используйте подход к разработке на основе тестирования для реализации шаблона шины для отправки команд и запросов объектов из компонентов Blazor. Это позволило полностью или частично виртуально осуществлять эффективные процессы продаж и торгов в режиме реального времени. Внедрив Blazor, ShoWorks Auction удовлетворила краткосрочную потребность в торгах без присутствия, что позволило аукционам продолжать работать еще сильнее после пандемии COVID-19.
Время реализации
5 недель
ShoWorks — самое популярное программное обеспечение для управления экспонентами и заявками, используемое на ярмарках штатов и округов в Северной Америке. ShoWorks упрощает регистрацию, оценку, премиальные выплаты и аукционы для всех типов ярмарок, включая творчество и домашнее искусство, средства массовой информации, животноводство и многое другое. Уже более 20 лет ShoWorks надежно обслуживает офисы входа и экспонентов как в Интернете, так и на выставочных площадках в США и Канаде.
Бизнес-проблема
В марте 2020 года ярмарки в Северной Америке были приостановлены из-за COVID-19. Это поставило под угрозу бизнес тысяч экспонентов, которые уже приобрели домашний скот для выращивания и продажи на своих местных аукционах. Аукционы исторически являются лучшим способом для экспонентов окупить свои затраты и заработать дополнительные деньги для покупки будущих животных и инвестирования в их будущее образование. ShoWorks нужно было разработать решение для онлайн-аукционов, которое легко интегрировалось бы с уже имеющимися возможностями входа и бэк-офиса. Решение нужно было запустить быстро, всего за несколько недель. Работая с архитекторами Clear Measure, они использовали .NET и Blazor Server для быстрой разработки готового решения вскоре после выявления необходимости.
Почему Блазор?
Команда ShoWorks рассмотрела различные современные технологии разработки для этого проекта. Платформа ShoWorks десятилетиями использовала технологии разработки Microsoft, поэтому было естественно оценить технологии Microsoft для новой аукционной системы. Решение должно быть адаптивным и доступным как для настольных компьютеров, так и для мобильных устройств. Система также должна поддерживать транзакционную и пакетную обработку. Команда предпочла использовать единый язык программирования и набор библиотек, чтобы одна и та же группа разработчиков могла создавать и поддерживать все компоненты системы. Они рассматривали такие SPA-технологии, как Angular и React.
Команда ShoWorks выбрала Blazor, потому что им нужно было очень быстро выйти на рынок, чтобы справиться с аукционной средой, созданной Covid-19. Хотя Blazor был относительно новым, когда проект начинался, команда исследовала дорожную карту, включая запланированную будущую поддержку Blazor в настольных операционных системах, а также в мобильных устройствах. Нынешняя команда хорошо разбиралась в HTML, CSS, C# и JavaScript. Хотя создание некоторых внешних компонентов на JavaScript было бы возможно, выбор .NET и Blazor для внешних интерфейсов позволил консолидировать количество используемых языков. Этот выбор оказался удачным. С тех пор система была обновлена до .NET 6 и выросла до одиннадцати независимых сервисов.
Кроме того, система ShoWorks находится в Azure, что делает тесную интеграцию с другими технологиями .NET и родной опыт в Azure отличным выбором. В целом, система использует следующие технологии:
- .NET 6
- Blazor Server
- Entity Framework
- SQL Server LocalDB
- Azure SQL DB
- Azure Blog Storage
- Azure Service Bus
- Azure AppService
- Azure Functions
- Azure Logic Apps
- Azure SignalR Service
- Azure Application Insights
Мы выбрали Blazor, потому что нам нужно было очень быстро выйти на рынок. Из-за тесной интеграции с другими технологиями .NET и собственного опыта в Azure, где находится полная система ShoWorks, это был отличный выбор".
Стратегия реализации
ShoWorks создала легко изменяемое приложение, внедрив шаблон шины и отправив команды и объекты запросов из компонентов Blazor. Приложение было построено с использованием Test-Driven Development, что является еще одной причиной быстрой скорости запуска. Они использовали тесты на основе Selenium, которые хорошо работают с Blazor. Имея всеобъемлющую стратегию тестирования, команда сократила количество ошибок и смогла уделить больше времени улучшению программного обеспечения. ShoWorks создала приложение для публичных торгов с помощью Blazor Server, но планирует перейти на Blazor WebAssembly, чтобы передать обработку и потребление памяти клиентскому устройству для большей экономии средств в будущем.
Команде ShoWorks особенно нравится способность Blazor интегрироваться со всеми частями веб-экосистемы. В настоящее время они пользуются этим двумя ключевыми способами. Во-первых, команда планирует внедрить приложение в системном трее Windows 11, использующее Blazor внутри WebView2. В этом году они развивают эту возможность еще больше, поскольку планируют разработать новое приложение для смартфонов на окружной ярмарке, используя предстоящий выпуск .NET MAUI с Blazor.
Результаты внедрения
Blazor позволил ShoWorks провести свой первый виртуальный аукцион всего за пять недель. Эти недели состояли из двух недель планирования и проектирования и трех недель разработки. Темпы разработки были выше, чем у любой предыдущей технологии веб-разработки, которую пробовала ShoWorks. Кроме того, набор навыков .NET был прекрасно переносим, что позволило ShoWorks реализовать невероятное количество функций за меньшее время, чем они предполагали.
Характер аукциона в реальном времени сделал еще более интересной задачей. Поскольку Blazor Server поддерживает состояние и основан на обмене сообщениями SignalR в режиме реального времени, ShoWorks может предлагать режимы виртуального и живого аукциона, в которых аукционист может продавать пользователям и проводить торги в режиме реального времени.
Команда также любит использовать C# для каждого уровня приложения вместо того, чтобы переключаться с одного типа среды разработки на другой в зависимости от того, над какой частью приложения они работают".
После реализации и движения вперед
Используя Blazor, команде ShoWorks нужно было использовать только один язык для разработки всей своей платформы, что позволило им сэкономить время и использовать одну и ту же группу разработчиков для создания и обслуживания всех компонентов решения.
Благодаря успеху Blazor, ShoWorks провела больше онлайн-аукционов по животноводству среди юниоров, чем любая другая платформа. С мая 2021 года система ShoWorks обработала заявки на сумму более 200 миллионов долларов. ShoWorks Auction объединил живые, личные аукционы с онлайн-возможностями, включая цифровые вывески на платформе Blazor, которые отображают текущий лот, цену, победителя и спонсоров, при этом плавно встраивая видео в прямом эфире.
Решая проблему, вызванную COVID-19, аукцион ShoWorks смог разработать аукционный опыт, который также устранил проблемы, существовавшие до COVID-19. В предыдущие годы аукционы изо всех сил пытались привлечь покупателей в аукционный амбар из-за негибкости личных аукционов. Часто покупатели не могли посещать мероприятия, потому что они были в отпуске, работали или посещали другие аукционы в тот же день/время. Таким образом, ShoWorks зарекомендовала себя как основной продукт для будущих ярмарок, предлагая торги не в настоящем.
Ярмарки, использующие платформу ShoWorks, заявляют, что их канцелярское время сокращается на 90%, а средства привлекаются на 20% больше. Некоторые ярмарки, использующие ShoWorks, сообщили, что собрали больше средств за лот, чем любой предыдущий аукцион в их истории.
Готовы приступить?
Наше пошаговое руководство поможет вам запустить Blazor на вашем компьютере.