r/Xamarin Dec 06 '24

Facing Xamarin Sunset: Our journey migrating 600k users to Flutter

21 Upvotes

I'm a mobile dev lead who just wrapped up a massive migration project, and I thought sharing our experience might help others in the same boat.

The Challenge With Xamarin's support ending and our app serving 600k active users, we had to figure out how to migrate our entire codebase while keeping the lights on. Here's how we did it.

Our Approach: The TL;DR

  • Complete migration from Xamarin to Flutter
  • Parallel app strategy (kept both versions in stores)
  • User segmentation based on feature usage
  • Phased rollout over 1.5 years
  • Full UI/UX redesign along the way

The Strategy That Worked

  1. Parallel App Development We maintained both Xamarin and Flutter versions in the stores simultaneously. This was crucial - it gave us a safety net and kept pressure low. Users could always fall back to the old app if needed.
  2. User Segmentation We mapped all user groups based on feature usage and complexity:
  • Basic users (simple viewing/interaction features)
  • Standard feature users
  • Power users
  • Edge cases with custom configurations
  1. Migration Waves Started with simplest use cases and gradually moved to complex ones. Each wave:
  • Forced specific user segments to migrate
  • Validated core functionality
  • Gathered feedback before moving to more complex users
  • Allowed us to fix issues before they affected everyone

Lessons Learned

  1. Planning is Everything
  • Spend time mapping user segments
  • Document feature dependencies
  • Create clear success metrics
  • Don't rush the planning phase
  1. Communication Strategy
  • Clear messaging about the migration timeline
  • In-app notifications about upcoming changes
  • Dedicated support channels for migration issues
  • Regular updates to all stakeholders
  1. Technical Insights
  • Flutter's hot reload saved us countless hours
  • Cross-platform consistency improved significantly
  • Performance gains were substantial
  • Dev team morale improved with modern tooling

What Would We Do Differently?

  • Start user segmentation earlier
  • Build better analytics from day one
  • Document edge cases more thoroughly

Tools & Resources That Helped

  • Sentry
  • Automated E2E Tests + Widget tests
  • Feature flags

Questions? Happy to dive deeper into any aspect of our migration - whether it's technical details, project management, or specific challenges we faced. Drop your questions below!


r/Xamarin Dec 05 '24

Xamarin Apps No Longer Supported on iOS 18: What Are the Options?

6 Upvotes

Hey everyone,

I recently discovered that Xamarin apps are no longer supported on iOS 18 devices. This has left many developers (myself included) in a tricky spot, especially for those managing legacy apps or ongoing projects built with Xamarin.

I wanted to open this discussion to learn what can be done in this situation. Is there anyone actively working on a solution or migration path? Are there tools or techniques to transition apps to .NET MAUI or another platform?

If you’ve faced a similar challenge or have insights to share, I’d greatly appreciate your input. Let’s collaborate and figure out the best approach to move forward!

Looking forward to hearing your thoughts. Thanks in advance!


r/Xamarin Oct 09 '24

How to install latest Xamarin iOS SDK (XCode 15/SDK 17)

1 Upvotes

I have a Xamarin Forms iOS app I need to update, I know that this is the latest version supported by Xamarin but how do I install it given it has been end-of-lifed and support has ended? I think Apple are accepting SDK 17 uploads until April 2025. Unfortunately I'm doing this on a new machine and don't have it installed already. I'm hoping to build on Windows (paired with a Mac Mini) in Visual Studio.


r/Xamarin Sep 23 '24

Updates for TinyInsights, what is new for NET MAUI developers that want to use Application Insights!

Thumbnail youtu.be
2 Upvotes

r/Xamarin Sep 18 '24

Facing Freeze Bug in Xamarin.Forms iOS SDK 14.0 After iOS 18 Update

2 Upvotes

I'm experiencing a freeze issue in Xamarin.Forms iOS SDK version 14.0 after updating to iOS 18. When I open the app, a modal for notifications appears. I can interact with the modal just fine, but once I close it, the app freezes and becomes unresponsive. I can't click anywhere. The only workaround I've found is switching to landscape mode and back to portrait, which unfreezes the app. However, the issue persists each time I relaunch the app. Has anyone else encountered this, or know of a fix?


r/Xamarin Aug 08 '24

Is there any way to totally hide TabViewItem element in Xamarin.Forms?

1 Upvotes

I have simple TabView control and want to hide 'Tab 2' of the TabViewItem element.

The tab 2 was hidden by setting IsVisible="false" property, but I expect that only 2 tabs will remain in the view.

