[Enhancement] UWP as a first-class platform (alongside Android and iOS) #158
Replies: 37 comments
-
And since Microsoft is supporting macOS officially in MAUI, the same should also apply to macOS. |
Beta Was this translation helpful? Give feedback.
-
This looks a lot like this huge issue, where people would like MAUI to be made based/forked on UWP and not on Xamarin: |
Beta Was this translation helpful? Give feedback.
-
What @MuleaneEve MuleaneEve was requesting is that more effort be given to make sure MAUI has a proper support for UWP - in terms of features and tooling. Stop mixing XAML debates with this. |
Beta Was this translation helpful? Give feedback.
-
@saint4eva I don't think is mixing the debates, he wants something towards WPF, so I think is the same thing. Everyone wants a base which is either WPF or UWP. So far it has been proposed Xamarin which is something no one likes (sorry, not counting students). |
Beta Was this translation helpful? Give feedback.
-
Within the context of this issue, I don't care what XAML/architecture MAUI uses. I just want UWP to be well supported. Let's keep each issue focused on one thing; it will make it easier for the developers to triage and discuss them. |
Beta Was this translation helpful? Give feedback.
-
I sometimes think that cross platform UI with this UWP thing is not possible. here is example <StackLayout Padding="30">
<Frame Padding="40, 0"
CornerRadius="30"
BorderColor="LightBlue">
<Picker Title="Something"
ItemsSource="{Binding Options}"
BackgroundColor="Transparent" />
</Frame>
</StackLayout> See result below .. I just can't understand what is that, and when I look at it I can't stop wondering, where in computer UI history we had picker with it's placeholder (or title) on top of the control. Now if this is UWP issue, then cross platform UI with this UWP is impossible. If this is Xamarin implementation then we need better. As you see, for this code (frame, and picker) we need OnPlatform to fix the problem. If we need one OnPlatform switch per 2 controls, then we rather have one OnPlatform per whole page, and forget about shared UI. |
Beta Was this translation helpful? Give feedback.
-
I'd propose that instead of trying to make Xamarin Forms (ne Maui) work well with UWP, Microsoft should just dump Maui and use Flutter rendering and put the effort into getting flutter working on UWP. See here: #160 |
Beta Was this translation helpful? Give feedback.
-
@MhAllan that's a native UWP ComboBox. The https://github.com/xamarin/Xamarin.Forms/blob/master/Xamarin.Forms.Platform.UAP/PickerRenderer.cs Proposals? |
Beta Was this translation helpful? Give feedback.
-
Are you being paid to write the same comments throughout this repo? Most times, out of context of the topic being discussed. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
I believe I have been vindicated. |
Beta Was this translation helpful? Give feedback.
-
@JohnGalt1717 OK, just you have vision and everyone else is wrong. 😄 |
Beta Was this translation helpful? Give feedback.
-
Before proposals, It is not UWP issue, it is actually Xamarin implementation. Look here: xamarin/Xamarin.Forms#3646 Does the Xamarin guy sound right? for me he is 100% wrong. A placeholder is where a placeholder is, and it is not meant to be visible when there is data and it is not Xamarin business to help us title our forms because we simply can put labels. Your decision in Xamarin is what actually made this control look strange, you violated the control for no real reason. |
Beta Was this translation helpful? Give feedback.
-
@MhAllan I must say, this MAUI made my life much funnier... now I laugh everyday because I always thought I was the only one who didn't like Xamarin... 😂 😂 😂 |
Beta Was this translation helpful? Give feedback.
-
@MhAllan I'm confused why you think XF 3646 is the wrong way. It seems to me Hartez makes sense. XF Title prop to UWP ComboBox.Header makes more sense than placeholder as a default. Using place holders is a style choice that not everyone wants. If the XF Picker property was "Placeholder" and was being mapped to the UWP "Title" property I would understand the confusion. The great thing with forms is it doesn't take much to create a custom renderer that would change that behavior if you like, as mentioned in that PR. With MAUI making those custom renderers will be even easier it sounds like. |
Beta Was this translation helpful? Give feedback.
-
I hope MAUI is a new and solid start point to solve the problems target Windows and WEB, beside iOS and Android. |
Beta Was this translation helpful? Give feedback.
-
I completely agree with the sentiment that the Windows target should be treated as a first class citizen (note that it looks like it will be WinUI rather than UWP support in MAUI). However, my concern is that the roadmap shown at https://github.com/dotnet/maui/wiki/Roadmap has Mac parity scheduled before Windows parity. Despite the number of machines running Windows being greater than the number of Macs, it appears that the long-standing preference of Macs among the former Xamarin team is still having too much influence on the rollout of support that customers actually need. The roadmap certainly makes it look like Windows support has slipped from third on the list to fourth. |
Beta Was this translation helpful? Give feedback.
-
I was a little bit skeptic regarding UNO but looks like they know better than MSFT on which path to go. |
Beta Was this translation helpful? Give feedback.
-
@jcbeppler I understand that is is easy to be skeptical, but the .NET team has changed their plans many times based on public feedback.
So, I am not saying that Microsoft will always listen to whatever the "public" asks (which is impossible), but let's give them constructive feedback. That's the best way to steer them in the direction we want. |
Beta Was this translation helpful? Give feedback.
-
I suspect the MacOS platform is currently less of a first-class citizen compared to UWP at this moment and will require more work then UWP to bring iOS/Android parity. So it would make sense to put it sooner in the development plan than UWP, during the "Preview" period as it may require more time to complete. Windows is still scheduled to be done before the initial release. Let's not attribute to preferences and politics what engineering needs can explain. |
Beta Was this translation helpful? Give feedback.
-
@MuleaneEve I mentioned I was initially skeptical about UNO Platform, not MAUI. MAUI I am pretty sure it's the most horrible announcement I've heard since I started using C# (around 12 years ago). Not because the one UI is a bad idea, it's because using Xamarin is a bad/horrible/creepy idea. (I'm lacking enough "bad" synonyms here and yeah, I'm pissed as many people are pissed with these) Nowadays I think the UNO Platform guys are doing exactly what every C# developer expected in his whole life, XAML+C# which can be used on everything: Windows desktop (the only desktop OS people care about), Web, Android and iOS. Not this Xamarin/MAUI hybrid monster which aggregates no value. And to be honest, in the years since I started programming, I've seen little improvement in the tools I use. And I'm not asking MSFT to listen everything the public asks, as this is impossible because each one has one opinion. I'm asking to listen to the majority. |
Beta Was this translation helpful? Give feedback.
-
I think that the main reason why UWP is harder to support for Xamarin developers is iOS: This is also the case for third-party libraries developers like the author of PancakeView who blogged about that. So, I can think of two (complementary) solutions to this issue:
|
Beta Was this translation helpful? Give feedback.
-
In addition to the Remoted iOS Simulator, we should have Remoted macOS app deployment. This way, we can develop on all platforms with Windows or Mac. |
Beta Was this translation helpful? Give feedback.
-
I think UWP'll die in a few years. Project Reunion - future of desktop development. |
Beta Was this translation helpful? Give feedback.
-
@LeftTwixWand Within the context of this issue, Project Reunion doesn't change anything. At best, MAUI will switch from using UWP controls to using WinUI 3 controls. |
Beta Was this translation helpful? Give feedback.
-
Then use UNO Platform, if it meets your need. Kindly note that .NET is not only for XAML developers. |
Beta Was this translation helpful? Give feedback.
-
@saint4eva I mentioned that the UNO Platform is the bare minimum I expect. And I mean minimum, so I am not sure if my expectations are too high or the MSFT managers expectations are too low. And I agree, is not only for XAML developers but is the "expected idea" that with one programming language you can create software for multiple targets... at least reuse parts of the software... be it with xaml or html/css. XAML looks a little bit more organized to my eyes but I also like some things from html/css. It must have a standard combination and go into one direction. |
Beta Was this translation helpful? Give feedback.
-
I suppose rather than say "UWP as a first-class platform", I would consider saying "Windows as a first-class platform". From my own point of view, I'm more concerned that I can write a mobile app that will run on iOS/Android/Windows than really what "kind" of application that ends up being. If UWP gets ditched in favour of some Win32 application, or Project Reunion introduces some other platform technology, I am not particularly bothered - so long as I can write as little platform-specific code as possible. As an evolution of Xamarin Forms, MAUI should be aiming to have a platform-agnostic approach as much as possible with a focus really on having a UI that is cross-platform. And, to me, that platform includes Windows, not necessarily UWP specifically. |
Beta Was this translation helpful? Give feedback.
-
Uno is built on the work of the Xamarin team (just not the Xamarin.Forms portion of it). They used Xamarin to make WinUI/UWP cross platform. It is the Xamarin.Forms part of Xamarin that doesn't get as much love from some folks. That is partly why Maui isn't just a renaming of Xamarin.Forms, but also rewriting a lot of the back end code. Whether that'll please the critics remains to be seen. An interesting development from Uno is a SkiaSharp backend, which they're using to run Uno apps on Linux. They already support running Xamarin.Forms apps that target UWP on their WASM back end, so I wonder if the same will be true for their Skia backend? It could be that Xamarin.Forms apps rendered in Skia is already very close, even if the route to get there is a bit convoluted. |
Beta Was this translation helpful? Give feedback.
-
@greatawesome I think this image below shows why I like UNO Platform idea (not that I have used it so far). They use Xamarin strictly on IOs and Android, they don't mess up UWP. UWP is excellent the way it is today, an environment which works and on which .NET developers are finally able to do native compilation for IP protection. |
Beta Was this translation helpful? Give feedback.
-
Summary
I would like UWP to be developed and supported at the same level as Android and iOS.
In Xamarin.Forms, it is very common for samples to be made only for Android and iOS. And worse, it often happens that new features are launched without UWP support at first (and some times, that support stays incomplete for a long time. See Shell...).
I hope that the new Single Project proposal will make this request more seamless, but I would also like the developers working on MAUI to give a bit more consideration to UWP.
Changes
Edit: Based on this comment:
Make MAUI code as platform-independent as possible. That way, even if a developer only writes for Android/iOS. The code will implicitly work on other platforms as well. For example, reducing the reliance on renderers would be a good step in that direction.
Make it possible for Xamarin developers to compile & run UWP apps on macOS (with a remote connection like it is currently possible to compile iOS apps on Windows).
Intended Use Case
If Microsoft itself neglects UWP in favor of the other platforms, it doesn't help UWP stay relevant.
Beta Was this translation helpful? Give feedback.
All reactions