Hi Everyone,
I got some questions about migrating Xamarin Native projects to Xamarin.Forms. And I really cannot find any useful information from Google.
Little background:
I just joint a small company and took over a legacy mobile app written by Xamarin natives (Xamarin.Android and Xamarin.iOS) with the common REST access from a library project. It is just a small app for mobile parking (there are not too many platform-specific features)
I am planning to migrate them to Xamarin.Forms. First I think it is a better approach and can use some best practices, like MVVM, UI test, UI reuse etc...
Secondly, I don't have deep knowledge about the native platforms (but I confident with Xamarin.Forms with limited native knowledge and I am the only one developer for this app).
The good thing is the technical director agrees with my ideas. But I am still very scared about the risks.
My questions:
1. Is there any good way to do this migration or I should not do the migration at all? (What I thought is pretty much to rewrite the app)
2. Any tips or suggestions to control the risk?
Any suggestions or recommendations are very welcome.
Kevin Hu
@Khu I believe re-writing the App is a much better idea given that the code you have mentioned might not be up-to-date which may give you hiccups while working through the latest stuff.
I would generally suggest going about creating a Normal Xamarin.Forms App and take it forward screen by screen.
You can obviously, copy all the Rest Calls and other business logic either by referencing the same library or copying and pasting the good pieces of stuff in your new .Net Standard Library. Since it doesn't have any platform specific feature, it will be a breeze for you.
In doing this, you would get a good grip over Xamarin.Forms, given that a lot keeps on changing.
Also, I would suggest to keep doing Push and Pull over your Git repos to ensure that everything works out just perfectly for you.
So to summarise,
1. Just go ahead with rewriting of the whole app
2. Ensure that you are making use of Git or any source control of your choice like VSTS/Azure DevOps/Github/Bitbucket to keep control over unwanted issues that you could get while developing.
Hope it helps!
.
.
.
.
Looking for Free* Microsoft Support on Xamarin Issues, visit https://aka.ms/xamarinsupport
Answers
@Khu I believe re-writing the App is a much better idea given that the code you have mentioned might not be up-to-date which may give you hiccups while working through the latest stuff.
I would generally suggest going about creating a Normal Xamarin.Forms App and take it forward screen by screen.
You can obviously, copy all the Rest Calls and other business logic either by referencing the same library or copying and pasting the good pieces of stuff in your new .Net Standard Library. Since it doesn't have any platform specific feature, it will be a breeze for you.
In doing this, you would get a good grip over Xamarin.Forms, given that a lot keeps on changing.
Also, I would suggest to keep doing Push and Pull over your Git repos to ensure that everything works out just perfectly for you.
So to summarise,
1. Just go ahead with rewriting of the whole app
2. Ensure that you are making use of Git or any source control of your choice like VSTS/Azure DevOps/Github/Bitbucket to keep control over unwanted issues that you could get while developing.
Hope it helps!
.
.
.
.
Looking for Free* Microsoft Support on Xamarin Issues, visit https://aka.ms/xamarinsupport
@AnubhavRanjan. Thank for your comment. That is could be the approach I am going to do. We are using Azure DevOps.
A few things need to be prepared before I actually start the rewrite:
1. Moving out a bunch of Binding libraries to separate repositories (currently they are sitting in the same solution by project reference). Going to create Nuget packages for the main app solution
2. Need a bit of time to have a more detailed understanding of the app.
Hope I can finish it within 6 months.