dotnet / maui

.NET MAUI is the .NET Multi-platform App UI, a framework for building native device applications spanning mobile, tablet, and desktop.
https://dot.net/maui
MIT License
22.27k stars 1.76k forks source link

Winforms like designer with optional hot reload xaml window #3439

Open Shadowblitz16 opened 3 years ago

Shadowblitz16 commented 3 years ago

Description

Can we have a winforms like designer for maui for vs and vs code? Winforms has one of the best drag and drop designers that Microsoft has ever produced. Only being compared to something like vb6.

Of course we would need a live xaml editor with hot reload but both the xaml editor and the forms designer should be closable for small single monitor work spaces.

Public API Changes

It doesn't really need any public api changes as far as I know. Its more of a visual designer suggestion.

Intended Use-Case

Rapid prototyping and development for both xaml and winform developers .

XeonG commented 2 years ago

"Winforms has one of the best drag and drop designers that Microsoft has ever produced."

That was clearly from a day and time when MS had employees who could actually make decent tools and put together consistent UI's.

Instead they buy crap like Xamarin. And there OS looks like it's been pulled apart and taken over by literal retards turning into absolute rubbish.. If it wasn't for the third party dev community putting up patches to fix it, like Explorer Patcher https://github.com/valinet/ExplorerPatcher I would have already left development on this trainwreck that is Windows.

And I dunno who made there Dark Mode theme for Win11 but it was like they hired a bunch of interns who just thought rounding some corners off was enough.. Leaving just about every winform GUI control completely unthemed while breaking support for anyone to fix it. So most UI you see in Windows is just white.. in a dark mode theme.. moron development.

Anyway I'll just stick to using JavaFX they have a Scenebuilder for quick prototyping and the build pipelines work for all platforms..ie Linux included.. Or use QT

MS direction with just about everything now is hair brained and inconsistent, about the consistent thing is it being constantly broken, barely fit for purpose and really unfinished rubbish.

davepruitt commented 2 years ago

Rather than a winforms-like drag-and-drop designer, I would prefer just a simple XAML previewer/designer like they used to have for Xamarin Forms and like they still have for WPF.

I have no clue why they removed the Xamarin Forms XAML previewer, because its' removal has seriously hampered UI design. See this Xamarin Forms issue here: https://github.com/xamarin/Xamarin.Forms/issues/14170

Hot-reload and "live previewer" are no substitute for a good design-time previewer, because they require the application to be running.

MagicAndre1981 commented 2 years ago

I still prefer a winforms-like drag-and-drop designer, I hate this XAML only "design" way. I spend most time trying to make the UI look somehow useable. And the hotreload thing is an ugly workaround which never really works for me.

pieckenst commented 2 years ago

Yeah a xaml drag and drop designer would be a thing good to have , and make designing application ui simpler and more intuitive

davepruitt commented 2 years ago

Similar issues continue to get raised, but Microsoft keeps closing them:

https://github.com/dotnet/maui/issues/6782 https://github.com/dotnet/maui/issues/8610

GuildOfCalamity commented 2 years ago

How the hell does WinForms, WPF & UWP have a real-time designer and MAUI somehow does not????? Is there no QA process at MS anymore? How could you ship VS2022 and not make sure this works... the designer was kind of buggy in VS2019 but I thought it would be completely improved by VS2022.

dazlab commented 2 years ago

Removing the XAML Designer and telling people to use Hot Reload is a major fail. You can only make minor changes before having to rebuild and re-deploy in Hot Reload. It's an absolute nightmare. In the Out-of-the-Box default MAUI app I tried adding an extra button and it wanted a rebuild, which took over 1 minute. This is your solution? Having to do this every time you make a small tweak to the design is not productive.

Tools like Basic4Android allow you to connect to a device and move elements ON THE DEVICE during the design phase, and has had this for years. The Xamarin XAML Designer was fairly buggy, true, but this is a huge step backwards.

Why, oh why, do M$ keep making these schoolboy errors. One step forward and three back.

Steven-L-42 commented 2 years ago

Hope MAUI is going to have this again. Otherwise i cant understand the big step back.

I think Flutterflow is going to show us how this can work. Also WinForms or WPF show us how big this improvement is.

Please bring us a Designer, Hot Reload cant replace this.

BRING US THE GREAT SH*T !

I wasting time while i need to rebuild everything, this steals so many hours. How do you want to build apps efficient without a Designer?

halal-beef commented 2 years ago

