Forum Cross Platform with Xamarin

Best strategy for a multi-branded app?

StefanMobileStefanMobile NLUniversity ✭✭
edited January 2018 in Cross Platform with Xamarin

What would be the best way to structure a multi-branded app for Xamarin.iOS and Xamarin.Android where you need to re-use 90% of the codebase between the branded apps?

  • Do you recommend to use one project with several build configurations and add condition statements in the csproj files?

<ItemGroup Condition=" '$(Configuration)' == 'Brand A' "> <Compile Include="Resources-brandA\HomeView.cs" />

  • Or do you recommend to use multiple projects (one project for each brand) and link to the same files?
  • Or use library projects?
  • Another approach?
Tagged:

Answers

  • SokooSokoo USMember ✭✭

    I'd put all the business logic in a project (ViewModels, Models, Services, Interfaces etc) and a second project for you Views, and then a build config to build em all at the same time. But not sure if this is best practice.

  • StefanMobileStefanMobile NLUniversity ✭✭
    edited January 2018

    @Sokoo thanks for you response.

    For the common business logic between iOS and Android we are using a 'Core' project (PCL).

    My question is about a strategy for the platform specific logic (iOS & Android). What's the best way to share it between the different brands?

  • SokooSokoo USMember ✭✭

    @OSDMobile You could write interfaces for it and implement it in every project, but isn't the platform specific logic the same for every brand? Then you could just abstract that too.

Sign In or Register to comment.