Read the latest web development and design tips at Fred Wu's new blog! :-)
Poke me on GitHub

Archive for the ‘Kohana’ Category

Ruby on Rails, Passenger (ModRails) vs CodeIgniter and Kohana

Disclaimer: This is a very simple, ‘Hello World’ benchmark which has no impact to any real world applications. A more thorough benchmark test (by building two real world applications) is planned. :)

Disclaimer 2:I apologise for posting such a useless benchmark (I certainly didn’t expect it to hit the DZone front page), but I think most of you missed the point. I merely posted this as a result of surprise (to me anyway). At a later stage I will conduct a much more meaningful comparison between some of the frameworks. Until then, please ignore this post. :)

Last few days I have been playing with Ruby and Rails, again.

Today, when someone was asking on a forum about the efficiency of web frameworks, I thought I’d give the few frameworks I work with some more benchmark testing.

So I went ahead and benchmarked CodeIgniter, Kohana and Rails, using a simple ‘Hello World!’ page. Now before I post any benchmark results, you should know that I have previously done a benchmark test on CodeIgniter, Kohana and CakePHP. CodeIgniter and Kohana shared similar results.

(more…)

Related posts

Kohana vs CodeIgniter: Speed and Memory Usage Performance Benchmark

This is just a quick and dirty test, please take it with a grain of salt.

We all know that CodeIgniter is a very fast framework, but how about Kohana? Kohana is packed with more features, so does that mean it is slower? Let’s find out.

The following benchmarks are done on my local Macbook Pro machine (C2D 2.4GHz + 4GB), Leopard 10.5.2, MAMP without any code optimisers or caches.

(more…)

Related posts

Layerful Screencast: Transparent Layer in Action

Okay, so what is a transparent layer? How does it benefit a developer?

Well, please watch the screencast (4min, 12MB) first, you will see the transparent layer in action.

To me, I wanted to make a framework that is more feature-rich than Kohana but at the same time is not intrusive. By having this transparent middle-man layer, a developer is able to seamlessly enhance the Kohana framework without altering the existing user application.

It might not be useful to everyone but what the heck, it at least is useful to one person, me. :D

Related posts

Layerful + Kohana + Zend Framework = Easy User Applications

Here is a brief overview of the system workflow:

Application framework workflow

Of course the actual system will be a lot more complex due to cross-referencing components, modules, libraries, helpers, but you get the idea. :)

Related posts

Layerful Framework Performance in Kohana

Yesterday I have (sort of) announced the work on the framework based on Kohana and Zend Framework.

It is in early development stage but here is how it performs in Kohana. Granted it doesn’t do much at this stage. The screenshot below showcases the performance of the ‘transparent layer’ support, using the default Kohana profiler.

Layerful Framework Performance

I will soon post a chart on how the framework relates to and integrates with Kohana and Zend Framework. :)

Related posts

Kohana extended, transparently :)

I have started working on a project which uses both Kohana and Zend Framework. I use Kohana for low level system structure (e.g. MVC) and Zend Framework for higher level components.

What I wanted to do is to create a framework on top of these two great open source frameworks, this way building applications will be a lot easier in the future because I will have all the basic (and advanced) functionalities ready to go. :) In a nutshell, the framework will act as a ‘middle-man’ layer.

One of the goals of my framework is to act as transparent as possible. This means, the user can simply drop the framework at a convenient location, place a hook file in Kohana add it as a normal Kohana module, and that’s it! Let the magic begins!

One major achievement for me today is how I made the framework absolutely transparent. Normally this is how you extend a Kohana library or helper:

class valid extends valid_Core {}

Thanks to Kohana’s cascading file system, it will automatically start looking for ‘valid_Core’ in the modules and system directories.

Now, I wanted to add my framework, and assume my framework has an enhanced version of valid_Core, and I want to use that, what do I do? See below:

class valid extends valid_Core {}

That’s right, it is *exactly* the same syntax as before! You don’t have to alter your existing application in anyway to take advantage of more libraries and helpers. :)

And of course if the library or helper isn’t present in my framework, it will automatically fall back to the Kohana one. And if for some reason you don’t like the enhanced version, you can easily disable them. :)

That’s it for today. In the next few days I’m going to play with the new Kohana unit test library (only available in the SVN repository for now). I wonder how it compares to SimpleTest and PHPUnit.

P.S. The name of my framework is called ‘Layerful’, I will release it in open source license once it’s mature enough. :)

Related posts