Is there any way to remove the empty space between 'tab 1' and 'tab 3'?

I can't just remove 'tab 2', because it will be used in some cases under certain conditions. In addition, I've noticed that hiding the 'tab 2' breaks the tab indicator's behavior for 'tab 3', because there is no yellow line above the tab.

<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
         xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
         x:Class="App1.Views.AboutPage"
         xmlns:vm="clr-namespace:App1.ViewModels"
         xmlns:xct="http://xamarin.com/schemas/2020/toolkit"
         Title="{Binding Title}">
<ContentPage.BindingContext>
    <vm:AboutViewModel />
</ContentPage.BindingContext>
<ContentPage.Resources>
    <ResourceDictionary>
        <Color x:Key="Accent">#96d1ff</Color>
    </ResourceDictionary>
</ContentPage.Resources>
<ContentPage.Content>
    <Grid>
        <AbsoluteLayout>
            <xct:TabView    TabStripPlacement="Top" 
                            Grid.Row="0"
                            TabStripBackgroundColor="Blue"
                            IsTabStripVisible="True"
                            TabIndicatorColor="Yellow"
                            TabIndicatorPlacement="Top"
                            SelectedIndex="0"
                            IsSwipeEnabled="false"
                            x:Name="TabViewBox"
                            AbsoluteLayout.LayoutBounds="0,0,1,1" AbsoluteLayout.LayoutFlags="All">

                <xct:TabViewItem Text="Tab 1" TextColor="White" TextColorSelected="Yellow">
                        <Grid BackgroundColor="Gray">
                            <Label HorizontalOptions="Center" VerticalOptions="Center" Text="TabContent1" />
                        </Grid>
                    </xct:TabViewItem>
                <xct:TabViewItem Text="Tab 2" TextColor="White" TextColorSelected="Yellow"  IsVisible="false">
                    <Grid BackgroundColor="Gray">
                        <Label HorizontalOptions="Center" VerticalOptions="Center" Text="TabContent2" />
                    </Grid>
                </xct:TabViewItem>

                <xct:TabViewItem x:Name="NewBoxes1Tab" Text="Tab 3" TextColor="White" TextColorSelected="Yellow">
                    <Grid BackgroundColor="Gray">
                        <Label HorizontalOptions="Center" VerticalOptions="Center" Text="TabContent3" />
                    </Grid>
                </xct:TabViewItem>

            </xct:TabView>
        </AbsoluteLayout>
    </Grid>
</ContentPage.Content>
</ContentPage>

r/Xamarin Jul 25 '24

How to see screen mirroring popup in my Xamarin iOS App ?

1 Upvotes

I want to add one button in my Xamarin iOS app and when I click on that button I want to show screen mirroring device list in iPhone and when click on that device start the screen mirroring.


r/Xamarin Jul 25 '24

How to see screen mirroring device list iPhone?

1 Upvotes

I want to add one button in my Xamarin iOS app and when I click on that button I want to show screen mirroring device list in iPhone and when click on that device start the screen mirroring.


r/Xamarin Jul 25 '24

Power of C#/CSharp in Modern Software Development

Thumbnail quickwayinfosystems.com
0 Upvotes

r/Xamarin Jul 01 '24

Can I build iOS app on windows and deploy IPA via mac to store?

1 Upvotes

Hi, Ive never tried this but can I build a xamarin/maui iOS app on my windows 11, paired to my mac and then build it in release and deploy the IPA file from my mac to the store using xcode or transporter and not have to install VS Code on my mac?

OR do i need to build the IPA file from VS Code on the mac?

Basically I just dont want to deal with VS Code.

thanks in advance


r/Xamarin Jun 17 '24

AppCenter is retiring! This is how to use Application Insights for your .NET MAUI apps!

Thumbnail youtu.be
2 Upvotes

r/Xamarin Jun 03 '24

How to play audio in Xamarin

3 Upvotes

Im trying to play an mp3 file when a button is pushed. im trying to follow this guide but I cant add in the using android statement. Xamarin Android Lesson 4 - Playing Audio Files (youtube.com)

adding "using android.media;" gives me this:

Error CS0246 The type or namespace name 'Android' could not be found (are you missing a using directive or an assembly reference?) XamlSamples C:\Users\user\source\repos\XamlSamples\XamlSamples\XamlSamples\project.xaml.cs 9 Active

these are what I currently have in place

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Xamarin.Essentials;
using Xamarin.Forms;
using Xamarin.Forms.Xaml;

if there is a better method for this I am open for that too


r/Xamarin May 22 '24

