PRWpf is slowwwwwww

PRWpf is slowwwwwww

Old forum URL: forums.lhotka.net/forums/t/3664.aspx


CSLAer posted on Monday, October 08, 2007

Finally, I managed to compile and run the PTWpf. But it is very slow compare to PTWin. The login process nearly takes me 1 minute. Is there a way to tweak it and make it faster?

RockfordLhotka replied on Monday, October 08, 2007

Make sure you are doing a fair comparison. Specifically, make sure that both PTWin and PTWpf are configured to use the same data portal option, and never do timings on the first run.

The first run has to start up IIS, SQL Server, etc. It is always a killer.

All that said, WPF is slower than Windows Forms. It is only a version 1.0 technology after all, while WinForms has been around for ~7 years now. But not THAT much slower, so you have something else going on.

CSLAer replied on Monday, October 08, 2007

Hi Rocky,

Do you think if developing commerical application using WPF for CSLA is mature enought now? I need your opinion.

Thanks

RockfordLhotka replied on Monday, October 08, 2007

It depends on your risk tolerance.

WPF is actually pretty darn good for a 1.0 technology. I've been spending a lot of time with it over the past few months, and as long as you aren't scared of typing XAML (which I don't think you should have to do, but this is 1.0 remember) it is great fun.

Some others on this forum have done a lot more with it than I have. I'm at ReMIX in Boston right now and at least one CSLA-based WPF app was on screen for a moment (nice job Paul!). Perhaps they can give you their thoughts as well.

But I think it comes down to tolerance of risk. Right now the tools are a bit primitive - even with Blend. As a developer you will write XAML by hand. Or you'll create a code generator to write it for you. Either way, we're not at Windows Forms levels of productivity.

On the other hand, the data binding approach used by WPF is, in many ways, nicer than Windows Forms and it is a LOT nicer than Web Forms.

I think it also depends on your timeline and your project's expected lifetime. WPF is the future - for both Windows and Web (via Silverlight ) in my view. If your app will be used for years to come, WPF is a better bet than Windows Forms or HTML/AJAX.

But if your (and I mean your employer's) risk tolerance is not high, you are probably better off using established technologies.

This, though, is the value of CSLA. If you are good about putting all your business logic into your objects it is much easier to change from today's "legacy" technologies to WPF at some point in the future. Sure, you'll need to discard and rewrite all UI/presentation code - but there shouldn't be a lot of that if you use data binding against CSLA objects Big Smile [:D]

CSLAer replied on Tuesday, October 09, 2007

Hi Rocky,

Thanks a lot for the detail information.

Paul Czywczynski replied on Wednesday, October 10, 2007

That’s cool Microsoft is still using that video at their ReMix shows. It was debuted at Mix '07 back in May. Tim Sneath was excited to have our application in the video because he wanted to show an actual line of business application.

We at TempWorks have been using WPF since late 2005, mostly after it was pumped up at the 2005 PDC. We were looking for a new platform to migrate our application too. Originally built upon Access, it became too confining for our needs. We saw WPF as the new generation of Windows programming and we wanted to be on the forefront.

I won't lie and tell you how easy it was. There is a huge learning curve to WPF, akin to jumping off a cliff :) You mostly have to unlearn your WinForm and WebForm ways. Rocky is right however, it is way nicer than the previous technologies. Also back when we started there was limited 3rd party components; no date pickers, masked textboxes, or decent grids. Today is different and you have those things but WPF designers are still lacking compared to WinForms.

All our XAML work is done by hand using the XAML source view in VS2008. We do get Intellisense so that isn't so bad but VS2008b2 is buggy and crashes for us several times a day.

Overall the combination of WPF and CSLA can't be beat. We use code generators to build our base business objects and then hand massage the data access portion with LINQ code. For our 3-tier deployments we use WCF with some custom dataportal proxy and service for impersonation reasons.

It works well for us. It is fast, easy to program, and very modular.

Paul Czywczynski, CTO
TempWorks Software
http://www.tempworks.com/Enterprise.aspx

Copyright (c) Marimer LLC