yeah, just loaded up maui wanted to make a decent ui and im met with xaml text, i like to look at things visually... to you know actually design

saber-wang commented 2 years ago

Without a designer, it is difficult to write the desired interface.

jaworekplay commented 2 years ago

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop.

KeepDesignerSimple

davepruitt commented 2 years ago

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop. #KeepDesignerSimple

Yeah most people aren't wanting a drag-and-drop designer, but rather a XAML designer/previewer similar to what is already available in WPF, or what was previously available in Xamarin Forms.

Siox0911 commented 2 years ago

Plz vote up this on the feedback page. https://developercommunity.visualstudio.com/t/MAUI-XAML-Designer-and-editor-not-workin/1589956

k3ldar commented 2 years ago

Coming from a WinForm/Web background (no WPF etc) I really wanted to try MAUI with a new project I have, however, without some form of gui editor I have no starting reference, especially as intellisense does not show anything and trying to obtain help from within the .xaml loads a generic page (showing a gui editor).

With no reference of what controls or properties are available within MAUI some form of gui editor is sort of essential from my PoV.

Hot reload is great, but only if you know what controls to add to a xaml file and what properties to set, so a +1 from me on this feature request

Khaldoun-Baz commented 2 years ago

I don't know why Microsoft is always complicating things, it is that hard to make a visual designer or previewer for MAUI? Really I do not understand it's like pushing developers away, I do not know if I will invest more time in MAUI.

dragnilar commented 2 years ago

I'm going to have to add to the demand for a designer, or at least some type of in vs preview. Hot reload is too unreliable and too slow to get a visual representation of xaml changes.

vigouredelaruse commented 2 years ago

if this is a voting situation i vote for maui support from the xaml designer. with one product announcement much discontent would be eliminated. i doubt that would mean the elimination of any legacy xaml designer departments

also

da-vics commented 2 years ago

this is a voting situation i vote for m

Personally I don't care for WinForms designer, since it is using Margins (yuck!) when placing elements on a control. Preview of Window/UserControl would be great. Some apps are huge and it takes a long time to load, HotReload also won't really work if some assemblies are being loaded manually. Really a step backwards. No need for drag and drop. #KeepDesignerSimple

Yeah most people aren't wanting a drag-and-drop designer, but rather a XAML designer/previewer similar to what is already available in WPF, or what was previously available in Xamarin Forms.

100%

zbyna commented 2 years ago

From my point of view XALM is horrible even for using not mentioned large projects debugging. It is better to use https://docs.godotengine.org/en/stable/tutorials/ui/index.html for creating UI than recent ms products. There are good to use multiplatform RAD tools like: https://github.com/wxFormBuilder/wxFormBuilder or https://www.lazarus-ide.org/ but not for c#.

Siox0911 commented 2 years ago

Fun fact. You can design a .Net maui App in Blender... without a XAML Designer. 😂

MisinformedDNA commented 2 years ago

Fun fact. You can design a .Net maui App in Blender...

How?

dragnilar commented 2 years ago

Fun fact. You can design a .Net maui App in Blender...

How?

Same question. I tried looking into this and I could not find anything.

GuildOfCalamity commented 2 years ago

Fun fact. You can design a .Net maui App in Blender...

How?

Same question. I tried looking into this and I could not find anything.

That's because it's a vapid comment, he's saying you can create a graphic visual. You can also draw a circle in Paint, but that's not going to help anyone with the lack of a real-time designer in VS.

vigouredelaruse commented 2 years ago

during the review of these githubs for the product roadmap one hastens to remind the reviewers that some of the users in the market have never taken a design course in our lives, and lack the associated skills required to whip up michalengelos while thinking in xaml, but still have to mock user interfaces while we're building back ends, or trying out product ideas to bring to management

davepruitt commented 2 years ago

This thread currently ranks 4th in total "likes", 2nd in total "hearts", and 17th in total comments compared to all other open issues on this repository. A similar issue located in the WinUI repository ranks 2nd in total comments and 3rd for most likes for that repository.

Yet for some reason Microsoft still has not fully acknowledged their failure and hasn't given any solid evidence that a XAML designer is in the works. This needs to happen for MAUI, WinUI, and yes it even needs to happen retroactively for Xamarin Forms - since it already existed for Xamarin Forms and they took it away.

dragnilar commented 2 years ago

@davepruitt I agree.

IF they are working on anything, I suspect they won't show a hint of it until it's ready. MS is tight lipped about what goes on with VS developments; for example - unless there was some talk of it that I missed, they kept us all pretty much in the dark about the x64 version of Visual Studio.

