Made of Everything You're Not

Thoughts on programming, people and life
  • Home
  • Projects
  • Portfolio
  • Resume
« Introduction to jQuery UI
Amazon Associate Program »

Thoughts on the Akelos PHP Framework

I recently took  on a project that was a failure for the original developers. It was the usual story of outsourcing a project and just getting hosed on cost and timeline (my bread and butter). I was asked to take a look and see if I could finish off the project ASAP. Looking under the hood I found that the site was using a framework I hadn’t heard of called Akelos.

Akelos

Akelos

Akelos touts itself as a port of Ruby on Rails (RoR) to PHP but, frankly, I think that’s mostly marketing. Hell, even in the footer disclaimer on the Akelos site they minimize the R0R relationship. Not that that’s a bad thing per se (I wouldn’t want to be associated with RoR at the moment either).

Expecting a clusterfuck of code I was actually a little surprised to find the use of a framework. Granted, the previous developers weren’t using the framework very well, or in any optimal way, but it was still nice to see. Of course that meant I had to learn Another Fucking Framework but what the hell; I like to learn.

According to the site:

The Akelos PHP Framework is a web application development platform based on the MVC (Model View Controller) design pattern. Based on good practices, it allows you to:

  • Write views using Ajax easily
  • Control requests and responses through a controller
  • Manage internationalized applications
  • Communicate models and the database using simple conventions.

Your Akelos based applications can run on most shared hosting service providers since Akelos only requires that PHP be available at the server. This means that the Akelos PHP Framework is the ideal candidate for distributing standalone web applications as it does not require any non-standard PHP configuration to run.

It seems to work similarly to most MVC frameworks, like the Zend Framework, in file structure and hierarchy which definitely eased some of the pain. Unfortunately, I can’t really speak to the Ajax ease of use because, well, like I said above the previous developers were not so much on the… ummm, good side of the coin.

There is a video which is definitely worth checking out; it’ll walk you through the basics of how to use Akelos to generate your project. While there’s a bunch of options for generating your project it does come off a little schizophrenic in that it uses both command line and a web interface depending on what you’re trying to do.

One thing I was impressed with was the localization functionality. Basically, it works like most do, using translate files (read; arrays), which by itself isn’t that impressive, but I really appreciate the way the system uses the browser locale value if one isn’t selected. Nice.

One thing that really didn’t impress me was the absolute NEED for a database connection; NO MATTER WHAT. That’s just confining and comes across to me as lazy and wasteful. Seriously, why would this be a good idea? Does no one care about performance anymore?

It’s unfortunate that Zend Framework and Symfony are the juggernauts they are; I know I wouldn’t want to go against them. It’s got to be tough building a competitive framework with those two being as rad as they are.

All and all Akelos isn’t a bad framework and it does have potential. The Ajax readiness is intriguing and the file structure and hierarchy is intuitive (if you’ve used any other MVC framework )so it was easy to figure things out. There’s also the plugin architecture; I do enjoy me a good plugin architecture.

But I don’t think the relationship to Ruby on Rails is as good a thing as the developers of Akelos think it is. To be honest, I found the similarities between the two jarring due to how uneven the implementation was. Plus, similarities to RoR might have been a good marketing hook 2 years ago, these days it’s just another bullet point. Add to that my personal bias that PHP should function like… you know… PHP.

Point being, I like RoR and if I want to code like RoR I’ll use RoR, not PHP, thankyouverymuch. Add to that my dislike for code generation (and Akelos has a lot of code generation) and I just don’t care anymore.

So for me, Akelos is a fail. Not because Akelos sucks and not because Akelos isn’t good (though it does suck a little and it’s not all that good). More because of design decisions that can’t be helped that disagree with how I like to work.

Zf = 1
Akelos = 0

http://framework.zend.com/
Bookmark and Share

Related Posts

Stand Alone ExpressionEngine Authentication
Importing Legacy Users Into ExpressionEngine
CartThrob 2.0 Beta Fun
ExpressionEngine and the Mystery of M00o93H7pQ09L8X1t49cHY01Z5j4TT91fGfr
Custom Routes With Zend Framework

Tags: akelos, framework, php

This entry was written by Eric Lamb and posted on Monday, November 9th, 2009 at 5:00 am and is filed under Programming. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

One Comment

  1. PHP Frameworks. Yes? No? | WillSteward.com says:
    May 21, 2010 at 4:11 pm

    [...] Zend’s offering! So far, so good. After some further reading however, including a post on Eric Lamb’s blog and numerous forum discussions, it appeared that the framework was trying very hard to [...]

    Reply

Leave a Reply

Click here to cancel reply.

  • Subscribe: Entries | Comments
  • About Me

    Email Email
    Twitter Twitter
    310.739.3322
  • Categories

    • Brain Dump
    • Business
    • Code
    • IT
    • Programming
    • Rant
    • Servers
  • Archives

    • October 2011
    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008

Copyright © 2008 - 2012 Eric Lamb - All rights reserved