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.



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
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.
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.
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.
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.