lynnewu commented 1 year ago

Just to be clear that I understand. I need to design a user interface for my application, which doesn't exist yet.

In order to design the user interface in anything other than the most trivial fashion, I have to run the application. The application that doesn't really exist, but it's ok because I can see the UI change if I change the properties in Live View.

So...VBA has a designer view. WPF has/had a designer view. WinForms has a designer view. VS 2022 used have a designer view, and you...removed it? Why on earth did you do that? Are you really trying to raise the barrier to entry for new developers? Even in the html/js world I can get a live preview in a browser, and you're seriously asking me to spend this insane amount of money on VS Ent and I don't even get somethat that existed in freakin' WinForms?

Yeah, no. Yes, I understand I will learn it, but if my choice is a learning cliff or just dealing with WinForms and HTML/JS, I know I'm going to select the side where I don't lose months and months of productivity just on the slim chance that enough people will want to use the same app on multiple applications, when I could just give them a web-based app much, much sooner.

This was a terrible decision. There is no way I can go to my management and say, "Hey, you know how you wanted our apps to run everywhere? Well, guess what? Our UI devs are going to be in learning Hell for about a year. You don't mind, right? It's just money."

No.

webluke commented 1 year ago

I understand the push to have developers write the UI directly in code as we do with HTHM to create a cleaner UI XAML. But this is different. When developing UI, I spend 95%+ of my time in the XAML but having the live interpreted view of a page or display that is new and not accessible in the application is necessary for development. I can give up the poorly implemented drag-and-drop editing that has been a source of poor performance and bad XAML. But give us a preview of the results of our code and allow basic things like clicking on an element and bringing us to the code. The reason VISUAL Studio became such a success and made Windows a success was the ability to create UIs quickly and then link up the UI with data.

If MAUI is to be the next cross-platform C# UI, it must be easy for new and old developers to create their apps, and the need for a live-in editor view of the UI is turning people away. It is also unfortunate that we see little to no response from Microsoft about this subject. Almost like a high-level manager made the decision, and no one wants to address the issue.

If anyone over at JetBrains is looking for a way to make more sales, adding a visual editor for MAUI XAML in Rider could be a selling point if they want to get more of a foot in the MAUI game.

da-vics commented 1 year ago

I understand the push to have developers write the UI directly in code as we do with HTHM to create a cleaner UI XAML. But this is different. When developing UI, I spend 95%+ of my time in the XAML but having the live interpreted view of a page or display that is new and not accessible in the application is necessary for development. I can give up the poorly implemented drag-and-drop editing that has been a source of poor performance and bad XAML. But give us a preview of the results of our code and allow basic things like clicking on an element and bringing us to the code. The reason VISUAL Studio became such a success and made Windows a success was the ability to create UIs quickly and then link up the UI with data.

If MAUI is to be the next cross-platform C# UI, it must be easy for new and old developers to create their apps, and the need for a live-in editor view of the UI is turning people away. It is also unfortunate that we see little to no response from Microsoft about this subject. Almost like a high-level manager made the decision, and no one wants to address the issue.

If anyone over at JetBrains is looking for a way to make more sales, adding a visual editor for MAUI XAML in Rider could be a selling point if they want to get more of a foot in the MAUI game.

100% agree on this!

davepruitt commented 1 year ago

I understand the push to have developers write the UI directly in code as we do with HTHM to create a cleaner UI XAML.

I don't really understand the push to have developers write the UI directly in code. Let's take Flutter, for example. I actually really like Flutter. I think Google has done a great job with it. But my one major complaint is how the UI is coded. It ends up becoming a massive file of spaghetti code, indented 10 million times and filled with 100 million parentheses. I find it really difficult to read. Unfortunately, a lot of modern tools are moving towards that same kind of UI design - one major one is React. But to me it just looks messy and unorganized.

Meanwhile, I love XAML. Being able to describe the UI in an XML-like format separate from the code logic really appeals to me. I don't need a drag-and-drop editor. I could care less about drag-and-drop functionality. But XAML really takes the cake compared to make-your-UI-in-code solutions. It's clean and intuitive.

Of course, having a XAML designer/previewer would really be nice! I like seeing the results of my XAML as I design it. I don't want to wait until I run the program and then navigate to the appropriate page to see the results of my XAML. The whole point of the XAML designer/previewer is so I can see how my UI looks as I design it. So, Microsoft, I would love to have a XAML designer/previewer. But drag-and-drop doesn't matter to me so much.

