Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Shell compatible with the other page types in .NET MAUI #6389

Open
PureWeen opened this issue Apr 21, 2022 · 38 comments
Open

Make Shell compatible with the other page types in .NET MAUI #6389

PureWeen opened this issue Apr 21, 2022 · 38 comments
Labels
area-controls-shell Shell Navigation, Routes, Tabs, Flyout Task neither bug nor feature but something that needs to be done in support of either
Milestone

Comments

@PureWeen
Copy link
Member

PureWeen commented Apr 21, 2022

Currently Shell can't render TabbedPage, FlyoutPage, or NavigationPage. With Xamarin.Forms the Android shell was too incompatible to make this ever work.

The .NET MAUI NavigationPage/TabbedPage/FlyoutPage on .NET MAUI for Android now use pretty much the exact same structures so if they can just be taught to communicate better then they can work together.

On WinUI the same base handlers are used for NP/TabbedPage/FlyoutPage/Shell so again we just need to make everyone communicate better.

Once we convert iOS to handlers the story will be the same for iOS

@ghost
Copy link

ghost commented Aug 30, 2022

We've moved this issue to the Backlog milestone. This means that it is not going to be worked on for the coming release. We will reassess the backlog following the current release and consider this item at that time. To learn more about our issue management process and to have better expectation regarding different types of issues you can read our Triage Process.

@de-preut
Copy link

I would really like to see that to easily add a tablet version to our app by reusing the FlyoutPage base for some layouts in shell!

@PureWeen
Copy link
Member Author

@de-preut can you elaborate? Shell and FlyoutPage are pretty much the same thing right now from a platform stand point they just have different xplat constructs.

@de-preut
Copy link

@de-preut can you elaborate? Shell and FlyoutPage are pretty much the same thing right now from a platform stand point they just have different xplat constructs.

We are asked by our UX team to develop a (more complex) tablet layout and want to keep the benefits we see in the shell approach (with url-like navigation etc). For this we need to have a "main/detail page" (aka FlyoutPage) in the first shell tab, to display a collection of items and their detail page at the same time.

we tried to mimic such a behaviour with simple views (instead of ContentPage) but didn't get the shell navigation to work nicely with it and it felt somewhat hacky (we also had to forward some page events to our view models manually).

To have an official support for a FlyoutPage as the content of shell tabs would eliminate the risk of a hacky solution all together.

@maxkoshevoi
Copy link
Contributor

maxkoshevoi commented Oct 18, 2022

How can I achieve this UI with current MAUI limitations?

screen-20221019-004918.mp4

