<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="/stylesheets/rss.css"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
  <channel>
    <title>H3RALD: Akelos Framework: too good to be true?</title>
    <link>http://www.h3rald.com/blog/34</link>
    <language>en-us</language>
    <ttl>40</ttl>
    <description>Fabio Cevasco's Writings</description>
    <item>
      <title>Akelos Framework: too good to be true?</title>
      <description>&lt;p&gt;Someone recently added a comment to my article about &lt;a href="http://www.h3rald.com/articles/rails-inspired-php-frameworks/"&gt;Rails-inspired &lt;span class="caps"&gt;PHP&lt;/span&gt; frameworks&lt;/a&gt; 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 &lt;span class="caps"&gt;PHP&lt;/span&gt; and spam or not, I&amp;#8217;d like to thank this guy for letting me know of the existance of &lt;a href="http://www.h3rald.com/bookmarks/view/akelos-framework"&gt;Akelos&lt;/a&gt;, a new &lt;span class="caps"&gt;PHP&lt;/span&gt; framework which seems simply too good to be true.&lt;/p&gt;


	&lt;p style="float:left"&gt;&lt;img src="http://www.h3rald.com/img/pictures/frameworks/akelos_framework.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Let me just spend a few words more before writing more about it though. First off, it&amp;#8217;s not available yet. OR at least it doesn&amp;#8217;t seem to be: the author is planning to release his work to the Open Source community but&amp;#8230; well, he&amp;#8217;s a bit concerned about the current &amp;#8220;PHP Framework War&amp;#8221;: he wouldn&amp;#8217;t like to end up like &lt;a href="http://subway.python-hosting.com/"&gt;Subway&lt;/a&gt; or just be slagged off by those merciless reviewers who enjoy write round-ups and comparisons about frameworks. &lt;a href="http://www.bermi.org/page/about_me"&gt;Bermi Ferrer&lt;/a&gt; is &amp;#8220;just&amp;#8221; a talented &lt;span class="caps"&gt;PHP&lt;/span&gt; developer who decided to create his own framework and he really enjoyed doing so, nothing more, nothing less.&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;I considered other &lt;span class="caps"&gt;PHP&lt;/span&gt; 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.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;Where did I hear that? Nothing new: it&amp;#8217;s always the same story of frameworks not being as we want them to be etc., it&amp;#8217;s human. And yes, it&amp;#8217;s &lt;em&gt;&lt;strong&gt;another&lt;/strong&gt;&lt;/em&gt; attempt to port Ruby on Rails to &lt;span class="caps"&gt;PHP&lt;/span&gt;, and a damn good one&amp;#8212;or so it seems.&lt;/p&gt;


	&lt;p&gt;&lt;small&gt;Before proceeding any further, I&amp;#8217;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-PHP-clone issue: &lt;strong&gt;If I see a single comment slagging off this framework (or any other) only because it&amp;#8217;s a port of Rails to &lt;span class="caps"&gt;PHP&lt;/span&gt;, it will be deleted, may it be David Heinemeier Hansson himself&lt;/strong&gt;. 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, &lt;span class="caps"&gt;EVERYBODY KNOWS THAT&lt;/span&gt;. Please, please, save us poor &lt;span class="caps"&gt;PHP&lt;/span&gt; developers the usual preaching.&lt;/small&gt;&lt;/p&gt;


	&lt;p style="float:right"&gt;&lt;img src="http://www.h3rald.com/img/pictures/frameworks/bermi_ferrer.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;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&amp;#8230; ooops!&lt;/p&gt;


	&lt;p&gt;Let&amp;#8217;s just quote the most juicy ones, shall we?&lt;/p&gt;


	&lt;p&gt;Active Record [&amp;#8220;Model&amp;#8221;]&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Associations&lt;/li&gt;
		&lt;li&gt;Callbacks&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Transactions&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Finders&lt;/strong&gt; [ &lt;code&gt;$Project-&amp;gt;findFirstBy('language AND start_year:greater', 'PHP', '2004');&lt;/code&gt; ]&lt;/li&gt;
		&lt;li&gt;Versioning&lt;/li&gt;
		&lt;li&gt;&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Action Controller [&amp;#8220;Controller&amp;#8221;]&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;Filters&lt;/li&gt;
		&lt;li&gt;Pagination&lt;/li&gt;
		&lt;li&gt;Mime Type&lt;/li&gt;
		&lt;li&gt;Mime Response&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Code Generation&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Response handler&lt;/li&gt;
		&lt;li&gt;&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Action View [&amp;#8220;View&amp;#8221;]&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Templates (using Sintags)&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Web 2.0 javascript using prototype and script.aculo.us&lt;/li&gt;
		&lt;li&gt;Helpers&lt;/li&gt;
		&lt;li&gt;Partials&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Template Compilers&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;&amp;#8230;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;And then more Akelos-only goodies:&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;strong&gt;Multilingual Models and Views&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Locale alias integrated on &lt;span class="caps"&gt;URLS&lt;/span&gt; (example.com/spanish will load the es_ES locale)&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Database migrations using DB Designer files&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Pure &lt;span class="caps"&gt;PHP&lt;/span&gt; support for Unicode (no extensions required)&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Unit Tested source code&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Code Generators&lt;/li&gt;
		&lt;li&gt;Built in &lt;span class="caps"&gt;XHTML&lt;/span&gt; validator&lt;/li&gt;
		&lt;li&gt;Automated locale management&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Clean separation from &lt;span class="caps"&gt;HTML&lt;/span&gt; and Javascript using &lt;span class="caps"&gt;CSS&lt;/span&gt; event selectors.&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Ajax file uploads&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;&lt;span class="caps"&gt;AFLAX&lt;/span&gt; integration&lt;/strong&gt;&lt;/li&gt;
		&lt;li&gt;Dojo Rich Text Editor&lt;/li&gt;
		&lt;li&gt;Format converters&lt;/li&gt;
		&lt;li&gt;File handling using &lt;span class="caps"&gt;SFTP&lt;/span&gt; for shared host running Apache as user nobody (as most CPanel server do)&lt;/li&gt;
		&lt;li&gt;&lt;strong&gt;Distributed sessions using databases&lt;/strong&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;Impressed? I was, honest. And I&amp;#8217;m talking as a CakePHP fanatic here, and I must say that if this framework can really offer all this &lt;em&gt;and&lt;/em&gt; &lt;del&gt;- and this is what really matters -&lt;/del&gt; is also as simple as Cake to learn and well performing&amp;#8230; well, this is definitely going to be quite a promising player in the &amp;#8220;PHP Framework War&amp;#8221; (but is not a real war, is it?), although the author is quite worried about that:&lt;/p&gt;


	&lt;p&gt;&lt;em&gt;&amp;#8220;I&amp;#8217;m also concerned about the &lt;span class="caps"&gt;PHP&lt;/span&gt; Framework war, I don&amp;#8217;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&amp;#8217;t want to spend my time discussing about if this is better or not than other solutions. That&amp;#8217;s the reason I&amp;#8217;ll first look for great developers interested in the Framework to help me releasing it.&amp;#8221;&lt;/em&gt;&lt;/p&gt;


	&lt;p&gt;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, &lt;a href="http://www.bermi.org/projects/akelos_framework"&gt;Akelos Framework&lt;/a&gt;.&lt;/p&gt;</description>
      <pubDate>Sat, 10 Jun 2006 11:26:00 -0600</pubDate>
      <guid isPermaLink="false">urn:uuid:aae01012-5d09-102a-8a4a-e48c0fa51268</guid>
      <author>Fabio Cevasco</author>
      <link>http://www.h3rald.com/blog/34</link>
      <category>Blog</category>
      <category>Frameworks</category>
      <category>PHP</category>
      <trackback:ping>http://www.h3rald.com/trackback/entries/34</trackback:ping>
    </item>
  </channel>
</rss>