da-vics commented 1 year ago

I understand the push to have developers write the UI directly in code as we do with HTHM to create a cleaner UI XAML.

I don't really understand the push to have developers write the UI directly in code. Let's take Flutter, for example. I actually really like Flutter. I think Google has done a great job with it. But my one major complaint is how the UI is coded. It ends up becoming a massive file of spaghetti code, indented 10 million times and filled with 100 million parentheses. I find it really difficult to read. Unfortunately, a lot of modern tools are moving towards that same kind of UI design - one major one is React. But to me it just looks messy and unorganized.

Meanwhile, I love XAML. Being able to describe the UI in an XML-like format separate from the code logic really appeals to me. I don't need a drag-and-drop editor. I could care less about drag-and-drop functionality. But XAML really takes the cake compared to make-your-UI-in-code solutions. It's clean and intuitive.

Of course, having a XAML designer/previewer would really be nice! I like seeing the results of my XAML as I design it. I don't want to wait until I run the program and then navigate to the appropriate page to see the results of my XAML. The whole point of the XAML designer/previewer is so I can see how my UI looks as I design it. So, Microsoft, I would love to have a XAML designer/previewer. But drag-and-drop doesn't matter to me so much.

Definitely! we shouldn't have to launch a simulator or connect a physical device to see UI changes. Especially Xaml.

encodedLife commented 1 year ago

So I don't know what to say. After some years of not needing WPF, I started to try MAUI, maybe for a project or something else further. My experience without a XAML viewer was really horrible, so I switched to WPF and was really shocked when I didn't see the XAML viewer.

Your XAML viewer was awesome, especially when you just want to see how the UI will look like without compiling everything again. Hot reload is a nice feature, but it's not a replacement for the XAML viewer

ArkTarusov commented 1 year ago

The most disgusting experience of my life is trying to develop an application without seeing a visual result. It is not clear how the GUI framework could in principle be released without previewing the layouts view.

mcpontorez commented 1 year ago

Please return or add XAML Designer like WPF, UWP in all UI XAML Products!

nedoboy commented 1 year ago

Developing without preview is really a painful process. We definitely need a XAML viewer!

da-vics commented 1 year ago

@jfversluis :)

GuildOfCalamity commented 1 year ago

I don't think they've ever provided a reason for why it was removed; I'm guessing because of the move to x-plat... but you could still provide a designer and just warn that "visual style subject to change based on platform". Maybe they could dust off XAML Studio? I'm reluctant to move away from WPF because of the lack of a real-time designer.

davepruitt commented 1 year ago

I don't think they've ever provided a reason for why it was removed; I'm guessing because of the move to x-plat... but you could still provide a designer and just warn that "visual style subject to change based on platform". Maybe they could dust off XAML Studio? I'm reluctant to move away from WPF because of the lack of a real-time designer.