This issue (#7615) has been blocking me from migrating for six months now

@de-preut
Copy link

@PureWeen any updates on this topic? I still think to be able to embed those page types into shell could help me with my layout requirements (see #10868)

@RsZoli
Copy link

RsZoli commented Feb 13, 2023

@PureWeen Any updates on this please?

@GovindRulz
Copy link

For complex Enterprise Apps , where navigation goes multiple levels deep , We need to be able to use tabbed pages with shell navigation. We have been stuck with migration from Xamarin forms, since the time MAUI has been released. MAUI being a replacement for Xamarin forms, how can we go ahead if critical UI functionality is not supported ?

@Mithgroth
Copy link

No word on this after a year?
Any updates on this?

@Petrarca181
Copy link

omg maui... Probably I should migrate to uno or avalonia...

@samhouts samhouts added the Task neither bug nor feature but something that needs to be done in support of either label Jul 31, 2023
@Transis-Felipe
Copy link

Transis-Felipe commented Aug 11, 2023

Any news about Tabbedpage approach with MAUI ?

I'm worried about the Xamarin end of support and MAUI being so incomplete.

Sometime Google will force devs to use API 34, so we can't publish xamarin apps anymore.

@GovindRulz
Copy link

Is this issue going to be solved ? Once the support for Xamarin ends in may 2024, the app store will pull support too. What will we do with our existing Apps ? Recode the entire navigation without using shell ? We work with Enterprise application that requires complex UI navigation going deep multiple levels. Is it even under consideration for fixing ?

@Petrarca181
Copy link

Petrarca181 commented Sep 6, 2023

Is this issue going to be solved ? Once the support for Xamarin ends in may 2024, the app store will pull support too. What will we do with our existing Apps ? Recode the entire navigation without using shell ? We work with Enterprise application that requires complex UI navigation going deep multiple levels. Is it even under consideration for fixing ?

Someday, yes. For now as solution you can use uraniumUi or devexpress both free both have working tab page

@GovindRulz
Copy link

Is this issue going to be solved ? Once the support for Xamarin ends in may 2024, the app store will pull support too. What will we do with our existing Apps ? Recode the entire navigation without using shell ? We work with Enterprise application that requires complex UI navigation going deep multiple levels. Is it even under consideration for fixing ?

Someday, yes. For now as solution you can use uraniumUi or devexpress both free both have working tab page

Performance implications ? The only thing stopping me from considering migration to flutter or something similar is the sheer amount of shared code that we will have to write again

@GovindRulz
Copy link

MAUI .Net 8 is out , Tabbed Pages is still not supported on Shell Navigation, Will we have to ditch Xamarin and MAUI ? @samhouts

@play4uman
Copy link

I will have to be ditching the Shell altogether if it doesn't add support for Tabbed Pages any time soon. Prism or UraniumUI is the way to go. It's a shame MAUI is missing essential UI features when it's presented as Microsoft's flagship product for creating multi-platform UI

@pme442
Copy link

pme442 commented Nov 29, 2023

I also cannot migrate to Maui until Tabbed Pages are supported in Shell navigation.

@Jerome2606
Copy link

Any news ? I'm also stuck for migration my current applications to MAUI.

@Xyncgas
Copy link

Xyncgas commented Jan 25, 2024

Why not use the MAUI.Blazor and have your app run everywhere
WebUI can do everything just see the websites the web app
You can execute .NET code directly on that platform outside of the browser
You can not implement twitter or youtube using xamarin
but Microsoft use web framework for the UI for a lot of their apps I heard, mostly electron framework
Why are you around here speaking to Microsoft for feeling difficult to use their framework for your business when they don't even use it
For me it's because I can provide advice on how to do MAUI properly : Invent your own browser that has a JS engine and a .NET interpreter (Google can put golang in their chrome browser, firefox can put rust in their browser, but a lot people use .NET)
3rd times is a charm maybe Microsoft can make a browser again
If Microsoft is not ambitious enough to create a browser and let you use html / xaml / even any language via some Application Binary Interface for you to write UI in python or Haskell etc, supporting a DOM which can be interacted from code and you can put things on the DOM to display on screen having .NET to be the platform for all the languages to pretend to be Javascript in our browsers today, at least you can have MAUI.Blazor
Arent you tired writing XAML, don't you desire freedom as a programmer and hold the code you write to the same standard as the artistic values you have to give to your codes in your heart, prcedural / functional / build the AI model to render your UI why so limited to this shit framework

Don't hide this post I am your vibrant community member, I am just a dish washer, and I can see these problems
image
Xamarin related technology aren't productive
image

@akghasemi
Copy link

Hi, any news regarding this, I have an Xamarin app can't be migrated because of this issue related to navigating to tabbed page. at least a work around should be introduced by development teams. even no comments from development teams.
that's not good.

@GovindRulz
Copy link

Is there any possibility that this will be looked into before the May deadline ?

@pme442
Copy link

pme442 commented Apr 10, 2024

Any updates on this yet?

@Quaybe
Copy link

Quaybe commented Apr 22, 2024

Still nothing? This is unreal. I really want to like MAUI, but stuff like this is making it hard :(

Backlogged Aug 30, 2022 and zero updates since... Being able to use tabbed pages in a Shell app should absolutely have been a thing since release.

@Xyncgas
Copy link

Xyncgas commented Apr 22, 2024

MAUI.Blazor is enough there is no need to use the 'actual' MAUI

Using Maui.Blazor you get a browser rendering UI for you, the amount of websites and webapp already proved whatever UI you wanna make it's possible if not performant, Maui.Blazor is running .NET natively too it's not bad

If you are pushing limits, I say use unity (game engine) to make your app, better let yourself set free than not able doing the things you want to do writing XAML

@RsZoli
Copy link

RsZoli commented Apr 22, 2024

MAUI.Blazor is enough there is no need to use the 'actual' MAUI

Using Maui.Blazor you get a browser rendering UI for you, the amount of websites and webapp already proved whatever UI you wanna make it's possible if not performant, Maui.Blazor is running .NET natively too it's not bad

If you are pushing limits, I say use unity (game engine) to make your app, better let yourself set free than not able doing the things you want to do writing XAML

We donot want to use Blazor! Period!

@GovindRulz
Copy link

Re-Engineering the entire navigation to not use shell just because Tabbed pages are not supported on Shell is not feasible. we might as well focus the effort to migrating the entire App eco system to flutter. Which takes away the only advantage we had when we chose Xamarin forms, code sharing across desktop apps and browser apps.

@Xyncgas
Copy link

Xyncgas commented Apr 24, 2024

In 3 years there's gonna be AI solution trans-compiling C# to Mobile / Desktop and you can write codes that has spelling errors and use natural language and if the business relies on 'cross platform' technology it's the solution your boss wants

Maybe voice is going to get recorded during a meeting, the requirement from your boss is going to be given to the AI by one person, and everything get tested and a new version of the application would be available for testing in 2 hours

@GovindRulz
Copy link

In 3 years there's gonna be AI solution trans-compiling C# to Mobile / Desktop and you can write codes that has spelling errors and use natural language and if the business relies on 'cross platform' technology it's the solution your boss wants

Maybe voice is going to get recorded during a meeting, the requirement from your boss is going to be given to the AI by one person, and everything get tested and a new version of the application would be available for testing in 2 hours

May be you havnt worked on anything beyond high school projects

@GovindRulz
Copy link

@PureWeen Will this issue be ever fixed ? We might have to look for other option outside of .net , if this issue is not going to be fixed

@GovindRulz
Copy link

@samhouts Is this task going to be taken up ?

@GovindRulz
Copy link

@PureWeen @samhouts We Migrated the smallest of 3 Apps to MAUI from Xamarin without using Shell , The navigation got more complicated and inefficient. we have issues with Page titles , "ToolbarItem" text color etc , And almost every other blog of sample code asks us to implement shell. The remaining 2 apps has about 50 to 100 screens. Its going to be very complicated building a menu with just the flyout. will seriously impact user experience. Any chance that Tabbedpages will be supported on MAUI shell in the near future ???

@GovindRulz
Copy link

2+ years ! and no movement on this ?

@FabriBertani
Copy link

Any news on this? @PureWeen @samhouts @rachelkang @jfversluis @jsuarezruiz

@omateusteles
Copy link

this issue also happens on Android with navigationPage

@erviss
Copy link

erviss commented Oct 3, 2024

@GovindRulz I agree with you, for complex Enterprise Apps, We need to be able to use tabbed pages with shell navigation. I'm also been stuck with migration from Xamarin forms and there are so many missing features on MAUI compared to Xamarin

@FabriBertani
Copy link

I've made a tabbed page using shell tabs, but we can't use the back button on the navbar while using a tabbed page, I've made a custom navbar with a back button.

You can check it here: TestTabbedApp

@pme442
Copy link

pme442 commented Oct 24, 2024

I have also migrated an app with complex navigation to MAUI from Xamarin. I have numerous issues because I need to use shell AND a tabbed page.
I need the app to initially show the shell tabs. In one of the shell tabs I have a listview. When you tap on an item in the list view I need 2 things to happen: 1. Show the details of that item among 5 to 9 tabs. 2. These details/tabs need to be in a separate navigation layer so that you cannot access or see the shell tabs until you hit a back button to leave the details (which takes you back to the list view). I would think that this navigation concept is pretty common.
I've tried doing this without a tabbed page and the navigation never seems to work well at all and I find myself constantly hiding and showing tab bars. I've tried doing this without shell, and the tab structure gets overly complicated.

@Xyncgas
Copy link

Xyncgas commented Nov 3, 2024

I've tried doing this without a tabbed page and the navigation never seems to work well at all and I find myself constantly hiding and showing tab bars. I've tried doing this without shell, and the tab structure gets overly complicated.

See, you are not allowed to do things outside of the framework. You are an artist so you are not supposed to be limited by your tools so if you really want to provide an experience better than everyone else using Microsoft's products you need to use something else or make your own

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-controls-shell Shell Navigation, Routes, Tabs, Flyout Task neither bug nor feature but something that needs to be done in support of either
Projects
None yet
Development

No branches or pull requests