contents/articles/34.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
----- title: "Akelos Framework: too good to be true?" content-type: article timestamp: 1149931560 tags: "frameworks|php|webdevelopment|review" ----- <p>Someone recently added a comment to my article about <a href="/articles/rails-inspired-php-frameworks/">Rails-inspired <span class="caps">PHP</span> frameworks</a> pointing out that I forgot another Rails-like framework, in my round-up. He obviously posted a link to this rather mysterious Rails port in <span class="caps">PHP</span> and spam or not, I'd like to thank this guy for letting me know of the existence of Akelos, a new <span class="caps">PHP</span> framework which seems simply too good to be true.</p> <p style="float:left;"><img src="/images/pictures/frameworks/akelos_framework.png" alt="" /></p> <p>Let me just spend a few words more before writing more about it though. First off, it's not available yet. OR at least it doesn't seem to be: the author is planning to release his work to the Open Source community but… well, he's a bit concerned about the current “<span class="caps">PHP</span> Framework War”: he wouldn't like to end up like <a href="http://subway.python-hosting.com/">Subway</a> or just be slagged off by those merciless reviewers who enjoy write round-ups and comparisons about frameworks. <a href="http://www.bermi.org/page/about_me">Bermi Ferrer</a> is “just” a talented <span class="caps">PHP</span> developer who decided to create his own framework and he really enjoyed doing so, nothing more, nothing less.</p> <p><em>“I considered other <span class="caps">PHP</span> ports of Ruby on Rails, but we could not find all we needed on them. One feature that I needed on the core was internationalization and Unicode support, so I decided to roll my own framework trying to keep most of the original rails interface so most of its documentation could work for it.”</em></p> <p>Where did I hear that? Nothing new: it's always the same story of frameworks not being as we want them to be etc., it's human. And yes, it's <em><strong>another</strong></em> attempt to port Ruby on Rails to <span class="caps">PHP</span>, and a damn good one — or so it seems.</p> <p><small>Before proceeding any further, I'd like to write a short warning for a few people who may or may not want to pop in and start commenting about the Rails-is-better-than-any-<span class="caps">PHP</span>-clone issue: <strong>If I see a single comment slagging off this framework (or any other) only because it's a port of Rails to <span class="caps">PHP</span>, it will be deleted, may it be David Heinemeier Hansson himself</strong>. Stop it, no seriously, I think it will be counter productive for Rails in the end: I really like RoR and I love the way it works, and yes, I think Ruby is definitely the best language to do that sort of things, <span class="caps">EVERYBODY</span> <span class="caps">KNOWS</span> <span class="caps">THAT</span>. Please, please, save us poor <span class="caps">PHP</span> developers the usual preaching.</small></p> <p style="float:right;"><img src="/images/pictures/frameworks/bermi_ferrer.png" alt="" /></p> <p>Right, back to Akelos now. Curious as I am I immediately checked out the official page and all i found was a pretty long list of features which made me dribble, literally… ooops!</p> <p>Let's just quote the most juicy ones, shall we?</p> <p>Active Record [“Model”]</p> <ul> <li>Associations</li> <li>Callbacks</li> <li><strong>Transactions</strong></li> <li><strong>Finders</strong> [ <code>$Project->findFirstBy('language AND start_year:greater', 'PHP', '2004');</code> ] </li> <li>Versioning</li> <li>…</li> </ul> <p>Action Controller [“Controller”]</p> <ul> <li>Filters</li> <li>Pagination</li> <li>Mime Type</li> <li>Mime Response</li> <li><strong>Code Generation</strong></li> <li>Response handler</li> <li>…</li> </ul> <p>Action View [“View”]</p> <ul> <li><strong>Templates (using Sintags)</strong></li> <li>Web 2.0 javascript using prototype and script.aculo.us</li> <li>Helpers</li> <li>Partials</li> <li><strong>Template Compilers</strong></li> <li>…</li> </ul> <p>And then more Akelos-only goodies:</p> <ul> <li><strong>Multilingual Models and Views</strong></li> <li><strong>Locale alias integrated on <span class="caps">URLS</span> (example.com/spanish will load the es_ES locale)</strong></li> <li>Database migrations using DB Designer files</li> <li><strong>Pure <span class="caps">PHP</span> support for Unicode (no extensions required)</strong></li> <li><strong>Unit Tested source code</strong></li> <li>Code Generators</li> <li>Built in <span class="caps">XHTML</span> validator</li> <li>Automated locale management</li> <li><strong>Clean separation from <span class="caps">HTML</span> and Javascript using <span class="caps">CSS</span> event selectors.</strong></li> <li>Ajax file uploads</li> <li><strong><span class="caps">AFLAX</span> integration</strong></li> <li>Dojo Rich Text Editor</li> <li>Format converters</li> <li>File handling using <span class="caps">SFTP</span> for shared host running Apache as user nobody (as most CPanel server do)</li> <li><strong>Distributed sessions using databases</strong></li> </ul> <p>Impressed? I was, honest. And I'm talking as a CakePHP fanatic here, and I must say that if this framework can really offer all this <em>and</em> — and this is what really matters — is also as simple as Cake to learn and well performing… well, this is definitely going to be quite a promising player in the “<span class="caps">PHP</span> Framework War” (but is not a real war, is it?), although the author is quite worried about that:</p> <p><em>“I'm also concerned about the <span class="caps">PHP</span> Framework war, I don't want to play that game. Building this Framework was a great experience, it works great for me and it has helped me to become a better programmer so I don't want to spend my time discussing about if this is better or not than other solutions. That's the reason I'll first look for great developers interested in the Framework to help me releasing it.”</em></p> <p>Really, this will be an interesting project to check out, once it goes open source, and yes, I really wish Bermi all the best. Good luck, <a href="http://www.bermi.org/projects/akelos_framework">Akelos Framework</a>.</p> |