I remember reading somewhere (but I can't find it now) that the lack of a designer/previewer was partially motivated by some results from a focus group that they did. But if you look at the number of issues that have been created regarding this topic on the MAUI, Xamarin, and WinUI repositories, it is obvious their "focus group" was flawed.

dragnilar commented 1 year ago

I don't think they've ever provided a reason for why it was removed; I'm guessing because of the move to x-plat... but you could still provide a designer and just warn that "visual style subject to change based on platform". Maybe they could dust off XAML Studio? I'm reluctant to move away from WPF because of the lack of a real-time designer.

I remember reading somewhere (but I can't find it now) that the lack of a designer/previewer was partially motivated by some results from a focus group that they did. But if you look at the number of issues that have been created regarding this topic on the MAUI, Xamarin, and WinUI repositories, it is obvious their "focus group" was flawed.

I recollect the MAUI team giving a different excuse on a podcast/stream (it's on YT, I am having trouble finding the link right now). If I remember correctly, they said that they dropped support for the designer because they don't have anyone that can work on getting the designer to create a reasonable display that can match all MAUI's target platform/resolutions. They conceded that they would like to have it back in one day. To me it sounded like an admission of lack of help. :(

I am just guessing, but I think we can both agree that there is more to this story. I wish @davidortinau and his other team members could take the time and go over this topic in depth and talk about what challenges they are facing right now that are blocking the designer or at least an in-visual studio preview. And discuss alternatives (I.E. An in visual studio preview is really all I know MY team needs to realize productivity benefits we have from WPF).

k3ldar commented 1 year ago

To have it one a single platform would be a bonus right now, you can always extend support for it later

On Sun, 29 Jan 2023, 10:51 Stevie White, @.***> wrote:

I don't think they've ever provided a reason for why it was removed; I'm guessing because of the move to x-plat... but you could still provide a designer and just warn that "visual style subject to change based on platform". Maybe they could dust off XAML Studio? I'm reluctant to move away from WPF because of the lack of a real-time designer.

I remember reading somewhere (but I can't find it now) that the lack of a designer/previewer was partially motivated by some results from a focus group that they did. But if you look at the number of issues that have been created regarding this topic on the MAUI, Xamarin, and WinUI repositories, it is obvious their "focus group" was flawed.

I recollect the MAUI team giving a different excuse on a podcast/stream (it's on YT, I am having trouble finding the link right now). If I remember correctly, they said that they dropped support for the designer because they don't have anyone that can create a reasonable display that can match all MAUI's target platform/resolutions. They conceded that they would like to have it back in one day.

I am just guessing, but I think we can both agree that there is more to this story.

🤔💭

— Reply to this email directly, view it on GitHub https://github.com/dotnet/maui/issues/3439#issuecomment-1407615532, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABKUH3ISAWZVODWYVVL22Q3WUY4TNANCNFSM5IIAQJ7Q . You are receiving this because you commented.Message ID: @.***>

GuildOfCalamity commented 1 year ago

And why they can't enable the designer for WinUI projects at least? That still baffles me.

jaywha commented 1 year ago

I'd take a simple preview at the very least, y'know? Sure, it'd be nice to have the drag-'n-drop designer back too, but it should be pretty straightforward to just loosely interpret the XAML and ignore native look and feel, at first.

WPF has been my bread and butter since my first job after college in 2017. I've got quite a few personal projects that are still in WPF and I'm very accustomed to the workflow. If it's just not having someone to work on it, then I see a slew of interested community members that could make an extension possibly?

LucNanquette commented 1 year ago

A design view (like XAML/WPF) is an absolute must. I wonder what the "visual" in Visual Studio should else stand for?

PhotoSoft commented 1 year ago

I've programing WinForms apps for years. I want to learn MAUI, but the lack of XAML designer is a big problem for me...

eidylon commented 1 year ago

Adding my hat to the rack, for what it's worth! Don't even need a designer per se, just something where I can see what my XAML will look like without needing to freaking run the application every time --- especially since device apps, on emulators, are QUITE slow to load. 🤦🏻‍♂️

MrSyntax commented 1 year ago

ridiculous how this feature is gone. I've been developing for 15+ years with Visual Studio. This is a step back to maybe even 20 years ago, and its unacceptable. All i'm hearing and reading is excuses that dont hold ground.

As long as this feature isn't included, i can't recommend Visual Studio to anyone for cross-platform development. Furthermore, because my team HAS TO develop multi platform, we'll as such most likely move away from Visual Studio alltogether.

It makes no sense to stick to an IDE that actively obstructs and sabotages developers.

The only reason i can think of that Microsoft MAUI team didn't include this feature is because they actually DON'T want multi-platform applications. (probs cuz they scared ppl will move away from Windows?)

davepruitt commented 1 year ago

Microsoft peoples: do you have any information on this at all?

MisinformedDNA commented 1 year ago

@MrSyntax moving away from VS isn't going to do you any good on its own. VS isn't the problem, it's the MAUI team's support (or lack thereof). If you can't build cross platform apps with MAUI, you are going to need a new technology entirely.

Also, accusing MAUI of being afraid of other platforms makes no sense. That's their whole purpose.

I think the real issue is that MAUI is highly underfunded and the designer takes a lot of resources.

For my current team, we've decided to use Blazor (and then MAUI Blazor) instead.

davepruitt commented 1 year ago

@MrSyntax moving away from VS isn't going to do you any good on its own. VS isn't the problem, it's the MAUI team's support (or lack thereof). If you can't build cross platform apps with MAUI, you are going to need a new technology entirely.

Also, accusing MAUI of being afraid of other platforms makes no sense. That's their whole purpose.

I think the real issue is that MAUI is highly underfunded and the designer takes a lot of resources.

For my current team, we've decided to use Blazor (and then MAUI Blazor) instead.

Yeah when you compare various multi-platform projects such as Flutter or React Native with MAUI, it really seems like Microsoft is underfunding MAUI and considers it a side project.

davepruitt commented 1 year ago

Listened to the WinUI community call this morning: they say a XAML previewer/designer it's still "on the backlog". So not really coming any time soon, unfortunately.