On May 26, 2026, Publickey reported: ".NET MAUI finally moves away from the Mono runtime: Migrating the Mono runtime inherited from Xamarin to CoreCLR." Microsoft is migrating the iOS and Android runtime for .NET MAUI—the UI framework targeting iOS, Android, Windows, and macOS from a single codebase—from Mono to CoreCLR in .NET 11, scheduled for release this autumn. Mono, which has supported the framework for over a decade since the Xamarin era, is finally completing its mission, bringing major strides in startup performance, execution speed, and unified diagnostic tooling.
This represents an important turning point for companies still running enterprise applications on Xamarin or older .NET versions (.NET Framework / older .NET Core). From our perspective supporting mobile and enterprise applications through custom development, we view this not as a question of "whether to migrate to MAUI," but as a modernization phase to decide "which apps to rebuild, in what sequence, and to what extent." Connecting with approaches to runtime generational shifts covered in TypeScript 7 Go native migration guide (GH Media), phased migrations in Custom NestJS v12 ESM migration (GH Media), and balancing the extension and replacement of legacy assets in Custom AWS WorkSpaces legacy desktop modernization (GH Media), this article organizes "cross-platform app modernization" into mindsets and procedures for executing client projects.
Why modernize apps "right now"?
| Dimension | Xamarin / legacy .NET (traditional) | .NET MAUI + CoreCLR(2026) |
|---|---|---|
| Runtime | Mono | CoreCLR (unified with desktop) |
| Supported OSs | iOS / Android (separate UIs) | Single codebase for iOS / Android / Windows / macOS |
| Startup performance | Slower due to Mono dependency | Improved with CoreCLR |
| Maintenance status | Xamarin support already ended | Active development |
| Diagnostics / profiling | Mono-based tooling | Unified with standard .NET tooling |
| AOT / trimming | Limited | Enhanced Native AOT support |
| Ecosystem | Shrinking | Shared with NuGet and mainstream .NET |
In other words, this transition means that the strategy of simply keeping Xamarin running has reached its limit, and the rationale for modernizing to CoreCLR-based MAUI has surged. Neglecting unsupported Xamarin apps means carrying a triple risk: the cessation of security patches, an inability to keep up with OS updates, and a drying up of talent.
Three structural changes beneficial to custom development projects
Structural shift 1: From "ignoring end-of-support" to "planned modernization"
With Xamarin support already ended, instances where apps cannot comply with updated iOS and Android app store requirements are rapidly increasing. In our custom development engagements, we deliver time-bound roadmaps defining "what needs to be migrated by when," anchored in store review guidelines, minimum supported OS versions, and security vulnerabilities.
Structural shift 2: From "separate platform implementations" to a "single codebase"
UIs previously built separately for iOS and Android can now be consolidated into a single MAUI codebase. In custom development, we structurally lower maintenance overhead by separating shared layers (business logic and API clients) from OS-specific layers (permissions and push notifications).
Structural shift 3: From "isolated app refreshes" to "modernization inclusive of backends"
Upgrading the mobile app alone will leave outdated SOAP APIs and legacy authentication infrastructure as severe bottlenecks. Drawing on insights from Custom NestJS v12 ESM migration (GH Media), our custom development engagements design integrated modernization covering the API, authentication, and data layers.
The 5 phases of client "cross-platform app modernization"
Phase 1: Current state assessment (2–3 weeks)
- Inventory of Xamarin and legacy .NET assets
- Compatibility review of dependent libraries and NuGet packages
- Verification of app store requirements and minimum OS versions
- Migration complexity scoring (screen count / OS-specific APIs)
Phase 2: Design (2–3 weeks)
- Migration strategy (full rebuild / phased migration / selective React Native, etc.)
- Architecture design (MVVM / DI / shared layer separation)
- Redesign of APIs, authentication, and offline synchronization
- CI/CD design (automated app store distribution)
Phase 3: Implementation (5–8 weeks)
- MAUI project foundation setup
- Porting business logic and API clients
- Implementing OS-specific features (notifications / biometrics / permissions)
- Native AOT and trimming optimization
Phase 4: Verification and release (3–5 weeks)
- Physical device testing (iOS / Android / key target devices)
- Measurement of performance, startup time, and crash rates
- App store review compliance + staged rollout
- Design of user migration funnels from the legacy app
Phase 5: Operational review (ongoing)
- Tracking .NET and MAUI version updates
- Crash and ANR monitoring
- OS update compatibility adjustments
- Semiannual technical debt audits
Standard technology stack set for custom development
| Layer | Recommended technology | Alternative |
|---|---|---|
| UI framework | .NET MAUI | Flutter / React Native |
| Architecture | MVVM + DI | MVU |
| API client | Refit / HttpClient | gRPC |
| Local DB | SQLite / EF Core | Realm |
| Authentication | MSAL / OIDC | Custom authentication |
| CI/CD | GitHub Actions + Fastlane | Azure DevOps |
| Crash monitoring | App Center successor / Sentry | Firebase Crashlytics |
| Distribution | TestFlight / Play Console | Firebase App Distribution |
Which projects need this and which do not
| Projects requiring this | Projects not requiring this |
|---|---|
| Running a Xamarin app in production | Already modernized on MAUI / Flutter |
| Struggling with store reviews and OS compatibility | Comfortable margin on OS requirements |
| High maintenance costs from separate iOS and Android codebases | Targeting only a single OS |
| Enterprise app built for long-term operation | Short-lived promotional campaign app |
| Substantial in-house .NET assets | No internal .NET assets |
Six clauses to include in client contracts
| Clause | Details | What the client should verify |
|---|---|---|
| Migration scope | Target apps / screens / operating systems | Phase transition boundaries |
| Compatibility guarantee | Scope of existing feature replication | Handling of deprecated features |
| Store review support | Support during review rejections | Ownership of review liability |
| Performance benchmarks | Startup time / crash rate SLOs | Handling of unmet benchmarks |
| Handover Upon Project Completion | Source code / CI / runbooks / training | Internal operational continuity |
| OS maintenance | Maintenance scope for new OS releases | Annual OS update maintenance costs |
Estimated client ROI (assuming 1 Xamarin app / separate iOS and Android maintenance)
| Item | Existing (separate Xamarin codebase maintenance) | After MAUI modernization | Difference |
|---|---|---|---|
| Feature addition lead time | 6 weeks | 3 weeks | -3 weeks |
| OS update compatibility maintenance (annual) | 240 hours | 100 hours | -140 hours |
| Inquiries caused by crashes (monthly) | 30 inquiries | 8 cases | -22 inquiries |
| Startup time | 3.2 seconds | 1.6 seconds | -1.6 seconds |
| Annual benefit | — | — | Equivalent to approx. 15 million yen + avoidance of app store risks |
Modernization naturally requires capital investment, but evaluating it across the twin axes of reducing maintenance hours and eliminating end-of-support risks makes it easy to build a solid investment case. Actual benefits vary widely depending on app scale, screen counts, and OS-specific features, so please treat the above table as a preliminary estimation baseline.
Five common pitfalls
Pitfall 1: Leaving apps unattended simply "because they still work"
Xamarin has reached end of support. Plan your migration before an OS update abruptly breaks the app.
Pitfall 2: Attempting a 1:1 direct UI port
Porting the legacy UI as-is carries technical debt forward. Decouple business logic from UI and rebuild only the necessary layers.
Pitfall 3: Leaving the backend untouched
Legacy APIs will become your performance bottleneck. Modernize APIs and authentication simultaneously.
Pitfall 4: Neglecting physical device testing
Discrepancies across device models and OS versions cause critical bugs. Validate against a matrix of key physical devices.
Pitfall 5: Omitting app store reviews from the schedule
Responding to store rejections can quickly inflate project hours. Build review buffer time into your project plan.
90-day action plan
| Week | Action |
|---|---|
| Week 1〜3 | Asset inventory + compatibility review + complexity scoring |
| Week 4〜6 | Migration strategy + architecture + API redesign |
| Week 7〜12 | MAUI foundation build + logic porting + OS-specific implementation |
| Week 13 | Physical device testing + performance benchmarking + store submission preparation |
| Week 13 | Staged rollout plan sign-off + preparation for operational reviews |
Summary — From "extending Xamarin's life" to "modernizing to CoreCLR-based MAUI"
.NET MAUI's move away from Mono highlights that the time has come to seriously evaluate modernization—both to eliminate the risks of neglecting unsupported Xamarin apps and to capture the cost savings of a single codebase. When supporting apps via custom development, we find that migrating in phases using a time-bound roadmap, decoupling UI from logic, and modernizing backends in tandem represents the most reliable, incident-free pattern for modernization.
The difficulty of migrating Xamarin and legacy .NET apps varies greatly depending on screen counts, reliance on OS-specific features, and backend architecture. We provide customized quotes for each project, beginning with an asset inventory and complexity assessment. If you are experiencing challenges such as "anxious about the future of a Xamarin app," "struggling with separate maintenance for iOS and Android," or "wanting to rebuild enterprise apps with a single codebase," please feel free to reach out through our contact form.
Sources
- ".NET MAUI" finally moves away from the Mono runtime (Publickey 2026-05-26)
- TypeScript 7 Go Native Migration Guide (GH Media)
- Custom NestJS v12 ESM migration (GH Media)
- Custom AWS WorkSpaces legacy desktop modernization (GH Media)
- Startup MVP development cost guide 2026 (GH Media)
- PWA guide for small and medium-sized businesses (GH Media)









