Where are the XAML designer tools?

24

Answers

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    Have you looked at the latest Android Studio

    No really. I've used it for native services... Used it to make a custom keyboard... But nothing I could really call a 'normal app' where I would be using the designer.

    If its good, that's wonderful. And maybe it will spawn a copycat behavior in Visual Studio. Just like iOS advances get copied by Android.... Then Android advances get copied in iOS... Its a closed loop kinda thing.

    Xamarin/Visual Studio does have to keep somewhat agnostic and multi-platform too. Android Studio has the advantage of just being Android. VS has to make everyone on 5 platforms happy. Good luck with that. {laugh}

  • mdizzymdizzy USMember ✭✭

    @ClintStLaurent said:
    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.

    Read through this thread and giggled...a lot. I worked with WPF from beta (2006) and did a lot of XAML by hand. When Blend was first released back in 2008, I felt like you...I spent more time cleaning the crap that Blend spewed out than if I had written it by hand.

    Then they started making improvements. And absolute layouts are a thing of the distant past. By 2010 they had an amazing system for managing grid layouts...want to insert a new column in the middle of your grid? Have fun updating the 20 items that now have to have their column number incremented by 1 if you're doing that by hand. Or in Blend, insert new column and tada, all of that is done for you.

    Doing a rough layout by hand, and fine tuning it with the property grid in Blend is vastly more efficient than writing XAML out by hand. The gotcha is that you have to learn the tool in order to get to that level. As much as I LOVE XAML and the ability to create cross platform UIs with a single code base, knowing what I had before with Blend feels like the phantom limb syndrome: my mind knows there should be something there but it's not.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @mdizzy
    Blend is a good tool. But it works on Microsoft (WPF) XAML. Not Xamarin XAML.

    That there begins the crux of the problem that flows downstream to countless other complaints.
    I get it in so much as you have to have different namespaces to avoid confusion... Xamarin used to be its own company and all of their work was outside of Microsoft... etc.

    At this point there is still a big disparagy between Xamarin XAML and WPF XAML. And personally I think from the time of the purchase of Xamarin in 2016 to now should have been enough time for the vast resources of Microsft to get the two in-line and consolidated to a single flavor of XAML that all the tools played well with. I guess that will one day be XAML Standard. Right now its just that painful mid-point between A and B. {sigh}

  • mdizzymdizzy USMember ✭✭

    Agreed 100%. At one point there were 4 different XAML variants (WPF, Silverlight, Windows Phone, and WinRT), with enough variation between them that transitioning between them became death by a thousand papercuts. Hopefully like you mentioned the XAML Standard will address some of this (plus the fact that XForms is heading toward being the deFacto UI across all platforms for .NET). It's getting there but this definitely reminds me of the WPF beta days.

  • GiampaoloGabbaGiampaoloGabba USMember ✭✭✭
    edited March 2018

    There were already a couple of requests for xaml designer, they are just getting ignored:

    https://xamarin.uservoice.com/forums/144858-xamarin-platform-suggestions/suggestions/6716840-blend-for-xamarin
    https://xamarin.uservoice.com/forums/144858-xamarin-platform-suggestions/suggestions/17265095-xamarin-forms-designer
    https://xamarin.uservoice.com/forums/144858-xamarin-platform-suggestions/suggestions/14738598-please-implement-a-xaml-designer-view-like-microso

    plus other minor, asking the same thing.

    It seems that the designer is the most wanted feature. Imho we are not going to have it for at least few years, in the meantime i hope that they just buy LiveXaml, hire the guy behind it and finally ship an usable previewer, not the crap that are Forms Previewer and Xamarin Live Player :)

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    Two cents worth (IE: One guy's opinion)

    • Heavily requested doesn't automatically make it a good thing. I don't want to see TV's in cars just because 5 million people request it. If not making a drag-n-drop designer means not getting an additional million rookie problems (that stem from total lack of learning) a day they have to field then you can see why they don't want it. Making it even easier for an untrained chimp to make a UI doesn't improve anything for anyone.
    • You can't make tools that ride on top of eco-system if you don't have the eco-system. There are so many things missing from functionality that have to be prioritized first. It doesn't matter how you make the XAML if the Label itself is still broken and can't do simple horizontal alignment correctly. It doesn't matter how you make the XAML if there is no MergedDictionary {...} and so on. So they really need more people getting the foundation guts and gears going - so they can then work on more tools.
  • stanleybroostanleybroo USMember ✭✭
    Totally agree. Get going :-)
    I mean the Xamarin team have done a "working" designer for iOS and Android. Why not for Xamarin Forms? The most used Xamarin framework? Get going and add in VSM and Adaptive triggers like Blend for UWP.
    Push, push :-)
  • CharwakaCharwaka INMember ✭✭✭✭✭

    @stanleybroo said:
    Totally agree. Get going :-)
    I mean the Xamarin team have done a "working" designer for iOS and Android. Why not for Xamarin Forms? The most used Xamarin framework? Get going and add in VSM and Adaptive triggers like Blend for UWP.
    Push, push :-)

    I dont know why some people are strongly opposing this feature,its a basic feature that every newbie wants.

  • stanleybroostanleybroo USMember ✭✭

    This is what we want for Xamarin Forms ;-) a proper design tool that can cope with adaptive layout.
    I cannot stress enough the difference in rapid dev between Xamarin.Forms hacking xaml by hand and compiling ..compared to i.e. UWP dev with Blend taking care of everything concerning the UI ..without compiling.

    Since Xamarin.Forms is kind of the Xamarin version of UWP/WPF ..look back at the good things already invented ,move it in, change it, do it better, move fwd ;-)
    In short ... Blend support for Xamarin.Forms VS2017

    Take the time to watch all videos on this page and then decide what tool you think would suit a Xamarin.Forms UI designer
    http://blog.jerrynixon.com/2014/01/the-most-comprehensive-blend-for-visual.html

  • agonzalezagonzalez USMember

    Designer is a must have. A drag and drop UI designer is why Visual Basic become so popular and later Delphi or .NET winforms, WPF/Silverlight, etc.. because everyone and beginners could learn and create applications very easy and learn very fast and motivate them to continue working on them.

    I dont know why people that dont want an UI designer keep commenting here, we already know you are more productive with coding XAML and live player, you are not adding any value here. If you dont want UI designer, dont use it and continue working as you are today but we need alternative for people that dont want to do UI coding and that feel UI is boring and unproductive.

    Most people will benefit from an UI designer and will motivate beginners to use xamarin tools and get more adoption of MS Xamarin in general. For most LOB applications UI is boring, repetitive and is not where innovation or differentiation is.

  • GVxGVx USMember ✭✭✭

    Or, if no designer then give us hot reload. The ability to change code on the fly, being UI or business logic and within 1 second of saving the file update it on the device. Flutter is able to do it and thus does not need a designer..

    However as stated, on Xamarin Forms, change a color, change the position of a UI item and wait 45+ seconds for it to compile, deploy, tap through to the screen you made the change to.. oh hang on, it failed compiling for no reason whatsoever.. close visual studio, re-open visual studio and compile, deploy, etc and this time it works..

    Ummm over 2 minutes to check the color change of a UI item.. Of course we don't need a visual designer.. :neutral:

  • BenHayatBenHayat Member ✭✭

    Ah, I miss my Blend for Silverlight/WPF days. I wish Xamarin would bring back Blend to design for phones visually.

  • ThereIsNoUsernameThereIsNoUsername USMember ✭✭

    So what is the timeline for this? When will we have the tools we have used in Visual Studio (and Blend) for decades work with Xamarin and Xamarin.Forms?

    @ClintStLaurent and others using vi because it's superior productivity should focus on stuff they want instead of those things they don't want.....unless, of course, you know what is better for everyone else and what they like and want more than what they do themselves....

  • batmacibatmaci DEMember ✭✭✭✭✭

    why cant microsoft can give us something similar to livexaml at least? I am already paying a lot of money for VS subscriptions, i dont feel to pay for a designer extra. this is really annoying from microsoft. At least buy livexaml and make for VS as default

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @batmaci
    Just curious... The last time I tried LiveXaml is didn't do much better. As soon as you started using derived types such as MyCustomBasePage : ContentPage or MyCustomBaseView : ContentView it broke. As well as not handling static resources for things like font, size, style and so on.

    Has that changed? Has it gotten better? Can it handle this type of 'grown up' application development now?

  • batmacibatmaci DEMember ✭✭✭✭✭

    @ClintStLaurent I have just recently tested it and it was almost perfect for me. even all syncfusion and other 3rd party tools worked fine. I have derived base classes only for ViewModels. I am not sure about pages. but Dependency injection seems to work also. because I split my net standard project into 3 to share some logic between my apps and i am using DI for those and perfectly working. I respect to hard work of others like gorilla player, live preview etc but all these are useless comparing to livexaml.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @batmaci
    Good to know. Thanks for the thorough write-up. I might give LiveXaml another go and see how it does.

  • MickeAnderssonMickeAndersson SEMember

    It gets depressing, when you see the old foxes spamming "we don't need GUI tools!!" over and over, on all the forums. All us that code just for a living and not for perfection (yes, there is a distinction) - sorely lack that ability.

    microsoft, please don't take hard-core coders as representative of all your customers, is all I ask.

  • GiampaoloGabbaGiampaoloGabba USMember ✭✭✭
    edited May 2018

    @batmaci said:
    why cant microsoft can give us something similar to livexaml at least? I am already paying a lot of money for VS subscriptions, i dont feel to pay for a designer extra. this is really annoying from microsoft. At least buy livexaml and make for VS as default

    It seems that Miscrosoft listened to you :)

    They are developing something similar to livexaml. It's still in early preview:
    https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/live-reload

    It looks pretty cool, but i dont forget the bad, bad work they did on the the previewer or the Live Player.

    I'll stick with liveXaml for a long time :)

  • ThereIsNoUsernameThereIsNoUsername USMember ✭✭

    They are developing something similar to livexaml. It's still in early preview:
    https://docs.microsoft.com/en-us/xamarin/xamarin-forms/xaml/live-reload

    It looks pretty cool, but i dont forget the bad, bad work they did on the the previewer or the Live Player.

    I'll stick with liveXaml for a long time :)

    This is not even remotely related to a designer like Blend.

    We need a designer, not something we can run after and see what it looks like after we compiled the project....we already have a solution to the problem: "what does my app look like when I'm running it", it's either the phone or the emulator. Not sure which problem this "live-reload" is the solution to...

  • batmacibatmaci DEMember ✭✭✭✭✭

    @GiampaoloGabba I tried it first day and immediately failed. I reported on their gitter, i was told that it fails because my android project is using project.json file. then i just installed it. I dont want to do workaround for it. It already requires several steps until to run it comparing to LiveXaml which is very straightforward. Install and go!
    I tested also on an empty project which worked fine like livexaml. then I just switched to uwp, it didnt work. I switched back to android, it shows connected but it doesnt display it is connected to what?? when it is connected, it shows the name of the emulator. so i tried to connect again and again, it failed.
    I can understand that it is the first version and it will improve it in time. lets hope and see...

  • anpham6anpham6 Member ✭✭

    I am not sure if there is one already but has anyone tried using HTML/CSS to design a mobile UI and then converting it into Android XML or XAML? HTML probably will always be the best and easiest way to design UI. Building a HTML based designer with mobile only needed features would not be too difficult. I spent this past month prototyping the concept for Android. The idea for doing it was from Xamarin Forms since you can build almost an entire application from just using XAML. The problem is XAML might be too difficult for people with an HTML background and they probably wouldn't transition to mobile programming. I have the same problem myself when dealing with creating the UI portion of a program more than the C# side of things.

    I created a program that converts HTML into Android XML. It is able to generate most of the Android layouts including ConstraintLayout and is pixel to pixel accurate as well. You can design your UI with an HTML designer and then convert into Android.

    Search for "chrome-android-layout" on GitHub.

  • lv412lv412 Member
    edited May 2018

    My concern is the fact I can't add controls from the toolbox. I don't care too much if have or not a graphic designer, but i want to know what controls I can use and his available properties, guessing properties do not look as a professional work tool.

  • lv412lv412 Member
    edited May 2018

    Probably help some auto-code there, man, just stay guessing the properties value is a pain.

  • JGoldbergerJGoldberger USMember, Forum Administrator, Xamarin Team, University Xamurai

    @lv412

    There should be auto-complete that should help you with available properties. Property values are different though. If the property value is an enum type, then you should get auto-complete choices to select from, but if the property value is a string or an number, you obviously won't get choices offered as any string or number should be OK (as long as you are within range of the type of number, i.e. int, float, double, etc).

    You can always look at the API docs for a list of properties and the values they can accept.

    Here is the API doc for a Button.

    If you scroll down to the "Properties" section you can see all of the available properties for a Button. Click on a property for info about acceptable types/values.

  • WasserEsserWasserEsser Member ✭✭
    edited May 2018

    I'm using LiveXAML for Xamarin.Forms. It does have its limitations such as that you can only edit XAML files or that Views must have a parameterless constructor but it's still a great tool to quickly design a User Interface without having to deploy inbetween. Prepare your code behind beforehand, import all assets and deploy, then go on and create the User Interface in one go. It even works on multiple devices at the same time so you can lay down all different devices or start up different emulators with different screen sizes/display settings and see changes on all devices immediately.

  • stanleybroostanleybroo USMember ✭✭
    edited May 2018

    Just did some pure UWP work (C# / XAML) ..man talk about hit the ground running
    -Template Studio (great job ..nice template for PRISM)
    -Build and Run the App
    -Tweak and Update the XAML as you please while debugging
    -Best of all No CRASH, just works

    ...Life is Good :-)

    Please Microsoft bring this to Xamarin Forms

  • PieterjanDeClippelPieterjanDeClippel USMember ✭✭

    I'm really happy with the layouts designer for Xamarin.Android. Why wouldn't it be possible to have something similar for Xamarin.Forms?

  • AndrewJEAndrewJE GBMember
    edited June 2018

    I'm with Stanley on this one. Xamarin.Forms needs a proper layout designer (at the very least a XAML previewer that works). I have no problem coding the UI by hand but the problem is there is currently no way to preview or check what you have coded until you run it. (its like typing programs in from a magazine back in the 80's and 90's).

    The current forms previewer is worse than useless.

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @AndrewJE said:
    The current forms previewer is worse than useless.

    Yep. And I think its a dead project.

    The LiveReload however is actually treating me pretty well. Its still in preview, yet is far better than FormsPreviewer ever was.

  • NMackayNMackay GBInsider, University mod

    LiveReload should arrive in 15.8 stable, it handles constructor injection, using 3rd party controls etc.

    The Forms Previewer is abandoned from what I can make out.

  • AndrewJEAndrewJE GBMember

    Hmmm,
    I didn't know about LiveReload. I'll give it a try.

    Thanks Clint.

  • ThereIsNoUsernameThereIsNoUsername USMember ✭✭

    Just to get this thread back on track...
    This thread is about XAML design tools.

    It is not about...
    ... tools that visualize a design you already made
    ... tools that show you what you have manually designed

    LiveReload is not a designer, it's a tool that shows the design you have. In no way does it help you with your design of the GUI. You have to manually, in text, do all the design yourself, and it gives you no help whatsoever in doing this design. And the same goes for any other tool like this, for example LiveXAML for Xamarin Forms.

    On the other hand, Visual Studio has built in support for designing XAML, and on top of that, for even more advanced XAML design we have Blend for Visual Studio.

    And since Xamarin.Forms is now part of Visual Studio and all about XAML, we should of course be able to use these two tools when designing the GUI for Xamarin.Forms.

    Also, in the new official documentation on how to design XAML in Visual Studio, produced after Microsoft acquired Xamarin, there is no mention of using a text editor for XAML, it ony compares the use of the default built in XAML designer in Visual Studio, and Blend for Visual Studio. They correctly assume that no sane person would willingly use a a text editor to design something so complex as a modern GUI, when there are design tools available.

    So now, back to the original purpose of this thread...
    1. Why does not Visual Studio XAML Designer work for designing XAML for Xamarin.Forms?
    2. Why does not Blend for Visual Studio support designing the GUI for Xamarin.Forms?
    3. When will the Visual Studio XAML Designer and Blend for Visual Studio start to support Xamarin.Forms?

    In my personal opinion, there should be one team in Microsoft responsible in all things GUI, no technology whatsoever should be allowed to do anything that does not fit together with what we already have.
    When new things come along, as they always will, then they will have to adapt and conform to what we already have, or when something truly new comes along, the tools we have will have to evolve and grow so they are able to handle these new things.
    Under no circumstances should we devolve and go back to an earlier stage, which we already deemed undesirable, just because it is a lot of work and difficult.

    Customers, partners and developers has traditionally chosen Microsoft because they provide excellent and a top of the line development environment. And with a legacy of Visual Basic, Microsoft Access, .NET Forms, ASP.NET WebForms, WPF, Silverlight and so on, the expectations are VERY high.

    • We expect very low thresholds for new employees and developers when they start with a new technology.

    • We expect that if we know how to do something in one technology, then doing the same thing in another technology should be identical or very similar.

    • We expect that if we invest into a technology, tool, platform, development language or something like that, it will have a very long life, and that we can benefit from that investment when new technologies come along.

    • We expect that all Microsoft technologies, platforms, tools, servers, services play along together nicely. We don't want to spend time on "plumbing" and getting things to work together. If things are done in one way in technology A, it should be done in the same way in all other places.

    • We expect Microsoft to have clear view on their own technologies, systems, services, platforms and so on, and fundamentally know why each one of these technologies exist and what's it place is in the "Microsoft Universe". With this knowledge it should be a piece of cake for Microsoft to answer a post like this!
      One start to wonder if microsoft have gone from a company that leads and drive how we develop application, to one that just react in panic to what everyone else is doing...

  • ClintStLaurentClintStLaurent USUniversity ✭✭✭✭✭

    @aquabay said:
    Yep, definitely needed. Developers don't want to be scratching out designs in XML.

    Please don't try to speak for all Developers like that. I've been doing XAML for over 15 years and would never use drag-n-drop. Its available in WPF and still no professional-grade developers I know would use it because of all the overhead that comes in. Every single property gets populated by default instead of how a developer would start with zero properties and only add what is needed based on the need which an IDE can't know. VS has to guess at your intentions. Do you want a control relative to some other control, or relative to the screen 0,0? Should a control be nested inside another, or is it top level?

    In my personal opinion drag-n-drop is fine for beginners while they are still learning the property names but no company I've worked with in two decades would retain someone that needs it or even uses it regularly.

    Tools such as LiveReload are far more useful since you can see your XAML changes in real time on multiple devices. A visual canvas isn't going to show you how it looks on iOS and Android and UWP all at the same time. Its not going to show you both landscape and portrait at the same time. But I can do that with LiveReload by watching the changed update on an Android tablet and an iOS phone every time I hit Save.

    PS. We don't make UI in XML here.

Sign In or Register to comment.