Send Email issue in Xamarin

1 Upvotes

Hi Everyone, I have a issue in sending email in xamarin forms. I tried many c# codes but i am receiving message couldn't be send.

I have used below code.

MailMessage mc = new MailMessage(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(), To);

mc.Subject = Subject;

mc.Body = Body;

mc.IsBodyHtml = false;

SmtpClient smtp = new SmtpClient("smtp.office365.com", 587);

smtp.Timeout = 1000000;

smtp.EnableSsl = true;

smtp.DeliveryMethod = SmtpDeliveryMethod.Network;

NetworkCredential nc = new NetworkCredential(System.Configuration.ConfigurationManager.AppSettings["Email"].ToString(), System.Configuration.ConfigurationManager.AppSettings["Password"].ToString());

smtp.UseDefaultCredentials = false;

smtp.Credentials = nc;

smtp.Send(mc);

In the android manifest i given below details

<uses-permission android:name="android.permission.INTERNET" />

<queries>

<intent>

    <action android:name="android.intent.action.SENDTO" />

    <data android:scheme="mailto" />

</intent>

</queries>

Could any one help me on this. I was trying this long back.


r/Xamarin Apr 18 '24

I want to improve the performance of my app.

Thumbnail self.dotnetMAUI
1 Upvotes

r/Xamarin Apr 04 '24

How to bypass ssl pinning on a Xamarin iOS app?

2 Upvotes

I’m doing a security assessment on this app and I’ve tried everything in my playbook to bypass cert pinning. Where should I look to patch this app so I can intercept traffic to the web API?


r/Xamarin Apr 01 '24

How to login Microsoft using Auth0?

Thumbnail self.dotnetMAUI
1 Upvotes

r/Xamarin Apr 01 '24

How to change item layout appearance on run time?

Thumbnail self.dotnetMAUI
1 Upvotes

r/Xamarin Mar 14 '24

How do I update an image?

1 Upvotes

I am completely new to Xamarin, and I need some help with how to update an image after the source changes. I know there is nothing wrong with my image itself, it just doesn't display after I select the image. Any help would be appreciated, I'm kinda lost


r/Xamarin Mar 13 '24

.Net MAUI is not XAML

Thumbnail youtu.be
3 Upvotes

r/Xamarin Mar 11 '24

Building an activity tracker app with .NET MAUI and Blazor - Part 2 - Saving data and creating tests

Thumbnail youtu.be
1 Upvotes

r/Xamarin Mar 11 '24

How to redirect new page ?

Thumbnail self.xamarinios
1 Upvotes

r/Xamarin Mar 07 '24

Syncfusion's Response to Xamarin’s End of Life: A Comprehensive Plan

Thumbnail syncfusion.com
6 Upvotes

r/Xamarin Mar 06 '24

Building an activity tracker app with .NET MAUI and Blazor - Part 1 - Getting started

Thumbnail youtu.be
1 Upvotes

r/Xamarin Mar 06 '24

UsbSerialForAndroid what to do for multiple ports/interfaces ?

1 Upvotes

Hi, I am using the UsbSerialForAndroid, https://github.com/anotherlab/UsbSerialForAndroid for talking to devices over serial usb.

So far it worked fine and there were no issues. Now, I’m trying to work with a device which uses CP21xx driver which has two ports - “standard” and “enhanced”, my messages work on “standard” and I have changed the part of code in Android/drivers/CP21xx…cs to set the interface to the one with “Standard”, but my messages don’t get a response from the device.

Now, if I use a 3rd party app “Serial usb terminal” https://play.google.com/store/apps/details?id=de.kai_morich.serial_usb_terminal&hl=en_CA&gl=US , whose source code I don’t have first , send my messages, get the reply, and then use the UsbSerialForAndroid example app again, I now get responses to all my messages.

Note that the code or configuration doesn’t change for the UsbSerialForAndroid.

Also, once working, even if I close the app or send messages after a very long time , I still get replies, till the time I don’t remove the physical usb connection.

If I unplug and reply the usb or power cycle the device that uses the CP21x driver, then I again have to use the third party app first to get the UsbSerialForAndroid sample app working again.

I don’t know why it needs that third party app to connect and send the messages first although I don’t change anything in the UsbSerialForAndroid app between those two scenarios.

Can someone help me with this ?

Has anyone ever worked with CP21xx drivers with Android and usb serial ? Or anything similar that has two ports/ interfaces ?


r/Xamarin Feb 23 '24

Beautiful Property App In .Net MAUI

Thumbnail youtu.be
5 Upvotes