Next Steps In Framework Learning

In my last post in the Project Learn series I installed the cfcPowerTools code generator. My intention was to fully evaluate the tool and provide an objective review of it's functionality. Unfortunately something happened that has changed that plan. I had a nice quiet house to myself all day Sunday so I decided to do a little more research in my framework quest. I decided to sniff a little glue. That's right, Model-Glue. I have mixed feelings about this decision, but I'm pretty sure that my mind is made up about it. In this post I'll try to lay out some of the factors that influenced this change of heart.

One of the biggest barriers to my learning a framework was a general lack of knowledge of OO. To be honest, in all of the research that I have done regarding frameworks I never really felt intimidated about learning the framework itself. After all, a framework is really nothing more then a structured and documented way of organizing your code and templates. Sure there is a little more to it then that, but learning new tags and functions and methodologies is not really all that difficult. Learning how to implement beans and DAOs and gateways and tying those in to the framework seems to be the challenging part. So what does any of this have to do with Model-Glue and how does that make MG better then Mach ii? Well, it doesn't have anything to do with it really and I can't really say that one framework is better then another at this point. The bottom line in my decision was that the documentation and community discussions surrounding MG seemed to be more OO focused.

I started reading Dan Wilson's series on MG:Unity series and things just started clicking for me. I've read Ray Camden's series before but I'm not sure I really had enough background at the time that I read it to grasp everything that he laid out (and that's no fault of Ray's - his series is very well written and easy to follow). Dan's series has been very helpful to me this time around. I'm still feeling a little intimidated by all of this but I feel much more confident then ever now. Dan's series focused on integrating and utilizing MG's built in ColdSpring support. He does a good job laying the OO groundwork and showing how to build the MG application from the ground up. The amazing thing to me is the feeling I'm getting that leveraging this framework will lead to extremely rapid application development. I'm not sure if this is a misconception - I'll obviously answer that question for myself as I continue in my learning.

As a side note, Dan's series recommends using the Roobios code generator. For my learning I've decided to stick with Brian Rinaldi's Illudium code generator to do the dirty work for me. There are a few reasons I made this decision and a few of them have to deal with Brian himself. First of all, I don't want to waste any more time evaluating anything else. Secondly, Brian is a really good dude who has been very helpful to me in answering questions and explaining a lot of these concepts to me so I want to support his tool and help him get some exposure with it. Thirdly and most importantly, I really liked the format of the code produced by his tool. It feels easy to work with to me. From what I've done so far with MG the code his tool has produced for me has integrated well.

I don't think there is a need for me to formally document the learning process of MG as Ray and Dan have, but I will definitely be sharing my experiences as I continue along with it. As others have said, I'm definitely sniffing the glue.

Comments
On the contrary, I think you SHOULD document your learning just as Dan and Ray have. I think your work would be just as beneficial as the others have been, maybe more so because you are new to OO.

I don't think folks realize how many of us are out here in the same boat as you. Many, many procedural developers are trying to get there head around this stuff. I, for one, would like your detailed step by step on MG:U if you are willing to take the time to document it. Because you are new to OO, you may explain things in such a way that other OO beginners may really grasp and understand.

The more I read the blogs of developers walking through OO stuff, the more I realize that "I do understand much of what is going on, it's just the OO TERMS that are foreign and confusing!" BOs, DAOs, Gateways, etc. It's very intimidating until you realize that those things are code snippets that one deals with everyday. They're just called something different in OO, and used a little differently.

Again, please consider detailing your progress.

Regards,

Josen
# Posted By Josen Ruiseco | 2/21/07 10:44 PM
Interesting--usually we get exactly the opposite comment about Mach-II, namely that you have to have too much OO knowledge to get into it. I'm curious as to why you think the discussions surrounding MG are more OO-focused than what goes on in Mach-II land.
# Posted By Matt Woodward | 2/22/07 12:04 AM
I was a little surprised by Todd's explanation so I'm hoping he clarifies this. Like Matt, I've generally felt that Mach II is "more OO" than Model-Glue and that's reflected in the community discussions. Maybe he just meant that the MG community was more focused on *learning* OO (where the M2 community is operating more from a position of knowing OO)?
# Posted By Sean Corfield | 2/22/07 2:19 AM
I think you should check ColdBox as well, from learning point of view, it much easier. There some good documentation and really cool examples for atleast what should be in controller, DAO, Gateway.

