Coffeehouse Thread

22 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

WPF is NOT ready.

Back to Forum: Coffeehouse
  • User profile image
    turrican

    I just tried to make some simple WPF app, took me hm... around 10 hours in Visual C# Express. I got one message to Microsoft : WPF is no way near ready for being used in Enterprise applications. Unless you create real good tools like the ones we already have for WinForms, forget about it. I won't write a single Enterprise application in WPF until a real tool comes along.

    ...But then again, I'm sure you know this already.

    Goodbye WPF!

    Edit : Actually, WPF isn't ready IF you don't buy Expression BLEND. I just saw some videos and now I undrestand why it was a hell creating a WPF in VC# Express. It is almost impossible to write the XAML yourself, you NEED Expression BLEND.

  • User profile image
    Bass

    You'll probably get flamed for posting this.

  • User profile image
    brian.​shapiro

    I have Blend but I almost always write it manually in Visual Studio. Just like I write HTML manually.

  • User profile image
    DCMonkey

    A few things I wish the WPF designer in VS had:

    - I wish it would show snaplines while dragging a new control onto the surface like the WinForms. Instead you have to drag, drop, then drag again (it's even worse in Blend IMHO, where you either double-click and get the control in the upper left (and why textboxes default to have the text content selected I do not know), or you drag out a rectangle for the control, which with controls like textboxes that you might want to have a standard height on, you have to go back and fix in the properties or XAML.

    - WinForms has snap lines for standard distances between controls as well as for aligning edges of controls. VS only shows the distance but doesn't snap to a good default. So you end up having to get close by eyeballing it, then nudge it with the keyboard until the numbers are right. Or you just drop into XAML and redo all the margins yourself. Blend does it a little better with the red shaded bars when you drag near grid lines. But it would be nice if dragging gridlines snapped and had a keyboard nudging ability as well.

    - Drag and drop databinding like WinForms.

  • User profile image
    Sven Groot

    DCMonkey said:
    A few things I wish the WPF designer in VS had:

    - I wish it would show snaplines while dragging a new control onto the surface like the WinForms. Instead you have to drag, drop, then drag again (it's even worse in Blend IMHO, where you either double-click and get the control in the upper left (and why textboxes default to have the text content selected I do not know), or you drag out a rectangle for the control, which with controls like textboxes that you might want to have a standard height on, you have to go back and fix in the properties or XAML.

    - WinForms has snap lines for standard distances between controls as well as for aligning edges of controls. VS only shows the distance but doesn't snap to a good default. So you end up having to get close by eyeballing it, then nudge it with the keyboard until the numbers are right. Or you just drop into XAML and redo all the margins yourself. Blend does it a little better with the red shaded bars when you drag near grid lines. But it would be nice if dragging gridlines snapped and had a keyboard nudging ability as well.

    - Drag and drop databinding like WinForms.
    WinForms has snap lines for standard distances between controls as well as for aligning edges of controls

    In VS2008 SP1 the WPF designer has this too.

  • User profile image
    xgamer

    I have written 2 WPF Application ( both incidentally for Self-service Kiosk type). One of them was as Fingerprint Capture / Recognition application using .Net Interop with Videos etc.

    Apart from some startup performance problems, the application seems to be performing well in a Enterprise environment.

    My 2 Cents here ...

    I think WPF is a framework designed with good intentions and provides a lot of scope for creative UI. However, the current VS 2005 tools are not much helpful in using the full potential of WPF.

    I tried using VS 2008 for WPF in which speed and possibilities seems to have increased a lot. But still it will not be much useful as many features will require timeline sort of interface ( think Flash and Expression ) to make full use of  WPF potential.

  • User profile image
    Dr Herbie

    Turrican, your post basically reads as "I don't understand this, so it must be rubbish", so you're not making yourself look good.

    WPF is an advanced, sophisticated framework.  You're not going to be able to 'just pick it up'.  It's not like WinFirms because it is more advanced than WinForms. WinForms is based on the control systems that has been in windows since Window 3.1, WPF is a whole new deal. You can't seriously expect it to be the same?

    Even with Expression Blend, you need to understand the underpinnings of the WPF framework to translate your UI ideas into WPF technology.

    I notice that at the moment you have posted 6 WPF questions in the TechOff forum.  Why don't you just save yourself the grief and buy a book?  Yes, it costs money, but it's much more efficient that guesswork and having to post to a forum every 5 minutes.

    Herbie

  • User profile image
    DCMonkey

    Sven Groot said:
    DCMonkey said:
    *snip*

    In VS2008 SP1 the WPF designer has this too.
    I'm glad to hear that. When's SP1 shipping (I don't want to install the beta)?

    Edit: The tip below is for Blend. The designer in VS doesn't have any such options I'm aware of. Maybe it should

    In any case, I'm finding that turning off the "snap to snaplines" option and turning on the "snap to gridlines" and "show snap grid" options works pretty well for laying out the typical sea of textboxes and labels data entry form. It takes me back to my CAD days.

  • User profile image
    figuerres

    Dr Herbie said:
    Turrican, your post basically reads as "I don't understand this, so it must be rubbish", so you're not making yourself look good.

    WPF is an advanced, sophisticated framework.  You're not going to be able to 'just pick it up'.  It's not like WinFirms because it is more advanced than WinForms. WinForms is based on the control systems that has been in windows since Window 3.1, WPF is a whole new deal. You can't seriously expect it to be the same?

    Even with Expression Blend, you need to understand the underpinnings of the WPF framework to translate your UI ideas into WPF technology.

    I notice that at the moment you have posted 6 WPF questions in the TechOff forum.  Why don't you just save yourself the grief and buy a book?  Yes, it costs money, but it's much more efficient that guesswork and having to post to a forum every 5 minutes.

    Herbie
    well I think he is making a good point.

    the current state of editing then new WPF markup in VS is way behind the current state of editing WInFOrms

    I see a lot of folks saying "edit the xaml"  to that I ask:  how many of you create complex forms by hand?

    do you create forms with 20 - 30 controls with docking and such by editing the code and skip the desing tool?

    sure you can write xaml by hand, or html by hand... but that is slow and often not needed.

    when I do web site work, I do much of the layout with the visual editor,  then I tweak some details.

    I bet for every developer who does raw html there is at least one or two that perfer the designer.
    but popular trend tells them they must be wrong and not say that.

    I say that with the complexity of WPF/XAML that to write really good UI and large scale apps you will need tools to edit the markup.
    imagine say duplicating the UI of outlook by hand in xaml.
    can you do it?  perhaps...
    but if you had a good tool I bet you could do it a lot faster.

  • User profile image
    blowdart

    Judging by his posts all over the show I think turrican has gotten out of the wrong side of bed. All week Tongue Out

  • User profile image
    littleguru

    turrican, after having read through your posts in TechOff it seems to me that you are still struggeling with the basic concepts in .NET rather than WPF...

  • User profile image
    stevo_

    littleguru said:
    turrican, after having read through your posts in TechOff it seems to me that you are still struggeling with the basic concepts in .NET rather than WPF...
    Coming from a background where using a designer is generally a bad idea (web), I'm well at home using a markup language.. you certainly don't NEED a designer to do WPF..

    I think you are trying to take on too many things and expecting results instantly.. .net, wcf, wpf.. and expecting to "get it" in the first couple of hours... just ain't gonna happen.

  • User profile image
    turrican

    figuerres said:
    Dr Herbie said:
    *snip*
    well I think he is making a good point.

    the current state of editing then new WPF markup in VS is way behind the current state of editing WInFOrms

    I see a lot of folks saying "edit the xaml"  to that I ask:  how many of you create complex forms by hand?

    do you create forms with 20 - 30 controls with docking and such by editing the code and skip the desing tool?

    sure you can write xaml by hand, or html by hand... but that is slow and often not needed.

    when I do web site work, I do much of the layout with the visual editor,  then I tweak some details.

    I bet for every developer who does raw html there is at least one or two that perfer the designer.
    but popular trend tells them they must be wrong and not say that.

    I say that with the complexity of WPF/XAML that to write really good UI and large scale apps you will need tools to edit the markup.
    imagine say duplicating the UI of outlook by hand in xaml.
    can you do it?  perhaps...
    but if you had a good tool I bet you could do it a lot faster.
    That's exactly my point. Thank you. I DO get WPF but the tools are BAD. I mean, FOR LOVE OF GOD, I DON'T EVEN HAVE AN EVENT LIST IN THE DESIGNER! I think WPF has made windows programming like coding HTML and that is exactly why I always had such love for WinForms, because the tools to design your applicatio were great.

    To others here who disagree, Please just compare the components toolbar in WPF vs WinForms and you will see how little components we have. Surely we can create our own, but is that very efficient? How many of you really create WinForms design from 100% code? I bet not even 1%... yet somehow it seems acceptable that we create complex designs by writing the code in XAML.

    I know, I know... Pay the two dollars and buy the BLEND... But frankly, that is not the answer. I want better components and better designing tools in the main development tool AS WELL. Not even an event list in the tools and you tell me this thing is ready? Come'on! Not all businsses have an extra guy doing 100% of the application design.

    Microsoft is just trying to sell BLEND products, that's probably why Visual C# Express has barely WPF designing support.

    But maybe that's just me, I dunno. I'm a Microsoft fanboy nevertheless, so I still hope that they will give me better tools in the future.

    Also, worth mentioning, don't tell people "You don't need, code by hand", that's the Linux community standard answer. The answer I would have hoped to hear was "Yes, you are right, the tools are bad, too much coding by hand, they should fix it."

    Please please, don't turn into *linux* !

    ps. I don't stay it's bad to have the option of XAML manually coding the design, but the Express tools should absolutely have far better WPF designing capabilities IF Microsoft is serious about WPF. Since for now, WinForms designing tools are far better than WPF in the Express editions.

    and thanks for all the good answers!
    Smiley

  • User profile image
    wkempf

    turrican said:
    figuerres said:
    *snip*
    That's exactly my point. Thank you. I DO get WPF but the tools are BAD. I mean, FOR LOVE OF GOD, I DON'T EVEN HAVE AN EVENT LIST IN THE DESIGNER! I think WPF has made windows programming like coding HTML and that is exactly why I always had such love for WinForms, because the tools to design your applicatio were great.

    To others here who disagree, Please just compare the components toolbar in WPF vs WinForms and you will see how little components we have. Surely we can create our own, but is that very efficient? How many of you really create WinForms design from 100% code? I bet not even 1%... yet somehow it seems acceptable that we create complex designs by writing the code in XAML.

    I know, I know... Pay the two dollars and buy the BLEND... But frankly, that is not the answer. I want better components and better designing tools in the main development tool AS WELL. Not even an event list in the tools and you tell me this thing is ready? Come'on! Not all businsses have an extra guy doing 100% of the application design.

    Microsoft is just trying to sell BLEND products, that's probably why Visual C# Express has barely WPF designing support.

    But maybe that's just me, I dunno. I'm a Microsoft fanboy nevertheless, so I still hope that they will give me better tools in the future.

    Also, worth mentioning, don't tell people "You don't need, code by hand", that's the Linux community standard answer. The answer I would have hoped to hear was "Yes, you are right, the tools are bad, too much coding by hand, they should fix it."

    Please please, don't turn into *linux* !

    ps. I don't stay it's bad to have the option of XAML manually coding the design, but the Express tools should absolutely have far better WPF designing capabilities IF Microsoft is serious about WPF. Since for now, WinForms designing tools are far better than WPF in the Express editions.

    and thanks for all the good answers!
    Smiley

    You confuse me.  You say "WPF is not ready for the enterprise", but then talk about using express.  No enterprise level development team would be caught dead using any of the express tools.  They also would have no problems using Expression Studio.

    So, is it really the enterprise you think it's not ready for, or the hobbyist?  Those aren't the same thing.

    Now, with that said, there's hobbyists, and there's hobbyists.  The open source crowd generally wants to go deeper than you can with drag/drop.  They generally snear at folks who rely on designers.  So even among the hobbyists, it's not cut dried.

    So, what your really saying is that you don't think WPF is ready for you.  And that's qualified, because it's not WPF that's not ready, it's the tooling you think isn't ready for you.  I can sympathize, but don't blow things out of proportion.

    BTW, I cringe when I hear a lot of developers talking about using designers for drag/drop when creating XAML.  Why?  Because they generally talk about such things as grid lines, snap lines and other features meant to ease control placement WHEN USING ABSOLUTE POSITIONING.  Egads!  We need to stop thinking that way!  That's a horrible way to design screens!  Many designers allow this sort of thing, but the resultant XAML code is HORRENDOUS.  Stop doing that.  Learn to use layout panels and proper use of margins and paddings, preferrably through styles and templates.

    Blend, once you know how to use it well, is designed to be used without resorting to these absolute positioning techniques.  It's designed for designers, however, and isn't very intuitive for your general developer.  So, today, most developers prefer to work with the code.  In the future this might change, as the VS designer matures (it's gotten better with each release).  But trust me, the "enterprise" isn't going to shy away from using WPF because the developers have to write some code.  There's more compelling reasons why WPF might not be considered today... but hey, that's fine.  No new technology is EVER expected to be used immediately by the enterprise.

  • User profile image
    figuerres

    wkempf said:
    turrican said:
    *snip*

    You confuse me.  You say "WPF is not ready for the enterprise", but then talk about using express.  No enterprise level development team would be caught dead using any of the express tools.  They also would have no problems using Expression Studio.

    So, is it really the enterprise you think it's not ready for, or the hobbyist?  Those aren't the same thing.

    Now, with that said, there's hobbyists, and there's hobbyists.  The open source crowd generally wants to go deeper than you can with drag/drop.  They generally snear at folks who rely on designers.  So even among the hobbyists, it's not cut dried.

    So, what your really saying is that you don't think WPF is ready for you.  And that's qualified, because it's not WPF that's not ready, it's the tooling you think isn't ready for you.  I can sympathize, but don't blow things out of proportion.

    BTW, I cringe when I hear a lot of developers talking about using designers for drag/drop when creating XAML.  Why?  Because they generally talk about such things as grid lines, snap lines and other features meant to ease control placement WHEN USING ABSOLUTE POSITIONING.  Egads!  We need to stop thinking that way!  That's a horrible way to design screens!  Many designers allow this sort of thing, but the resultant XAML code is HORRENDOUS.  Stop doing that.  Learn to use layout panels and proper use of margins and paddings, preferrably through styles and templates.

    Blend, once you know how to use it well, is designed to be used without resorting to these absolute positioning techniques.  It's designed for designers, however, and isn't very intuitive for your general developer.  So, today, most developers prefer to work with the code.  In the future this might change, as the VS designer matures (it's gotten better with each release).  But trust me, the "enterprise" isn't going to shy away from using WPF because the developers have to write some code.  There's more compelling reasons why WPF might not be considered today... but hey, that's fine.  No new technology is EVER expected to be used immediately by the enterprise.

    Just to be clear:

    for me the designer is about getting a bunch of contols attached to a form and me not having to maualy edit each and every property by hand.

    I am not very interested in fixed layout / absoute location.

    what I am looking for is things like default ID / name beeing different till I decide what to name things,
    about setting up control parent / child  properties,  event handlers, default colors, default sizes.
    dock and fill, align left/center/right
    basic stuff that is a bore to key in.

    then I can figure out what I need to tweak.  then I can make sure things re-size right, or flow when resized and other stuff.

    if I have a tricky bit of layout I do not mind at all doing it by hand.

    but if I have say 8 hours to finish something I'd rather spend more time checking my logic and testing the app. not writing layout that a tool could do faster.

    that what tools are for, to do things faster within the limits of the tool.

    I know I have seen plenty of the other case... the ones who barely know how to code a while loop and would be lost if they had to code a real app.   but there is a class of able developers who do not have a bunch of Jr developers on hand and do not have the time.
    sure I should be a faster typist but I am not, but I still know what I am doing and where I am going with my code.

    I am a cowboy coder who has 20 years of working with this stuff and more than a few happy customers behind me.
    they care that I made it work, that I kept close to or within budget most of the time and did not let them down.
    how I did it -- they did not care, just as long as it worked for them.

  • User profile image
    PerfectPhase

    stevo_ said:
    littleguru said:
    *snip*
    Coming from a background where using a designer is generally a bad idea (web), I'm well at home using a markup language.. you certainly don't NEED a designer to do WPF..

    I think you are trying to take on too many things and expecting results instantly.. .net, wcf, wpf.. and expecting to "get it" in the first couple of hours... just ain't gonna happen.

    Was just listening to the dnr video on WPF that got linked to in another thread, and there is a good comment towards the end that rang true for me.

    "It's not the sort of thing that you just pick up in a week or two and are able to do the magic, WPF is a little different from other technologies that have come out of Microsoft recently in that you have to know a fair amount before you can really be productive doing much of anything at all.  For example if you want to use animations, you'd do that with triggers, which is where you'd normally fire an animation from.  If you normally want to use triggers, triggers go in styles, but styles are normally in templates, and templates are usually resources, so the stack gets bigger even to use something as simple as an animation there are several key concepts in WPF that you'll want to know."

  • User profile image
    wkempf

    figuerres said:
    wkempf said:
    *snip*
    Just to be clear:

    for me the designer is about getting a bunch of contols attached to a form and me not having to maualy edit each and every property by hand.

    I am not very interested in fixed layout / absoute location.

    what I am looking for is things like default ID / name beeing different till I decide what to name things,
    about setting up control parent / child  properties,  event handlers, default colors, default sizes.
    dock and fill, align left/center/right
    basic stuff that is a bore to key in.

    then I can figure out what I need to tweak.  then I can make sure things re-size right, or flow when resized and other stuff.

    if I have a tricky bit of layout I do not mind at all doing it by hand.

    but if I have say 8 hours to finish something I'd rather spend more time checking my logic and testing the app. not writing layout that a tool could do faster.

    that what tools are for, to do things faster within the limits of the tool.

    I know I have seen plenty of the other case... the ones who barely know how to code a while loop and would be lost if they had to code a real app.   but there is a class of able developers who do not have a bunch of Jr developers on hand and do not have the time.
    sure I should be a faster typist but I am not, but I still know what I am doing and where I am going with my code.

    I am a cowboy coder who has 20 years of working with this stuff and more than a few happy customers behind me.
    they care that I made it work, that I kept close to or within budget most of the time and did not let them down.
    how I did it -- they did not care, just as long as it worked for them.

    "what I am looking for is things like default ID / name beeing different till I decide what to name things,
    about setting up control parent / child  properties,  event handlers, default colors, default sizes.
    dock and fill, align left/center/right
    basic stuff that is a bore to key in."

    Why would you want an ID or name to begin with?  Other than that, the things you mention I agree with.  However, the designer today does this minimal set of things (especially if you can use SP1).  It could definitely do it better, no doubt, but it does it.  Those aren't the things that most people complain about, however.  This thread alone shows that.  The complain was lack of grid lines, snap lines, anchors and other concepts that don't belong.

    Don't get me wrong.  I'll be the first to admit the VS designer blows.  Some of the problems are related to the above.  It's not always as easy to do the stuff listed above as it should be.  Some of it couldn't be done prior to SP1 (like event handlers).  However, those are, for me, annoyances, not the real problem.  The real problem is in the fragility of the designer.  It's extremely easy to write valid XAML that breaks the designer.  Changes to code can cause the designer to be unusable until you've performed a complete rebuild AND refreshed the designer.  Look at the thing cross eyed and you'll break it.  Due to these problems, I don't ever really use the VS designer.  I prefer woking directly in XAML.  This doesn't bother me much, because I am a fair typist, but more importantly, intellisense works wonderfully and makes this nearly as efficient as using a designer any way.  When I really do need to visually work on a screen, I use Blend.  For the enterprise, this isn't asking much.  For the lone developer or smaller team, that's an unsatisfying answer.  So I sympathise with folks.  I just think the argument in this thread was blown out of proportion, not that there wasn't some validity in it.

  • User profile image
    VB Man

    Bass said:
    You'll probably get flamed for posting this.
    I seriously just LOL'ed because I was thinking the same exact thing as you, Bass.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.