Where are the XAML designer tools?

stanleybroostanleybroo USMember ✭✭
Years have past ;-) not really but I think this question has been asked many Times' before.

The forms previewer crash all the time. It could be seen more of a compile:designer that breaks as soon as you start adding codebehind stuff.

We need a designer for Xaml not css? I think the web guys gonna stick to other tools anyways
The live previewer very nice idea, same thing doesn't work yet.

I just need BLEND with a Visual state manager. where is the backning from the Microsoft team that dream up stuff like the Blend tools :-)

Best Answer

«134

Answers

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    There's plenty of opinions about "need" of a visual designer.
    The WPF XAML designer (with a decade of development behind it) is fine for students just getting into XAML - but real world, professional designers don't use it - at least not in any company I've worked at for the last 10 years; and not any of the companies that any of those companies collaborated with.

    Drag-n-drop designers are limited by one huge fact: They have to guess at what the human wants and intends. They tend to default to something akin to absolute positioning. If you drag-n-drop a button the visual designer will populate every property it can. It will place whacky margins like "313, 542, 198, 651" - hard set sizes to "25, 150" and so on.

    Most actual UI is exactly the opposite. You don't set any more properties than you actually have to. You don't actually set position, you set placement relative to other controls with inferred intent (Top, expand width to fit instead of at 10,20 for a size of 50,200) and so on. That's how you get UI that fits a 1024x768 screen just as well as a 1920x1080 and so on.

    Every company is different. And every developer is different. We all argue one side or the other based on our experiences. Your experiences will be different than mine. And thus your view will be different than mine. Mine isn't better or worse: Just different. With that said... In my experience... The most successful companies and the most successful apps are the ones that need the least amount on-going tweeking and adjusting. They just work. Whether on an iPhone3 or a Samsung 10" tablet. And you just don't get that with visual designers. You need someone that actually grasps/comprehends good XAML practices. They need to grok XAML. Those people don't use designers: THEY are the designer. The markup page is just where they do their work.

  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    Just dont want to manually type gui Xaml code (waste-of-precious-time) AND is impossible to know how it will look like on the end devices.

    Blend for Xamarin Forms *****
  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    I just need Blend for Xamarin thats all.
  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    Typing in markup is the only way to know how it is really going to look.

    Beginners drag-n-drop tools are nifty and all, but they inject TONS of guesswork and pre-populate every option from margin to padding and 90% of the time we just don't want that. There is no way for Visual Studio to know what your intention in when you drop a Label on a Page. Did you want it to always be at 214,889? Or did you always want it 14 pixels below the other Label? or did you always want it centered between the Image and the Label?

  • NMackayNMackay GBInsider, University mod

    The previewer has been an utter farce, really it has. I remember been at Evolve 2016 in the crowd watching it been demo'd, i didn't think it would have been abandoned so quickly but it has.

    I can get by without it but it would be useful, drag and dropping controls into a designer is a bad idea as it produces unclean xaml in my experience. None of the WPF guys in our team (45+ devs) use the blend designer.

  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    Blend is not just for drag & drop controls.
    Blend is simply an incredible tool for the "designer" and easy prototyping user interactions. VSM preview, behaviours ..the list goes on and on...

    Billing by the hour .. handtyping all that Xaml good money for sure

    Heck Why have a gui ..just read the running code M a t r i x ;-)
  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    No it isn't. But this thread is titled "XAML Designer tools" so I was speaking in more generic terms than just Blend(R). It actually is really nice for creating animation storyboards in WPF.

    But it is a WPF tool. Not Xamarin.

  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    UWP? ..also When it comes to dev I am always skeptic to someone arguing "the only way.."
    no - such - thing
  • NMackayNMackay GBInsider, University mod

    I'm staring at the XAML but alas, Carrie-Anne Moss isn't appearing sadly :smile: no white rabbit, nada

  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    Ok I think we have enough comments on this thread now.
    Looking fwd to updated Xamarin Forms design tools as the platform specific designers are now rolling out.
  • HunumanHunuman GBMember ✭✭✭✭

    @stanleybroo

    My preference has always been to code/mark-up by hand, so I agree with the other comments that Xamarin.Forms does not need a drag and drop style designer IMO, but I can see how Microsoft might want to produce one if there is enough of a business case. I am not sure there is one.

    You mentioned easy prototyping user interactions. view state management, etc. these can all be done in Xamarin.Forms with SVOTI, but no designer is planned.

    Tim

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    The two attempts at a Xamarin previewer are pretty worthless and good for nothing behind "My first app" and break for everything that a grown up app uses such as styles, static references, components in other classes (IE: Not directly on the ContentPage).

    I don't say this to beat on Xamarin. Just to point out that part of what a visual editor does is display/preview the UI/XAML/Markup. Now... If they can't make just the previewer work when the XAML is already composed, then they aren't going to be able to make an editor with preview work. Just common logic - If you can't make 'B' work, then you can't make the more complex ABC work. Right?

  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    Xamarin pls get help from the Blend guys. IF they're still there.
    It goes without saying. Design needs design tools. Everybody can hack Xaml all day ..that is not what this is about. Xaml is just the mark up not a tool. How much compile time do you waste when making a Xamarin App? A lot.

    The problem is rather free dev tools and no real revenue, no voice

    You Got to understand. We have used design tools for WPF and lately UWP for the last 10 years. Coming to Xamarin Xaml its like time travel. And I dont think even WPF was even released without a proper design tool.
  • stanleybroostanleybroo USMember ✭✭
    edited July 2017
    The Xamarin live is not the solution rather a Quick fix unless you manually want to test your app localy on your own device.

    Pls Microsoft bring in Kevin Gallo and the UWP team to learn from them, how they solved it for UWP (many screen sizes, potrait, landscape for the VSM manager right in the designer, this what we want)
    https://docs.microsoft.com/en-us/windows/uwp/layout/layouts-with-xaml

    Sorry but just having the Layoutpanel going horizontal in landscape just dont cut it OK!
  • HunumanHunuman GBMember ✭✭✭✭

    just read the running code

    This
    o:)

  • aruancorreaaruancorrea BRMember

    "Xamarin doesn't need a XAML designer"... So let's remove the AXML designer tool?
    I vote for XAML design tool.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    I'd rather see all the visual drag-n-drop tools go away. So I like your suggestion of doing away with the AXML tools.

    UI designed by drag-n-drop is always terrible markup. Application has to guess at your intention. Do you want absolute positioning, or do you want A relative to B? Do you care that the margin is 14 or not? Etc. So every property every time is always inserted. To be fair, for a guessing game it does half decent job.

    But in reality when designing UI you want as few properties as possible being sent, not the maximum. 9 times out of 10 you want a very responsive and dynamic self-adjusting layout. You don't get that by hard setting every property under the sun.

    WPF guys have done XAML/MVVM design going on 2 decades - any if you ask most of them that have done it on an enterprise-grade level - just about everyone I've ever dealt with will tell you that those designer tools are for students just learning. Grown-ups don't use 'em.

  • stanleybroostanleybroo USMember ✭✭
    Oh man, crawl out of the cave and see the light ;-)
  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    Ok. Show me the light. What positives do you seen the visual tools, that overcome all the negatives? What am I missing?

  • stanleybroostanleybroo USMember ✭✭
    Blend for VS studio will save you a lifetime in coding the UI experience and cope with the rest of the challenges for a modern App on all platforms and form factors.
    Working with the VisualStateManager, AdaptiveTriggers,storyboard triggers,datatriggers,invokeCommandActions, Animations (not talking about fade in transitions here), Fluent design, WYSIWYG, no compiling, just design and sketch up your new App. ..do you really want to hand code all that, serious. WHY!!?

    UI shouldn't be coded that's it , .. but if that's your thing and you got customers happy with the average LOB oracle/sap experience or a looooong delivery time, Keep chiseling by all means.
    Robots or even Power Apps can do a coded UI ;-)
  • stanleybroostanleybroo USMember ✭✭

    Just build the App in Blend for UWP Xamarin.Forms and compile it for Android and iOS ..just tweaking the platform specific experience i VSM with AdaptiveTriggers would be ideal.

    Very much like building a game in Unity and export it when it's time for test.
    Being close to christmas and all I guess one is entitled to some wishes for the future ;-)

    If you want to "code the UI"? four+ times, by all means code away. Cant belive we even having this discussion, ...the question should be .."-When will it be incorporated in Xamarin.Forms?"

  • NMackayNMackay GBInsider, University mod

    July 10

    Ok I think we have enough comments on this thread now.

    Erm :smile:

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @NMackay Really? Isn't that the point of a discussion thread? Discussion.

    do you really want to hand code all that, serious. WHY!!?

    Mostly for the reasons I stated earlier... I've yet to see a visual designer tool (including blend) that didn't bloat the daylights out of the markup.

    A program's primary purpose is to do work: Whatever its purpose is. If it can look cool while doing so, then wonderful.

    When the UI designer forgets that, and starts thinking that its all about their designs looking artistic and cool and forgets there's actual work to be done by the app is often were the performance starts taking a serious hit. Especially when considering mobile devices and their smaller CPUs (though getting bigger every year). Games are a special category because they primary are all looks.

    But for the meat-and-potato work that's being discussed here 90+% of t time - UI design tools are more of a hindrance and a problem than they are a help because they create crappy markup. And that's not even getting into the issues related to new coders never actually learning anything about actual UI creation and getting an UNDERSTANDING of complexity and interaction there. If you take a student and give them drag-n-drop then they just never learn beyond that.

    If you want to "code the UI"? four+ times,

    Why would I do it four+ times? I make my UI one time: At the PCL layer and it is used on all the platforms as-is. A couple little platform renderers to draw a couple custom shapes by hand because the app has an existing legacy version that we have to keep design consistency with. And that's all that is done on a per-platform level. Everything else is shared code: One time, one place.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    The problem is you spend as much time stripping all the crap out of automated drag-n-drop XAML as you would if you just hand coded it. 2 seconds to drop and 2 minutes to fix. Or just 2 minutes to type it out right the first time. Its still 2 minutes.

    I think it depends on your people and their familiarity with XAML. When anything is new it takes time. With experience comes speed.

  • CharwakaCharwaka INMember ✭✭✭✭
    edited December 2017

    @ClintStLaurent said:
    The problem is you spend as much time stripping all the crap out of automated drag-n-drop XAML as you would if you just hand coded it. 2 seconds to drop and 2 minutes to fix. Or just 2 minutes to type it out right the first time. Its still 2 minutes.

    I think it depends on your people and their familiarity with XAML. When anything is new it takes time. With experience comes speed.

    In Beginners perspective it would be helpful for them to understand properties and syntax of widgets and layouts as well to check all available controls , i don't think it will take same time to drag & drop and writing Xaml (drag & drop wins here for Beginners) .lot of people of coming to xamarin who are not familiar with Xaml. it would be very helpful for them if you have tools options like UWP.we should make ease for them and not throw them in jungle and tell go find your self(i know documentation is there but not every time). i don't know why for such a simple option this much going on.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭
    edited December 2017

    In Beginners perspective it would be helpful for them to understand properties and syntax of widgets and layouts

    I agree. And in my experience they don't get that if that drag-n-drop then move on. When a person has to type it out the material crosses their brain in several ways: They read it from the book they are learning from, they type it, and they read it again as they type it in order to see if it is right. That is why on my tutorial site I don't provide code that can be copy/pasted. I provide screenshots of code forcing the student to read it, type, read it again. Driving the material into their brain.

    i don't think it will take same time to drag & drop and writing Xaml (drag & drop wins here for Beginners)

    Please don't be offended when I say that in my experience its always the newbies making that claim as a guess. The guys that have been doing WPF for a dozen years aren't screaming about visual UI tools - unless maybe their background is in games or heavily animated application. The guys doing functional programs aren't the ones being pissy about lack of drag-n-drop tools. Take a moment to think about that. If the experienced folks aren't screaming for it there must be a reason grounded in experience. I have found that it does take the same time to get to the final good XAML. Because the automatically inserted XAML is bloated crap that is guesswork on the part of the IDE. You drag it in 2 seconds, then spend 2 minutes stripping it and cleaning it to actually be what you intended.

    Personally... Just my opinion... Those tools are like learning to drive as a teenager on an automatic transmission car. Then 20 years later you still haven't learned to drive a stick shift. But if you learn on a stick shift you have no trouble driving an automatic. And I think this thread is proof of that. So many people jumping up and down to have drag-n-drop tools even though they have 10 years of development experience. Why? Because they never learned to actually code their UI. In some cases its only a subtle difference. But it can be the difference between a good app, and a great one. The difference between one that runs at an acceptable speed and one that is amazing. In the end it also sometimes is the difference between being a developer and being a senior developer. Or between being a senior developer and being the team lead. Companies promote based on true skills and understanding. Drag-n-droppers aren't seen by bosses as higher level employees. I'm not debating right and wrong of that. I'm not debating if its fair. I'm just stating how it really is in the real corporate work place.

    And let me repeat. This is all just my opinion based on my experiences. Your experiences would be different and thus your opinion would be different. I'm not trying to say anyone is wrong while I am right. I think that most people are right on this subject, even if they don't share the same opinion because opinion is based on experience and need. The beauty of coding is that there is often 20 different right ways to accomplish the same thing. Different does not mean right or wrong. All that really matters in my opinion is that you code. Get out there and make programs. I don't give two hoots how you do it. Just do it. Have fun. And get results.

  • stanleybroostanleybroo USMember ✭✭
    Enough
  • morknicmorknic USMember

    The fact that there is the need for some of us to use a designer doesn't mean we are new bees. I am yet to hear anyone say DOS is better than Windows or that Nokia 3310 is better than a Samsung S8 because DOS or Nokia 3310 forces you to type everything you want to do on a black screen.

    It takes me an hour or more to design an interface using xamarin XAML but less than 10 minutes to design the same in a Visual Studio Windows forms or UWP because i can drag and drop.

    The IDE or designer guessing and adding unwanted codes is neither here nor there. Are we saying those who designed XAMARIN are so dumb they can't do a designer for it????? which of these two is easier?

    PLEASE GET US A DESIGNER. IT IS A TOTAL WASTE OF TIME TYPING XAML

    ANDROID STUDIO, VISUAL STUDIO (UWP, WIN FORMS, ASP FORMS), XAMARIN ANDROID, ETC ALL HAVE DESIGNERS. WHY NOT XAMARIN

    I AM JUST AMAZED AT ClintStLaurent

  • MaamounMaamoun LBMember ✭✭
    edited December 2017

    @morknic said:
    The fact that there is the need for some of us to use a designer doesn't mean we are new bees. I am yet to hear anyone say DOS is better than Windows or that Nokia 3310 is better than a Samsung S8 because DOS or Nokia 3310 forces you to type everything you want to do on a black screen.

    But Windows still have this black screen window aka "cmd" nowdays so you can do things that aren't possible in windows, anyway things aren't compared in this way, we don't write "copy /y Button 15,0" in XAML, we are organizing controls as well as their behaviors in less effort and less code, There are theories behind that. a whole book Creating Mobile Apps with Xamarin.Forms Book First Edition written by experienced programmer and writer so you can take advantage of that approach. I don't say you are new bee by preferring designer approach but you just peed on all those theories. and trust me if you use tool like LiveXaml you can design the interface in even less than 5 minutes.

  • stanleybroostanleybroo USMember ✭✭
    edited December 2017

    LiveXaml if works as expected will for sure save compilation time ..and skipping all the fuzz with LivePlayer (works sometimes with iOS though, but too many lost connections and try to reconnect just irritates. A real FAIL half done project is my personal opinion)

    Thanks for the tip, will try it out.

    However these all are very simple tools compared with the fully fledged Blend for UWP, that is needed today. Yes it works for WPF, Silverlight, UWP and why not X-FORMS.
    Xamarin Forms is a great way of making LOB apps, we just need better tools that can handle VSM, behaviors, data states/triggers, Adaptive states and Triggers for different form factors.

    Knowing that there are tools that "could" do the job, coding all that by hand just hurts.

  • GiampaoloGabbaGiampaoloGabba USMember ✭✭✭
    edited December 2017

    I think that with enough effort and resources, it is possible to develop a "base" designer for creating xaml interfaces without bloat. At the end of the day, mobile interfaces are simplier than desktop counterpart, as well as xamarin control are simplier than full wpf xaml.

    For me its not a problem at all to code UI in xaml using LiveXaml (its really awesome, i cant thank enough the author) but, on the other hand, microsoft has the power to create more tools to attract developers (of any kind) to xamarin forms and make our life easier :)

    The sad thing is that they cant even develop a decent PREVIEWER... I cant see how they could throw at us a designer... Its not going to happen.

  • CharwakaCharwaka INMember ✭✭✭✭

    Hi @DavidOrtinau

    why there is no designer like UWP XAML designer for Xamarin Forms, can you give a clear cut reason ? Thanks

  • stanleybroostanleybroo USMember ✭✭
    No ..this is a mystery indeed.
    MS made a great tool for Xaml that covers all the Challenges we face when creating one Xaml GUI that runs on multiple platforms with a wide range of devices, with different form factors, ranging from Xbox to smartwatches.

    Why Xaml X-Forms is left out, MS having no clear roadmap in this area is a mystery indeed.
  • markwtmarkwt Member ✭✭

    Hi All, I've come across this thread because I'm a Xamarin newbie. I've been coding apps for over 20 years using many different IDEs, mainly Delphi since version 1.0 (which was the first real RAD IDE). Decided it was about time to start seriously looking at mobile app development, Delphi provides a very capable designer but decided I need to move away from object Pascal and improve from C# skills hence Xamarin.

    First started on Xamarin native route, gave up on the crap built-in axml designer in VS and used android studio to do form stuff - some success and not too much inefficient markup so it can be achieved. Anyway then decided that all the Xamarin native stuff may result in a reduction of shared code so went down the Xamarin Forms route and found no designer at all - what year are we in! tried using the Xamarin Live app - piece of crap that is at the moment (think latest version has a problem, disconnections from the IDE etc).

    I have had my own software development business for 20 years and time means money, drag and drop with a visual designer does save a significant amount of time simple fact. I agree 100% with what @stanleybroo mentions above. Not sure where I'm going to go from here but i'll keep on trying.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    drag and drop with a visual designer does save a significant amount of time simple fact.

    Well... for you. Everyone is different. I find that the time spent striping out all the crap XAML that VS puts in by default takes as much time (or more) as just writing clean XAML by hand. The more I keep my hands on the keyboard and not task switching from mouse to keyboard the faster I go. Shortcut keys, and accepting the Snippet offered, custom snippets that fill in lots of code/markup for common things etc. save tons of time.

  • markwtmarkwt Member ✭✭

    As You say "Everyone is different", also devs have different roles within a business. If my main task was gui design by adding markup to XAML files I think after a while I would be expert enough to not give it a second thought as to what needs to be added if a change was required. On the other hand I could be working on a multi-threaded Windows service one day, .net website the other then web API service app the next etc etc. I expect development tools (including visual designers) to make my life easier and minimise the amount of effort and detail I have to retain in my ever ageing brain. I going to give XAML a chance, if my view changes I'll certainly add those views to this thread.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    The thing to remember about any visual drag-n-drop tool is that it has to guess at what your intentions are. Visual Studio assumes you want that dropped Label to always be right there... exactly there... all the time... regardless of screen size and orientation. So it puts it at absolute 221x457 with padding of 342,133,27,93 and margin of 98,42,111,12 - You can't be mad at the tool; it had to make some sort of guess.

    It doesn't know that what you really intended was to have a dynamic layout where that label would always be middle of the screen - and thus its position should have been relative to the page as a whole. Or maybe it wasn't supposed to be middle of the page... Maybe it was supposed to be middle of the Grid, that was 1/3 the way down the page.... Or maybe you intended it to remain even with that [Submit] button where ever that got placed...

    And thus VS adds every property available to the GUI control. When a human knowing their intent would only add the minimum properties required to get the job done and let everything else work itself out dynamically. Leaving the drag-n-dropper to have to go back and figure out why something happened and figure out what has to be stripped to get back to the behavior they want. This is I why for me just writing my markup is so much faster.

  • markwtmarkwt Member ✭✭

    I hear what your saying @ClintStLaurent . Have you looked at the latest Android Studio and how the designer deals with positioning GUI elements via ConstraintLayout. From a very tool/designer type of dev I think it's very good and leaps ahead of anything else I've seen for mobile device layout development. Just my opinion from my early analysis.

«134
Sign In or Register to comment.