I am with you that CF known to be rapid development, but I feel learning OO makes us bit slow in dev, this could be becuase we are just newbie in OO....

I would love to see your posts of your experiments of learning OO.
# Posted By Sana | 2/22/07 7:32 AM
Todd, thanks for the positive feedback and glad my tool is helping.

I think Sean has nailed it - mach ii doesn't (by my recollection) have anyone writing posts or articles focused on learning m2 and oo at the same time. It generally seems to assume a general level of understanding of oo concepts.

Perhaps this is something that Matt and Peter (and folks who like to use m2 like myself) can work on providing in the future.
# Posted By Brian Rinaldi | 2/22/07 8:41 AM
Josen: I will definitely be sharing a lot as I continue to build my application and will keep the perspective of being new to OO and focus my documentation on that. But I strongly suggest you read through Dan or Ray's guides for the step by step framework introductions (as well as the MG docs).

I think Sean nailed it too. From what I've read about M2 there is certainly no feeling that the framework itself is any harder to learn the MG of Fusebox or any of the other frameworks. I think it's just the lack of beginner docs to help us get up to speed on integrating the concepts into the framework. For example, I read the "Beans, Beans the Musical Fruit" doc and thought it was perfect - beautiful beginner level intro to beans. But it left me hungry for more. It teased tying the concept into the framework by introducing the event-bean, but I wasn't sure what came next. I certainly mean no offense by stating this, just hope that maybe my experience from this perspective can inspire future writings on these things so that others like me will feel more comfortable moving away from procedural thinking and concepts.
# Posted By todd sharp | 2/22/07 9:06 AM
A few more comments. First, we know that we have some work to do to get the documentation better organized. It's out there, but not all in one spot. For those people interested in learning M2, please check out the intro guides I wrote that are available on http://www.mach-ii.com, Peter's FAQs, and the Captivate presentations I did available on my blog (http://www.mattwoodward.com/blog). Yes, they're spread out, but I think there's a LOT more available than people may think.

Second, please bear in mind that, in my opinion at least, learning a framework as a means of learning OO is not the way to go. Learn OO in the absence of any framework, otherwise I firmly believe you won't learn the framework as quickly or as successfully. Check out "The Object Oriented Thought Process" by Matt Weisfeld or any of the OO "Head First" books by O'Reilly to get going.
# Posted By Matt Woodward | 2/22/07 7:38 PM

Calendar

Sun Mon Tue Wed Thu Fri Sat
     12
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31       

Subscribe

Enter your email address to subscribe to this blog.

Tags

actionscript ajax blogging cfsnippets coldfusion flash forms flex funny stuff misc model-glue off topic personal project learn slidesix sql

Recent Comments

Adding Auto Generated Code Downloads to BlogCFC
ada5fsa said: http://www.mountwashingto... http://extjs.com/forum/me... h... [More]

BlogCFC Survey #2
ada5fsa said: http://www.mountwashingto... http://extjs.com/forum/me... h... [More]

Most Difficult Captcha Of All Time
kokkooo said: [url=http://synchrophase.info/...]消費者金融 ブラック[/url] [url=http://geji-geji.com/]消費者金融ブラック[/url] [url=http... [More]

Most Difficult Captcha Of All Time
kokkooo said: <a href="http://synchrophase.info/...">消費者金融 ブラック</a> <a href="http://gej... [More]

Using A PlayStation 2 HDD In Your PC
Vodin said: Well dang. Thanks man, my uncle who owns a Video Game shop had a PS2 harddrive in the junk box, I sn... [More]

RSS


coldfusionbloggers

FullAsAGoog MXNA

Consumed By Feed-Squirrel.com