Frameworks
I’ve recently (well, 6 months ago anyway), started using frameworks more heavily for many new web applications. I have to say I’m wondering why I didn’t do this sooner.
About a year ago, a client introduced me to RubyOnRails (RoR). What struck me most about it was not just the clear separation of content, layout, and business logic I’ve already tried to embrace in my coding, but the speed at which I could tie in DB structures, along with data validation and cleansing. In addition, there were tons of plugins and helpers to manage common tasks like AJAX, or not so common tasks like internationalization, all in the name of a speedy deployment.
So in short, RoR is great, and I love it. But my problem is that I work with lots of other developers, and shared servers that aren’t RoR friendly, plus I already know PHP. So what to do? CakePHP of course!
All I have to say is Wow. If you know PHP, and want an awesome framework, CakePHP is it. I’ve tried others, like CodeIgniter and symfony, but Cake IMHO is the best (it’s also very RoR like). It’s more robust than CI, less weighty than symfony, and easy to deploy and maintain. It took awhile to learn their conventions, and structure, but it’s already paying off. I can scaffold sites like with RoR just as easily, add functionality (like AJAX and i18n) without worry, and get on with dealing with my custom classes, rather than the mundane nuts and bolts of building a site.
So if CakePHP is the answer to serverside scripting, what is the answer to clientside scripting? Enter Jquery. If you love frameworks, and you know you do, you’ll want to add Jquery to your arsenal. It’s lite, it’s fast, and it’ll fade, animate, and handle all of your javascript events like a dream. Clients ask me for all these SEO friendly (ie. not flash), cool web2.0′ish javascripting like they see on Google desktops and Netflix. It’s a chore to create, mostly because of the cross browser issues, and lack of good debugging tools.
Jquery helps keep that to a minimum (though you still need to perform all your normal testing), and makes traversing the DOM easy, no more writing a bunch of nested statements to grab the 2 or 3 elements you need. Like Cake, I was able to create some pretty nice applications with minimal fuss.
There is always more to learn, and the web changes so fast that it’s hard to keep up, but frameworks are not going away anytime soon. Learning those like CakePHP and Jquery, is worth it. Even if you change frameworks in another 3-4 years, you will already be in the mind set of how to best leverage the most important asset you have, your time.










