-3

I'm planning on building a portal/framework app which would launch a selection of apps. The user's log in details would determine which would be available to them. I would like to use Xamarin.Forms, as it would be multi-platform and it is the code base that I am most experienced with.

There are 2 ways that I can see this being accomplished, a large solution which contains all of the functions and only the ones available to the user are enabled (i.e. image buttons with isVisible = true/false) which navigate to each "app" homepage (this seems to be the simplest to me, but requires updating the entire solution if one "app" is updated).

Other option: a portal app through which the relevant apps are installed (with hidden icons on the phone somehow?) and the apps are launched from icons in this portal. The second solution means that the code for each app is separate and can be individually maintained/updated, it will also reduce the size of the app as only the relevant apps are installed on the phone/tablet, rather than all of the functional "apps" with most being hidden.

I have looked at some of the ways that apps are launched from another app, via deeplinking and launcher or intents and startActivity. But I can't find anything specifically for creating a portal app like I am trying to do.

Is the second option possible or feasible? If it is, are there any ideas of where to start looking at info on how to accomplish it? I have been working with Xamarin.Forms for a few months and created a few apps, so while I am not a beginner, I am not the most experienced.

rhodesR
  • 7
  • 3

1 Answers1

0

In short, the answer is yes, both are feasible. (Jump to the end if you are in favour of solution two.)

But first of all, the choice really depends on

  1. Whether your clients can accept to install multiple apps.
    (This matters, please ask your clients/customers first.)
  2. What is the situation of your backend system.
    (If you have authority/role management in backend, put your mobile pages in one app).
  3. In solution two, how many pages on average are there in each app? Is there any communication between the apps?

a large solution which navigate to each "app" homepage / the apps are launched from icons in this portal

The way that your app is navigating from your portal to another page or another app does NOT matter to users (quite similar experience but probably more latency when jumping to another app).

The scenario I recommend to develop multiple apps is when those apps are distributed to different clients, rather than different users in one company (depends on business requirement).

The second solution means that the code for each app is separate and can be individually maintained/updated

If you are concern about the updating process, well, this is a mobile application, there is not too much difference between building a one-page app and a thirty-page app. Not to mention that the build, deploy process can be done automatically. And here is an opposite extreme case:
Solution one, 9 pages changed, 1 app updated;
Solution two, 9 pages changed, 9 apps updated (or 18, or even 27 apps).

it will also reduce the size of the app

The size of an app is largely affected by the resource files, like images and audio files. In general, don't bother the size in 2021.

are there any ideas of where to start looking at info on how to accomplish it?

Start from linking one app to another: Xamarin Forms: How to open an app from another app?

Shaw
  • 907
  • 1
  • 8
  • 20
  • Thanks, you've given me a decent amount to think about. I think I probably will go for the first solution, though I might play around with the second if I find the solution becoming extremely large. – rhodesR Jan 07 '21 at 11:07
  • The solution will definitely go large whether it is one app or two. But the difficulty level of maintenance depends on the architecture of your solution, not the number of classes. – Shaw Jan 07 '21 at 11:32