The Alarm Control Center app receives messages from process control systems and visualization systems, enabling a rapid response to, for example, disruptions. We significantly supported the team at Alarm IT Factory GmbH in the following areas during their migration from Xamarin.Forms to .NET MAUI:
The Alarm IT Factory GmbH, a company specializing in the development of alarm control applications, faced a significant challenge: migrating their mobile application, the Alarm Control Center App (ACC App), from Xamarin.Forms to .NET MAUI. This decision was driven by the impending end-of-life for Xamarin.Forms, necessitating a timely transition. With the pressure of time, as the migration had to be completed by the end of May 2024 to ensure ongoing support, Alarm IT Factory GmbH turned to us.
The existing project team, consisting of three developers, had already begun the migration but encountered various obstacles. Additionally, the team had previously decided to pause development of the Xamarin.Forms app to prioritize the MAUI migration and avoid additional effort from parallel development. To expedite the eventual resumption of ACC App development, the existing development team was supported by an experienced .NET MAUI developer from Cayas Software GmbH. Alongside time pressure, the additional challenges of migration included modernizing the code to the latest .NET version and addressing framework bug workarounds.
The architecture of the ACC App involved communication with a REST API and the use of push notifications and SignalR. Presentation and logic were largely separated through the use of the MVVM pattern. Some custom reusable controls were already in use, and specific requirements necessitated the use of custom renderers.
The development process was carefully managed, with open tasks organized and addressed through an issue tracker. This facilitated clear progress tracking and efficient collaboration within the team.
During the implementation phase, various aspects were addressed, including migrating the views and replacing custom Renderers by custom Handlers to restore functionality from the Xamarin.Forms app. Additionally, successful data migration from the Xamarin.Forms app to the .NET MAUI app was ensured through appropriate functions. Cayas Software also assisted with design aspects, as a modern concept for the dark mode was developed by our designer and subsequently implemented. Extensive refactoring to reduce redundancy in the source code and improve code maintainability, along with the use of current best practices, completed the migration. This significantly contributed to improving the stability and future maintainability of the app.
Comprehensive testing on various devices and platforms ensured that the new .NET MAUI app matched the existing Xamarin.Forms version and provided smooth functionality on Android and iOS devices.
The results were overwhelmingly positive: within one month, the team not only achieved functional parity with the old Xamarin.Forms app but also made significant improvements to the source code, greatly enhancing the maintainability and future-proofing of the application.
With the successful migration, the ACC App now has a solid foundation for future development. Improved maintainability and future-proofing ensure that the team can quickly resume app development without being constrained by outdated technologies.
Thanks to the perfect advice and technical support from Cayas Software, we were able to implement the migration of our ACC app in less than half the planned time. At the end of the project, this even allowed us to make further improvements to our app. The communication with our development team via Microsoft Teams was very efficient at all times, which led to excellent collaboration and many learnings on our side. We are already looking forward to future projects with Cayas Software!
Stefan Strohmaier, Lead Engineer Alarm Control Center