Should everything be converted to forms first?
No. Definitely Not. Make a new Maui project. In that, you'll see folder Platforms
, which contains subfolders Android
, etc. That's where platform-specific code goes.
Is it possible to embed native pages in a maui project?
Yes, by writing a custom handler. See SO answer - Native view via custom handler. See also Create a custom control using handlers.
Writing custom handlers is more work than the Xamarin.Forms approach to embedding native controls, but the result is higher-performance rendering of the Maui+native page layout.
Attempt to use the maui upgrade assistant?
Yes. To see the changes it makes. TBD whether you then use that as starting point, or make a new project, as I mention in answer to first bullet point. If make a new project, you'll be copying your converted files into appropriate places, depending on whether cross-platform, or platform specific. You'll also examine the .csproj
(s) made by upgrade assistant. You'll need to copy portions of that to the "new maui .csproj.
Make a new maui project from scratch?
Probably ideal in the long-term. OTOH, you have to know what you are doing, as that will involve moving code around, and moving sections of .csproj(s). See my responses above.
May be best to use upgrade assistant version first. See if you can get that to do what you need.
HOWEVER, you may sometimes encounter tutorials/example-code that won't work as-is with your upgraded solution.
BOTTOM LINE: Attempt BOTH WAYS: upgrade assistant version, AND start-from-scratch version, adding source files gradually (not all at once). You'll learn a lot by comparing how those work.