Summary of benefits over other frameworks?

Oct 12, 2010 at 4:25 PM
Edited Oct 12, 2010 at 4:30 PM

Hi Jeremy,

One thing I didn't see in the documentation, in my brief scan, was a summary
of what's specifically different and better about Jounce than the competition.

Based on my reading of your excellent blog, you know a lot about this topic and
the strengths and weaknesses of the existing frameworks like Prism, Caliburn
and MVVM-Light.  But does the world need yet another framework?  Only if it
offers features that the other frameworks don't have, or implements them better,
etc., and it clearly explains what those benefits are.  If you can't do that
in the first few paragraphs of your "elevator speech", then something is wrong.

One thing I hoped to find was an example of using Reactive Extensions to
implement an Event Aggregator, but it doesn't look like you are using Rx
in Jounce.  True?  If Rx has such wonderful benefits, I would have expected
to see it used.

BTW: I think you are making a big contribution to the community with your
excellent blog, etc., so I don't want to come across as too critical.

Thanks,
SLEverywhere

Coordinator
Oct 12, 2010 at 6:31 PM

You're not sounding too critical at all.

The feedback I keep hearing about Prism and Caliburn "big" are that they are too bulky and complex for people to grasp easily. Caliburn.Micro solves that in a view model-first paradigm.

I've never been a fan of view model first, that's just a personal preference and what has worked for me.

Why does the world need another framework? They don't. They need to learn and understand the patterns that work. My intended audience is people who are using MEF and don't want a framework that can bolt-on MEF, but one that is built with MEF in mind from the ground up. They are also people who want something easy, lightweight, and fast. This is guidance - I'm not intending it to be something like MVVM Light that people start their projects from - but rather as a learning experience, something small enough to pull down and play with and understand the patterns and how they work. Because of the license, if you happen to like the way it works, you're then free to grab it "as is" or customize to your heart's content for what you need.

I don't believe frameworks can solve all of the problems and the ones that try to end up failing and creating too much overhead with customization. Something lightweight that addresses the basic common needs - messaging, regions, etc - can serve as a learning tool and provide insights into how to evolve the framework that specifically addresses what you need.

I hope that helps understand my reasoning. I've never used 100% of another framework - I've always had bits and pieces here and there, so after several projects, decided that taking a "lowest common denominator" approach of what is consistent would make for good guidance as ALL of my work has used MEF at the core to implement the MVVM pattern.

Jeremy

Oct 12, 2010 at 7:38 PM
Edited Oct 12, 2010 at 7:47 PM

Hi Jeremy,

Ok thanks, I do think I understand your goals for Jounce. 

I guess I'm just making a general suggestion about some
guidance that I'd personally find valuable.  What I'd like to
read (from someone somewhere) is, a point by point comparison
of the pros and cons of the approaches taken to implement
the main features in Prism, Caliburn, etc.

If I'm in an architectural design meeting and I say I want
to use the Event-Aggregator from Jounce, the first thing
they'll ask me is: why?

Obviously, no one has an obligation to write such a comparison,
and I can see how it can be politically problematic.

It's great if a consultant knows how to properly implement pattern
X with framework Y.  What's even more valuable is the consultant
who can explain in simple terms the alternative approaches of
frameworks X and Y, and their advantages and disadvantages.

Again, this is just kind of a general "I wish someone would do
this" idea.

Thanks,
SLEverywhere

Coordinator
Oct 12, 2010 at 7:51 PM

That's a great clarification and good advice. I think because many of us end up being "familiar" with some frameworks but experts at others, it becomes tough to make an objective comparison - something like that would probably need to be a collaboration between a team of devs who have used the framework and brainstorm to come up with the list.

However, I also have good news - the reason I published when I did was because I had lots of people asking. My goal is to delve into more of the details and the "why" through a series of blog posts you'll see over the ensuing weeks.

Oct 12, 2010 at 7:58 PM

>... a series of blog posts you'll see over the ensuing weeks.

Excellent.  You da man.

SLEverywhere

Oct 13, 2010 at 10:16 AM

I love the idea of Jounce. It is perfect for where I'm currently in my learning process.  I have basically been using MVVM-lite but have met barriers such as screen management and navigation.  You have been suggesting PRISM for screen management and I have been resisting. I have felt that my own home spun version would address my vision of how I wanted my screens to look and feel. I'm just not experience enough to write that quite yet. My first experience with Silverlight was in Nov 09. I had not programmed since '03 so the learning curve has been steep at times.  I try to read as many blogs and watch PDC,TechED and mix videos to try and feel my way through.  Like you said, I have come across various frameworks and approaches that I thought I would like to incorporate into my projects. But, rarely do these new ideas fit into my current project with out major considerations. 

I know you work is solid. I read almost everything you put out within days of you posting. So it is exciting to see you put these various parts together into a single design approach. It just seems perfect for where I'm at in my learning.  The reason I selected MVVM-lite was the support through his PDC or MIX10 presentation, the sample projects that addressed and the Blendability.  It was around the time I first started to get my head around MVVM and that hit the perfect spot with my learning process. 

Maybe some people are further along with Silverlight and this will not be a perfect fit for them.  But , I have to believe there are many more people trying to work there way through learning Silverlight-MVVM-Blend etc.....  And hopefully the developers and designers who have not been exposed to platform will soon be coming aboard. And this project would save so many people the pain and time of trying to work there way to being proficient in the best total package out there to develop web application/.phone apps (Silverlight). I guess the HTML5 group will love that statement. In my noobie humble opinion  Silverlight-WCF address the whole picture when you want to build web application from the backend to the frontend. 

I have gone on for too long already.  I just wanted to let you know there are some of us out here that need this approach of addressing the whole design approach with best approach from various frameworks addressed as a single "framework". 

 

Thank you for your efforts,

 

Mike Apken