A Beginner's look at Mach-II: Part I - Learning Mach-II in less than an hour.

{ Posted By : Eric Cobb on April 15, 2009 }
2097 Views
Related Categories: Mach-II

A couple of weeks ago I started playing around with Mach-II. I haven't been able to devote much time to working with it, mainly just at home at night and on the weekends, but so far I'm really liking what I see. I've never really used a framework before. Years ago I tried to fool around with Fusebox some (version 2 or 3, I think), but that didn't last long. I took a look at Model-Glue once too, but that didn't last long either. By them not lasting long, I mean a few hours at the most. Not that there was anything wrong with either of those frameworks, but at that time I just didn't understand frameworks or what they were for. I would download them, look at a few examples, scratch my head, and delete them. I just didn't get it.

Not too long ago I started using ColdSpring on a project, and I really like it. I knew that most of the CF frameworks have the ability to natively interact with ColdSpring, so that sparked my interest and I decided to give the frameworks another try. I've got a pretty big side project coming up soon, so I decided to pick a framework and build this application using it. After asking around and reading up on the various frameworks, I decided to go with Mach-II. Again, not that there's anything wrong with any of the other frameworks, but I personally know a few developers who use Mach-II and really like it. That was my main deciding factor. There's something to be said for being able to go sit down at someone's desk and ask them questions or show them code face-to-face. If I'm going to start using a framework, I may as well start with the one where I have the most resources and the best opportunity to learn.

One of the things that really surprised me about Mach-II was just how easy it was to get it set up and start using it. I guess I had this misconception that frameworks were complicated and hard to use, especially for a beginner. Not so. Installation was as easy as downloading/unzipping Mach-II, and creating a CF mapping called "MachII" (not that this step is even required, I just chose to go this route). I then downloaded/unzipped the skeleton application (also found on the Mach-II download page), and I was off and running with Mach-II.

I then found a couple of great beginner tutorials on the Mach-II site. These really helped me out. They're quick, easy to follow and understand, and do an excellent job of showing you the basics and teaching you how everything works in Mach-II. I highly recommend these as first steps for any new Mach-II user. I was able to go through both of them in about a half-hour, and they really gave me a jump start on the core of building a Mach-II application.

NOTE: While the tutorials mentioned above are great, they are a little outdated. They still make reference to Application.cfm and the cfapplication tag, which have been replaced by Application.cfc in the newer versions of Mach-II. They also reference specific line numbers in the mach-ii.xml file that are no longer correct. Despite that, it's still very easy to follow these tutorials and anyone with basic CF knowledge shouldn't have a problem.

And that's it. I was able to download/install Mach-II and have my first Mach-II test application up and running in less than an hour with the help of the skeleton app and the Mach-II tutorials. This will by no means make you a master of Mach-II, but it will teach you some of the core fundamentals and show you everything you need to know to build a basic Mach-II application of your own.

Related Blog Entries

Comments
Nick Lansbury's Gravatar Good luck with this. Like you I have dabbled with each of the frameworks you mention and your point concerning the availability of Mach-II is expertise is important. Plus I seem to recall reading somewhere that Mach-II is going to be worked on more actively now.
Thanks for your post
# Posted By Nick Lansbury | 4/22/09 4:59 AM
Peter J. Farrell's Gravatar @Nick, just curious why you feel that Mach-II hasn't been under active development? I guess I'm just curious on community perception here.

As a side, Mach-II has been under increased developed since 2005 after Matt Woodward and myself became involved in the project. We've had 6 releases in the past four years with 4 being major releases and 2 being maintenance releases. Another major release code named Simplicity (Mach-II 1.8) is nearing end of development and will enter into Beta in May 2009. Mach-II 1.9 (no code name yet) is already being planned and development will start once Simplicity reaches a release candidate status. You can find more information on our release history here:

http://greatbiztoolsllc.trac.cvsdude.com/mach-ii/w...
# Posted By Peter J. Farrell | 4/22/09 11:41 AM
Nick Lansbury's Gravatar Peter is absolutely correct. I got my CF frameworks mixed up. I knew all about Mach-II 1.8 going into beta next month.

Note to self: read comments text before pressing Post
# Posted By Nick Lansbury | 4/22/09 2:07 PM
Eric Cobb's Gravatar @Peter - I was just looking over the release history you linked to. You guys are doing some serious work if you're planning on having 3 versions released in 2009! I'm impressed, I don't think I could release 3 versions of anything in 1 year, especially something as complex as a framework. :)
# Posted By Eric Cobb | 4/22/09 3:05 PM
Peter J. Farrell's Gravatar @Eric, we've moved to shorter release cycles starting after 1.6 was released in February. It's better for everybody to "do less" and "do it more quickly" than have a massive code release once a year. We've already had one of our major releases this year (1.6), while Simplicity (1.8) is nearly a beta and 1.9 (no code name yet) already has a rough list of possible features in its roadmap entry on Trac. Mach-II 2.0 is scheduled for an alpha at the end of the year (but that's just an alpha - nothing "stable"). Development never ends and there is always more things to do than the team has time to complete. If you're interesting in helping, we're gladly accept any contributions to the project. Mach-II is becoming more of a meritocracy than anything else and this is a great way to build some resume to boot!
# Posted By Peter J. Farrell | 4/22/09 3:20 PM
Eric Cobb's Gravatar @Peter - I guess that makes sense. I kind of like the idea of the "do less more quickly" approach. Just looking at the features listed in Trac, I'm already looking forward to version 1.9!

"...there is always more things to do than the team has time to complete." I can definitely relate to that!
# Posted By Eric Cobb | 4/22/09 3:58 PM