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.
Hi Rocky,
Do you think if developing commerical application using WPF for CSLA is mature enought now? I need your opinion.
Thanks
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
Hi Rocky,
Thanks a lot for the detail information.
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