Vibrant discussion about CSLA .NET and using the framework to build great business applications.
I'm going to have some down time over the next 5 months where we'll be starting no new development while fininshing current projects using older frameworks and approaches. I thought this might be a good time to make the leap to whatever approach is current and concrete.
Here are my questions:
1: What is the current CSLA release and is it based in .NET 4.0?
2: Is VS2010 the IDE of choice?
3: Is the MVVM pattern for desktop applications well defined and supported by latest release of CSLA?
4: Is there a CSLA (latest version) book forthcoming?
5: I see MVVM videos are available? Recommendations?
I know some of these questions are probably very obvious but my fear is that I'll invest a great deal of time in effort learning a pattern that will be abandoned about the time I master it. I'd like to use VS2010 with CSLA and a proper MVVM pattern for all future development but I want to put my finger to the wind and make sure I'm investing my time in something that will be the standard for at least the next 24 months. I also want something that is mature enough to not undergo radical changes - something concrete and settled.
Please offer your advice along with recommended books, videos, articles and rationale for your thoughts.
Thanks in advance.
1. I think 4.0.1 has been released - if it hasn't, it will very soon. It is based on .NET 4.0.
2. If you want to do any .NET 4.0 programming, you don't have any other choice. Given that the latest CSLA version is compiled against 4.0...
3. Is MVVM supported by CSLA? Very much so. Is it a "well defined" pattern? That's a thornier question. Rocky has called it the POTY (Pattern Of The Year), though I think it may have a little bit more longevity than that (and I'm betting he thinks that too.) It turns out to work pretty well with XAML-based apps (with a little infrastructure-code help), and since I think that's the direction MS is taking with their UI design, I'm betting it sticks around for a while. You should realize that the "flavor" of MVVM Rocky supports through both CSLA and Bxf is a little different than what you may see if you go web-crawling. Most MVVM patterns in the Microsoft space assume your model is dumb entity objects. CSLA BO's are obviously not "dumb" objects, so Rocky approaches it a little differently (see #5).
4. To the best of my knowledge, Rocky is no longer producing paper books - the tech is changing too fast. I know he's planning on some more videos, and I'm pretty sure he's intending to do some more e-books. He has a roadmap page on the site that shows a basic timeline, but nothing's set in stone yet (that I know of).
5. I found the MVVM videos to be extremely useful. They show Rocky's take on how to implement MVVM using CSLA (which, as I mentioned, is different than a lot of other material I've seen), and they show how to do it in VS 2010. You have to already understand how to construct CSLA business objects, but if you've kept even remotely current with how BO's are structured, you should be fine. There is also a MIX Tech Ed session that Rocky did talking about doing MVVM in VS 2010 (http://www.msteched.com/2010/NorthAmerica/DEV322) that shows his thoughts, and even though it isn't CSLA-focused, I found that to be a pretty good adjunct to the MVVM videos.
Thank you for the reply Scott.
Follow up question: Would the videos on CLSA 3.8 teach me what I need to know about CSLA 4.0.1 or are there CSLA 4.0.1 available or coming soon?
The 3.8 videos are "the current standard", and will get you a long ways there. The basic object structure is relatively unchanged, but there are some significant changes between 3.8 and 4, such as the business-rules system. To that end, Rocky has linked to a previous forum topic from his FAQ page:
That will at least get you started. For specifics on the changes in 4, check his blog postings - most of the really big changes in CSLA 4 have been detailed there.
There are also some changes in version 4 that came about because of the changes in SL 4, and some other design decisions that were made about breaking out inheritance trees for XAML-based binding versus Winforms-based binding. Again, a search of the forums/blog posts will fill you in on that information.
As far as future videos go, Rocky has plans to do version-4-specific videos. As I mentioned previously, he does have a "roadmap" page showing his current thoughts. But the timelines on that page aren't set in stone, and I can't seem to find it right now (but I know it's there - Rocky has linked to it in a few forum posts.) To my mind, the 3.8 videos are still worth the investment, as we're not sure what exactly will be in the version-4 videos yet.
Unfortunately, what this all ends up meaning is that there really isn't one place you can go to right now to get up to speed on CSLA 4. If you aren't familiar with the new property syntax and the other 3.6-era changes, you'll want to get the videos - they are going to be the single best source. And probably 85-90% of that will still apply. But for the rest, you'll have to do some searching and merging on your own to get up to 4.0.