Written by
Jurgen Geys
Jurgen Geys
Jurgen Geys
All blog posts
xamarin
xamarin
Reading time 7 min
6 MAY 2025

Why you should consider Flutter or React Native over .NET MAUI or .NET for Mobile Xamarin has been one of the key cross-platform frameworks for mobile apps in the past 10 years. Over 15,000 organizations worldwide have built and used Xamarin applications. However, Microsoft has decided to discontinue support for Xamarin from May 1, 2024, and replace it with .NET MAUI and .NET for Mobile. The impact will be noticeable starting from April 1, 2024, as distribution of updates for iOS will cease from that date. Migrating Xamarin to .NET MAUI or .NET for Mobile? The decision to migrate existing Xamarin apps to .NET MAUI or .NET for Mobile is less straightforward than it may seem . Our experience at ACA Mobile teaches us that a rewrite to another platform is often a better choice . In this blog, we present arguments in favor of this advice. Why .NET MAUI and .NET Mobile are not a good alternative to Xamarin The roadmap for .NET MAUI and .NET for mobile ( https://github.com/dotnet/maui/wiki/Roadmap ) provides little clarity and certainty in the long term. Microsoft's decision to retire Visual Studio for Mac, an essential tool for iOS and Mac development, reinforces these concerns and sends mixed signals about their commitment to cross-platform mobile development. Furthermore, Microsoft itself uses React Native for critical mobile applications such as Microsoft Teams and Outlook. Therefore, Microsoft lacks a strategic focus on .NET MAUI and .NET for Mobile . Our experience with migrations to .NET MAUI and .NET for Mobile reveals that there are still many issues in these frameworks. Further stabilization and development are needed to bring them up to the level of the competition. However, we observe only a very limited number of developers actively engaging with the framework . On frameworks like Flutter and React Native, we see 3 to 4 times more activity. The LTS (Long-Term Support) releases of .NET MAUI do not meet the standards we are accustomed to from mature frameworks. Although the release cycle of .NET MAUI follows the standards of .NET, the support period is shorter. This results in the need to constantly update .NET MAUI to newer versions. There is a significant decline in the number of developers actively using Xamarin, .NET for mobile, and .NET MAUI. This trend indicates diminishing confidence in the community, which could potentially lead to reduced support and innovation in the long term. The challenges of migrating from Xamarin to .NET MAUI or .NET Mobile Contrary to expectations, migrating from Xamarin to .NET MAUI or .NET for Mobile is not a standardized process. Documentation is very limited, and issues must primarily be discovered and resolved through trial and error. This leads to regressions, where certain functionalities are no longer supported, code obfuscation ceases to work, tooling is unavailable, and existing packages are no longer compatible. Additionally, bugs in the .NET framework itself are frequently uncovered. Furthermore, the app is not technically better after migration; all technical debt is retained and may even get worse by bug resolution. The cost of migration, including all bug fixing, can therefore become significant. For some of our larger projects, this entails a process involving multiple developers over several months. Finally, the question arises whether this migration justifies a long-term investment, considering our doubts about the future of .NET MAUI and .NET for Mobile. The alternative: rewriting the Xamarin app in React Native or Flutter From our experience, we are convinced that rewriting the Xamarin app using React Native or Flutter provides more value for your money than migrating to .NET MAUI or .NET for Mobile. Firstly, both frameworks offer a mature foundation with a long-term vision and support, making the rewritten application easy to maintain, scalable, and future-ready. More details about each of these frameworks can be found at the end of this article. The rewrite also offers the perfect opportunity to adapt the app to changing or new business needs. It is not just a technical project but also delivers tangible business value. Moreover, the cost difference between migration and rewriting is smaller than one might think: We rebuild only the app itself, allowing integrations with backend systems to be retained, resulting in significant savings. Even if a Backend-For-Frontend has been used, it can still be preserved. We base the rebuild on the design of the old app, eliminating the need for new analysis work. By starting with a new architecture, we can address all existing technical debt at once. This means that maintenance and future expansions become significantly simpler and therefore cheaper. In summary, we see that rewriting the Xamarin app in React Native or Flutter does not necessarily have to be fundamentally more expensive than a migration to .NET MAUI or .NET Mobile with bug fixing. Especially when considering the improved maintenance costs, the extended lifespan of the app, and the added business value. The Benefits of Flutter Are you considering migrating from Xamarin to Flutter? A wise choice, as Flutter offers several strategic advantages: Future-Proof Technology : Flutter enjoys strong support from Google, serving as the primary contributor with a highly active development community (1313 contributors, of which 72 have made more than 50 commits). Google applies the framework in their own application development, including applications like Google Classroom, YouTube Create, Google Ads, and recently in their AI application Gemini for generating customized UIs during runtime. This provides companies with the reassurance that Flutter is a technology stack maintained in the long term. Popularity : Since its launch in 2018, Flutter has steadily gained market share in cross-platform development. In 2020, 1% of apps in the App Store and 3% in Google Play were written in Flutter. In just three years, this has risen to 9% and 19%. In contrast, Xamarin's share has remained at 4%. Unified User Experience : Flutter utilizes its own rendering engine, managing the UI entirely from Flutter itself. This ensures a consistent user experience between iOS and Android, even across different operating system versions. Older OS versions can also benefit from new features, providing a uniform experience. Access to the Latest Features : While not everything is available out-of-the-box due to Flutter's unique rendering engine, new features are rapidly supported through updates to the Flutter Framework. It is always possible to write native components and make them available within our Flutter code, ensuring essential features are immediately accessible. The Benefits of React Native Migrating from Xamarin to React Native is also a smart choice due to the numerous strategic advantages that React Native offers: Future-Proof Technology : React Native was originally developed by Meta to position itself as a mobile-first company in the market. There is a highly active development community contributing to its future (2604 contributors, with 89 having made more than 50 commits). Meta uses React Native for its own applications, such as Facebook, Facebook Ads Manager, Oculus, and Messenger Desktop. Microsoft also invests a significant amount of energy and time in React Native, using it for the development of applications like Microsoft Office, Microsoft Store on Xbox, and Power Apps. This instills confidence in the stability of the framework. Popularity : Since its launch in 2015, React Native has experienced a rapid rise in popularity. It has maintained a stable market share in mobile application development for several years. In 2020, 8% of apps in the App Store and 10% in the Google Play Store were developed with React Native. In just three years, these percentages have increased to 13% and 18%, respectively. Use of JavaScript/TypeScript : Thanks to the use of highly popular programming languages, React Native is very accessible for developers. This results in an abundance of available developers who can easily maintain the application since they are familiar with the language used. Access to the Latest Features : As React Native maps to the OS components, applications developed with it can directly and effortlessly leverage new features upon their introduction. For example, out-of-the-box support for a 120 Hz refresh rate is provided. Additionally, it is also possible to write and integrate native components for use within React Native. Conclusion In light of the discontinuation of Xamarin and the complex challenges associated with migrating to .NET MAUI or .NET for Mobile, rewriting Xamarin apps in React Native or Flutter emerges as a strategic and cost-effective alternative. Both frameworks provide reliable solutions with long-term support, ensuring easy maintenance and scalability. ACA Group is ready to assist your business in making informed decisions. Let's shape the future of your applications together! Do you want to ensure the long-term success of your Xamarin mobile applications Contact us

Read more
apss mobile fast
apss mobile fast
Reading time 4 min
6 MAY 2025

Mobile apps have become essential in our daily lives. Whether as consumers, citizens, students, patients, or employees, we rely on apps for almost everything. However, many apps are challenging to use for people who don’t fit the "standard" user profile, such as individuals with visual, auditory, or motor disabilities. As apps are now integral to daily life, these users face considerable barriers without sufficient alternatives. The European Accessibility Act is set to change this. In this article, you’ll learn all about it, including what it means for your apps. Why accessible apps matter The number of people who benefit from accessible apps is larger than you might think. About 25% of the population has some disability that makes using a standard app difficult (source: EU statistics on disabilities ). This includes individuals with visual impairments (such as blindness or low vision), hearing difficulties, color blindness, motor impairments, ADHD, epilepsy, and reading or speech challenges. Many others without disabilities also benefit from accessibility options, including older adults, or anyone needing larger text, dark mode, or improved readability outdoors. Investing in accessibility not only helps your app meet legal standards but also boosts customer satisfaction and employee productivity . European Accessibility Act makes accessibility a legal requirement Starting in June 2025, all websites and apps must comply with the European accessibility requirements under the European Accessibility Act . This legislation applies not only to public institutions but also to private companies. Key EU accessibility requirements for apps While the EU’s Web Content Accessibility Guidelines (WCAG) are primarily geared toward websites, there are specific requirements for apps as well. Mobile apps present unique challenges, such as touch-based controls and gestures. Here are some important guidelines: Visual accessibility for the visually impaired : People who are blind use screen readers to have content read aloud. This requires a logical structure from left to right and top to bottom. Common elements like headings and menus should be skippable. Images and videos need text descriptions and captions, and text resizing or zoom should work without compromising usability. Clear colors for color blindness : Ensure adequate contrast between foreground and background colors, and avoid relying on color alone to convey information (e.g. "tap the green button"). Alternatives for audio content : Provide visual alternatives for any audio features to support those who are hard of hearing. Any sounds or voice messages should have a corresponding visual representation. Ease of use for people with motor disabilities : Actions like swiping or shaking the device can be difficult for some users. Offer alternative navigation options, such as keyboard access, and test to ensure users can navigate the app without getting stuck. Accessible experience for people with reading disabilities : Clear instructions in input fields and error messages are vital. Keep the user experience calm and straightforward, which is beneficial for people with ADHD or epilepsy. Discover how De Lijn is committed to creating an inclusive travel experience, with a special focus on accessibility for people with disabilities. Watch the webinar to learn more about the development of their mobile app! How to make your app accessible Improving the accessibility of an existing app doesn’t have to be costly. Small, incremental adjustments can make a big difference. A brief review can help identify key areas for improvement. For new apps, designing with accessibility in mind from the start is ideal. This means logically structuring app elements so screen readers and other assistive technologies can navigate them smoothly. Testing is essential : while internal tests are helpful, involving people with disabilities provides realistic and valuable feedback. Mobile apps as a catalyst for greater inclusivity Accessible apps aren’t just necessary—they can be powerful tools for people with disabilities. With modern smartphones and AI technology, apps can offer an extra layer of support. For example, we developed an app for EMVI that helps blind users scan their surroundings and interpret visual information . For the guide dog organization ‘Licht en Liefde,’ we’re creating an app to assist blind individuals in navigating traffic . Curious about making your app more accessible? {% module_block module "widget_49fe050b-91bf-43ab-8b1a-56666f7ef684" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Let's talk"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":230950468795,"href":"https://25145356.hs-sites-eu1.com/en/contact","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Read more
jirafield
jirafield
Reading time 4 min
6 MAY 2025

Field service employees, such as installers, repair technicians, inspectors, and transporters, often have to work with inefficient and user-unfriendly IT tools. Traditional service management software is often complex, insufficiently customizable, and expensive. Alternatives like WhatsApp, Excel, and phone calls are cumbersome, confusing, and not scalable. That's why ACA developed JiraField . Discover how this innovative solution increases your team's productivity and cost efficiency. What is JiraField? JiraField is an innovative and user-friendly solution for field service employees, offering a perfect balance between standard products and custom solutions. The foundation of JiraField is Atlassian Jira—a flexible tool already used by many companies to organize work—combined with a fully customizable mobile app. The result is a cost-effective solution that can be fully tailored to your team's needs. A day in the life with JiraField: more efficiency for your field service team Automatic ticket assignment Sarah, a back-office employee, schedules maintenance tasks in Atlassian Jira . Using Jira's familiar and flexible interface, she can easily create tickets or automatically receive tasks from other systems. The JiraField planning engine picks up new tasks and automatically assigns them to the right employee. This planning logic is fully customized to your processes. Additionally, the engine intelligently uses data from the mobile app, such as GPS coordinates, to assign tasks to the employee closest to the location. Everything at hand with the mobile JiraField app Meanwhile, Jan, a maintenance technician, uses the JiraField mobile app , which provides a personalized user experience without unnecessary complexity. He has access to all crucial information from anywhere and with the app, he can easily navigate to the task location. The app provides Jan with all the necessary work instructions and acts as the ultimate support tool. Thanks to the AI chatbot and a Bluetooth earpiece, he can talk to the app and retrieve necessary information from Confluence while working. When the task is completed, he logs the work details in the app and closes the task—on to the next job. Real-time overview for the back office And what about the back office? Everything is under control. Sarah has a real-time overview of all tasks. Every update immediately appears in Jira, and she can even see the exact location of each employee. This allows her to easily provide updates where needed. Thanks to Jira's extensive reporting capabilities, her managers are always informed as well. Why choose JiraField? Efficiency = cost savings : Losing just one hour per day in a team of 50 field service employees can quickly cost €250,000 per year. That means, even small improvements can make a big difference. We believe in taking many small steps rather than a big bang approach. Easy customizable : Thanks to Atlassian Jira as the foundation, JiraField is flexible and quickly configurable. The planning engine and intelligent mobile app are modularly built, allowing each component to be easily adjusted or even entirely replaced with your own version. This means you can get started quickly and optimize along the way. JiraField combines the flexibility of a custom solution with the speed and cost of a simple product. The best of both worlds! Maximize your field service team's productivity with JiraField With JiraField, you get the most out of your field service team through: Atlassian Jira : A powerful and trusted tool for organizing work. A smart mobile app : User-friendly and fully tailored to your team's operations. AI integration : Voice-controlled access to information in Confluence. Real-time insights: Always an up-to-date overview and full control, wherever you are. Curious how JiraField can transform your organization? {% module_block module "widget_5ace0d3c-9fb9-470e-89a5-0c9460ee311a" %}{% module_attribute "buttons" is_json="true" %}{% raw %}[{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"primary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Contact our experts right-away"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":226358445284,"href":"https://25145356.hs-sites-eu1.com/en/services/mobile-expertise/jirafield","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"},{"appearance":{"link_color":"light","primary_color":"primary","secondary_color":"primary","tertiary_color":"light","tertiary_icon_accent_color":"dark","tertiary_text_color":"dark","variant":"secondary"},"content":{"arrow":"right","icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"tertiary_icon":{"alt":null,"height":null,"loading":"disabled","size_type":null,"src":"","width":null},"text":"Learn more about JiraField"},"target":{"link":{"no_follow":false,"open_in_new_tab":false,"rel":"","sponsored":false,"url":{"content_id":226358445284,"href":"https://25145356.hs-sites-eu1.com/en/services/mobile-expertise/jirafield","href_with_scheme":null,"type":"CONTENT"},"user_generated_content":false}},"type":"normal"}]{% endraw %}{% end_module_attribute %}{% module_attribute "child_css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "css" is_json="true" %}{% raw %}{}{% endraw %}{% end_module_attribute %}{% module_attribute "definition_id" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "field_types" is_json="true" %}{% raw %}{"buttons":"group","styles":"group"}{% endraw %}{% end_module_attribute %}{% module_attribute "isJsModule" is_json="true" %}{% raw %}true{% endraw %}{% end_module_attribute %}{% module_attribute "label" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "module_id" is_json="true" %}{% raw %}201493994716{% endraw %}{% end_module_attribute %}{% module_attribute "path" is_json="true" %}{% raw %}"@projects/aca-group-project/aca-group-app/components/modules/ButtonGroup"{% endraw %}{% end_module_attribute %}{% module_attribute "schema_version" is_json="true" %}{% raw %}2{% endraw %}{% end_module_attribute %}{% module_attribute "smart_objects" is_json="true" %}{% raw %}null{% endraw %}{% end_module_attribute %}{% module_attribute "smart_type" is_json="true" %}{% raw %}"NOT_SMART"{% endraw %}{% end_module_attribute %}{% module_attribute "tag" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "type" is_json="true" %}{% raw %}"module"{% endraw %}{% end_module_attribute %}{% module_attribute "wrap_field_tag" is_json="true" %}{% raw %}"div"{% endraw %}{% end_module_attribute %}{% end_module_block %}

Read more