Skip to content

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

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

Discussion: MAUI controls #5109

Closed
ghost opened this issue May 29, 2021 · 4 comments
Closed

Discussion: MAUI controls #5109

ghost opened this issue May 29, 2021 · 4 comments
Labels
area-External Not owned by the WinUI team, not actionable in this repository. discussion General discussion team-Controls Issue for the Controls team

Comments

@ghost
Copy link

ghost commented May 29, 2021

Every platform has basic controls such as buttons and switches, but more complex controls like NavigationView or TabView are either only available in WinUI or don't function in the same way.

Wouldn't it make sense to decouple the non-primitive controls from WinUI and move them over to MAUI? This way you could actually get them on every platform.

@ghost ghost added discussion General discussion needs-triage Issue needs to be triaged by the area owners labels May 29, 2021
@mdtauk
Copy link
Contributor

mdtauk commented May 29, 2021

Android has a few concepts that would be an equivalent. Also the NavigationView can be orientated to a top bar.

WinUI could enable bottom placement to work with iOS and Android navigation.

But at some point custom Xaml WinUI controls will need to be created to match common patterns from macOS, iOS, Android etc

In some circumstances, it may be appropriate to create versions of WinUI controls that work on the other platforms too

@ghost
Copy link
Author

ghost commented May 29, 2021

I think it would be best if MAUI created its own controls based on common primitives found on each platform, like Stackpanel or Grid.
For example in dotnet/maui#542 controls like DataGrid are mentioned, which may not exist natively in any of the platforms. If they're built on WinUI only (#1500), they'll be useless for the other platforms.

@mdtauk
Copy link
Contributor

mdtauk commented May 30, 2021

I think it would be best if MAUI created its own controls based on common primitives found on each platform, like Stackpanel or Grid.
For example in dotnet/maui#542 controls like DataGrid are mentioned, which may not exist natively in any of the platforms. If they're built on WinUI only (#1500), they'll be useless for the other platforms.

This is where Fluent UI plays it's part. Creating controls for Web, Android, iOS, etc. And design tokens shared among all of these and WinUI, allow for customisations like corner radius, Shadow, colours, metrics etc.

MAUI can support these as a shared set of controls, whilst still allowing native controls and rendering where developers do not want to use the same pattern for certain platforms.

There is already a Cross Platform effort going on with Fluent UI, to standardise basic primitives like Button and Text

@omikhailov
Copy link

No way, not at the cost of Windows ecosystem which is already almost ruined. This would greatly slow down development, plus, cross-platform controls would have limited feature set, poor quality and design. Current workflow, when one team polishes a library for Windows, and another one uses it in their cross-platform framework, makes more sense. If they didn't create full copy of NavigationView or TabView, perhaps they had reasons, especially keeping in mind that all major platforms are proprietary. As competitors they may use common primitive controls like buttons and text, but have different requirements for concepts of higher order, like navigation, layout, design or input. And if Windows would only have controls implementing common subset of such requirements without advanced features, it would be just incompetitive.

@StephenLPeters StephenLPeters added area-External Not owned by the WinUI team, not actionable in this repository. team-Controls Issue for the Controls team and removed needs-triage Issue needs to be triaged by the area owners labels Jun 9, 2021
@microsoft microsoft locked and limited conversation to collaborators Jul 22, 2022
@ranjeshj ranjeshj converted this issue into discussion #7459 Jul 22, 2022

This issue was moved to a discussion.

You can continue the conversation there. Go to discussion →

Labels
area-External Not owned by the WinUI team, not actionable in this repository. discussion General discussion team-Controls Issue for the Controls team
Projects
None yet
Development

No branches or pull requests

3 participants