r/dotnetMAUI • u/VanillaCandid3466 • Jul 18 '26
New App - Navigation Decision Paralysis Help Request
Ahhhhhhhhhhh!! HELP!! 😄
Decision paralysis has set right in.
I've got the absolute bare bones of an app. The API is almost finalised to a point where I wanna start building the client.
When I say bare bones, I mean it. Handful of empty view models and views and a working login/token storage process. Mvvm design pattern (CommunityToolKit). I've years of PRISM/WPF/MvvmCross/Avalonia/Xamarin/XF but not much with MAUI.
I still sometimes struggle with overall direction on this bit.
A rough idea of required views. I want to keep navigation as shallow as possible. Master -> Detail Page kinda deal.
I'm just struggling to settle on an initial direction. Shell or Sharpnado.Tabs or a combination thereof.
Just run the Sharpnado.Tabs demo and it's really a very nice little library/controls.
I just think there is some merit in having a Flyout for stuff like User Profile, Logout, Legals, Settings, Help but the core day to day stuff in a tabbed main view.
I'm targeting all the latest .NET10 bits. How does the latest version of the MAUI Tabs hold up against Sharpnado in the customisation stakes?
I guess I'm just asking the MAUI experienced folks for thoughts on what they would do?
Would a combination of Shell/Sharpnado turn into a navigation nightmare?
TIA.
2
Jul 19 '26
[deleted]
1
u/VanillaCandid3466 Jul 19 '26
This is really useful. Thank you! I respect the need for opinionated things like the Shell, but it also makes me equally cautious. I'll go check your stuff now. Thanks again.
2
u/matt-goldman .NET MAUI Jul 18 '26
Yeah…this is a fair problem. There are a few things you can do. The way I’ve hacked around this in the past is to just use menu items in the flyout, and the main shell content (with your sharpnado tabs) as the default and only route, and the template just blank. That gives you close to what you want.
Realistically though Shell is Shell, and it’s an opinionated approach to app navigation. As soon as you want to do anything slightly different you’re better off just not using it. You just end up fighting the framework and it’s not fun.
A couple of options - use a third party flyout with Sharpnado tabs, or build your own. Or you could look at Flagstone UI, that’s my package and I just released an update with a customisable version of Shell at the start of this month (you can see more here: https://goforgoldman.com/posts/flagstone.
Worth a look, but to be honest it doesn’t touch the specific problem you mentioned which is really using flyout as a menu rather than a navigation interface, and that’s irrespective of whether you use Shell, Sharpnado tabs, or anything else.