PHPs answer to Ruby on Rails, CakePHP

When it comes to developing an application on the internet programmers have many choices. With such options as Perl, ColdFusion, ASP, JSP, Python, PHP, .NET, Ruby and many more, business executives and developers alike are beginning to base their companies technical foundation decisions not on the specs of a platform or language but on the developer following, organization, and cost savings they provide. At USWeb for example we work in primarily a LAMP (Linux, Apache, MySQL, PHP) environment because of the age, simplicity and security of Unix, the proven server performance of Apache, the cost and flexibility of MySQL, and the widespread global support for the PHP scripting language. No matter what your environment there is one universal factor that affects every technical decision made by developers and that is productivity.

With productivity in mind it is no wonder that so many web developers (USWeb included) are considering making the move to the latest and greatest web application technology, Ruby on Rails. Created by David Heinemeier Hansson of 37Signals Rails is an extremely efficient and organized MVC (Model, View, Controller) framework based upon an elegent yet mostly unknown language called Ruby. What makes Rails such a big deal is it’s clean and simple nature that inspires productivity, Rails was created with the purpose of convention over configuration. This means that instead of requiring the developer to configure every little piece of an application Rails makes specific assumptions regarding configuration and applies them automatically. By making these assumptions Rails has provided 2 immediate benefits to your developers, first, your developer no longer needs to create a set of standard conventions from which to build the app since Rails makes this not only clear but the quickest and prefered way of doing so, second, all of the tedious and pointless configuration that can often take 2-3 days of coding and testing has disappeared and instead allows your developers to dig into the heart of the new application starting day 1. With clean code, clear conventions, easy management, and growing support it’s simply a no-brainer for any developer to switch to this development philosophy.

So what now? Sure, Ruby on Rails sounds great but what if your a large company such as Yahoo and you hired Rasmus Lerdorf (the creator of PHP) to overhaul your entire network into PHP. Not only that but your tweaked-all-to-hell Apache servers are here to stay so WEBrick (Ruby’s prefered) or lighttpd web servers are out of the question. USWeb ran into this very issue, we love LAMP, it makes life easy, but we also love Ruby on Rails and the productivity it brings with it. So what did we do, we simply looked for a merger of the two and after doing our homework we came across CakePHP.

Inspired by Ruby on Rails, CakePHP has grown to embed all of the philosophies that makes Rails so attractive. It’s code is clean, conventions are clear, and the best part about it, it can run on your Apache server right this second with no changes. Of course, since CakePHP’s awareness is nowhere near that of Rails the framework is primarily built by a core team of dedicated developers working diligently to make CakePHP a viable alternative and the fruits of their labor are beginning to show. With already 6 beta releases CakePHP has come to it’s final milestone with an official release within the next few weeks. Of course new technology is not considered useful unless solid applications that leverage it are demonstrated. USWeb decided to test this framework by building a tool that has been on the drawing board for us over the past 6 months, Blogitive, a blog advertising network. What did we find? By leveraging CakePHP, 1 developer was able to build our entire Blogitive application within 4 weeks from planning to launch. What did this application include, it included; blogger, advertiser, and administrator tools, a verification and approval system, accounting and reporting capabilities, and last but not least a bug tracking and ticket system along with an internal blog for people logged in. Like every app bugs do appear, but unlike most projects we were able to fix 100% of our reported bugs within 3 days of launch because of the ease in which the framework allowed us to work.

CakePHP, PHP, Web Development

Trackbacks

close Reblog this comment
blog comments powered by Disqus