Talking about ExtJS
In November of 2008 I traveled to frigid Chicago to attend the inaugural sprint of my company’s new content management system. It was a week long affair where we started the work of building a multi-client Merb based CMS to replace the old work horse of the company, a proprietary Zope product known as ListMonster. ListMonster had served us well for many years, but its age was beginning to show and we knew the time had come for a serious upgrade. David, as a major proponent of all things Ruby, wanted to us to either develop in Rails or a new fangled MCV system known as Merb. In the end I’m not convinced that particular decision was really all that big of a deal, as Rails and Merb as so similar that Rails 3.0 will be Merb 2.0, and Merb 2.0 will be Rails 3.0. But the Merb decision wasn’t the only big decision made that week, we also agreed to use ExtJS for all front end development.
Since November, I have taken the lead in our company to build the front-end of the new CMS (which is called the Articulated Man Publishing System, or AMPS for short). The process has been both frustrating and rewarding, but now that I’m at the tail end of the learning curve, I find it to be 100x more rewarding than frustrating and can’t imagine building AMPS in anything else.
But the months between the final decision and feeling like I finally get it have been long and lonely. While there is excellent primary documentation on ExtJS, there is very little secondary documentation, like blog posts on how to do X, or discussions on the merits of different approaches to Y. Other than the sprawling and disorganized forums, ExtJS sort of just expects you to figure it out on your own.
Starting today, I’m going to do my part to remedy that situation. I have created a new subcategory under Technology called — unsurprisingly — ExtJS, and this is the category’s maiden post. My goal here is to build up a set of posts that explain what I consider to be idiomatic ExtJS, in particular the intersection between MVC applications and ExtJS. With any luck, someone venturing out on a project similar to mine will find this information useful, but if nothing else, it will help me clarify my own thinking on how best to solve problems with ExtJS.
Be on the lookout for my first post, probably tonight, where I explain in the most general terms what ExtJS is so that everyone can play along at home. But, if you can’t wait, you can always take a gander at the example pages and learn for yourself.