A web developer's blog. PHP, MySQL, CakePHP, Zend Framework, Wordpress, Code Igniter, Django, Python, CSS, Javascript, jQuery, Knockout.js, and other web development topics.

A Very Quick Zend Framework VS. Code Igniter Comparison

Before anything else, I want the readers to know that I have used Zend Framework for a few months prior to using Code Igniter. I hang out in #zftalk (freenode) when I have time. So I am more of a ZF guy than a CI person. But after working with Code Igniter for a couple of weeks, I realized how much a love ZF over it (CI). Working and coding in ZF is more enjoyable than working in CI – I don’t know if it just me, but I don’t feel comfortable coding in Code Igniter.. I have had instances in CI where I think I could have done a better job if I wrote it in ZF – espcially with the ZF Components.

Code Igniter has some pretty nice features though. For instance, you can deploy an MVC project in less than a minute. You just have to configure the files an then viola! You are now up and running. While with ZF, you would have to make your own bootstrap file and you would have to choose which directory structure you will use. I think this is why a lot of people use CI. The learning curve is very easy and deployment is fast. But the joy ends there – well at least for me since I love exploring the unknown.

I have complete confidence that Zend Framework will be able to handle any project – from web sites to custom web applications — just about anything. It might take longer to configure and deploy, but in the end it is all worth it. I also find it very comforting that the Zend Framework Components are made by people who “really” know PHP. I have had bad experiences using “hacks”, poorly-tested user-contributed plug-ins by using other open-source ready-made CMSes.

In the end, both frameworks have their strengths and weakness. Code Igniter is fast to deploy and easy to configure. For Zend Framework, no matter what other people say about it– I love it :P FTW!

This entry was posted in General and tagged , . Bookmark the permalink.

15 Responses to A Very Quick Zend Framework VS. Code Igniter Comparison

  1. tom says:

    Thank you for this interesting post ! A useful list of web frameworks can be found at http://www.therightsoft.com/softwaretechnologies/webframeworks/

  2. Steve says:

    I’m a professional web developer. I write applications for mostly large companies, but a few small ones as well.

    We used to use ZF until we realized that it instantiates a huge number of objects. Performance with ZF is absolutely ridiculous… it’s the definition of software bloat.

    CI, on the other hand, uses only what you need. I really suggest you work with CI some more. The ease of coding is not the most important thing.

  3. david says:

    >> But the joy ends there – well at least for me since I love exploring the unknown.

    lol, that’s the reason you degrade CodeIgniter ?

    you may try Python or Ruby IMHO …

  4. Wenbert says:

    @david, i still use code igniter :P for my quick projects. :P

  5. Priyabrata says:

    I will appreciate Steve ! he is right,
    We don’t want 500% when we need only 100% !!!!

    Lots of load just for functionality I might never use!

    I like both ZF and CI but I will always prefer CI cause its so flexible and lightweight.

  6. Jan Karlo says:

    I agree with Priyabrata, because applications in a CI framework is fast and lightweight.

  7. Tash says:

    Both ZF and CI aim to be loosely coupled, so theoretically you can combine the best of both frameworks by combining those components that you find useful to you. Just a thought ;)

  8. markg says:

    I absolutely love ZF. I did made it as a coding standard in our company. I built our own framework on top of ZF, and it’s fantastic. The only reason that make “ZF” bloat as what other people say, they just don’t know how to do it. It may be hard at first, but when you examined closely, ZF could just be the best.

    Who else knows better how to build a faster framework for PHP other than the ones creating PHP?

  9. rabeesh says:

    I have no experience in Zend framework . Codeigniter works fine for me .It also fit for my big projects .The most top graphics designers in the world are not the programmers of Adobe Photoshop .sorry for my english .

  10. Johnb says:

    “at least for me since I love exploring the unknown.”
    - Yeah, exploring badly written and complicated API:S with lot’s of bugs which change dramatically from version to version. Sounds to me that Zend sucks bigtime!!
    I like CI for being fast and convenient.

  11. dave says:

    We have been using ZF for about two years, and we have developed an extremely large project for the goverment. Personally i still think CI is like a toy. Some people say it is more lightweight, faster, blah, blah… it might be true, but it doesn’t make much sence to us. How can you take it for granted that ZF is not good enough? We think ZF is just PERFECT!!!

    Do you really dare to use ci or other frameworks for real commercial projects? I don’t think so..Why we decided to use ZF was just because ZEND is more trustful. Zend has money, technology, smartest people. And also, it definately benefits your career 9999% more than using other frameworks.

    ZF is already 1.9 now, and I really don’t understand why some people still complain so much.

    Just give you an advice, the eariler you use ZF the better. because you will make headway towards success compared with other PHP programmers.

  12. Johnbigdick says:

    I will get Zend Framework another try. Because I would like to get hang of advanced stuff and boost my career.

  13. Eddie says:

    Imho, if you have a controlled env where you choose the php version and other factors, and you want to dev large scale apps (corp) then zend is prolly better.

    If your looking to build small to large apps for distribution, then ci is better.

    Basically zend is more powerful and heavier, but it will do more. Ci is smaller weight and strives to be a universal solution which has support for multiple versions of php.

    I use both depending on the project. :)

    Examples of what i would program:

    Large scale corporate applications
    Intranets and corporate portals
    Full solution backends with software for multiple purposes,ie payroll, employee mangement….and everything else

    Shopping carts and other single purpose software
    Anything you plan on widely distributing especially if you have a non tech audience

    I think both could handle anything though.

  14. cluelessphbie says:

    @Eddie, very informative and just what I needed to make my choice(CI in case anyone’s curious, because the app will be distributed widely(hopefully :))).


  15. There are few things.

    1. ZF comes with lots of modules which you dont have to use. If performance is your concern, not all modules will be loaded at the runtime. If disk space is your concern, you dont even need to upload the remaining modules that you dont use.

    2. ZF works well with Zend Server. This is my personal experience. In my company, our prod server had Apache+PHP stack. A Zend application deployed had performance rate of 6requests per second (as said by Zend Server Panel or whatever). After installing Zend Server and testing the same application again, it is serving around 160 rps. See the boost.

    3. If you target your websites or webapplications to be hosted on Godaddy hosting or custom Apache+PHP stack, I accept ZF is not the option. CI would be better.
    But if you are developing for controlled client environment, like an eye clinic, it is best idea to get Zend Server (Free version) installed and deploy the ZF application

    4. Though learning curve of ZF is steep, it is very useful to you later. Just invest around 2-3 weeks learning ZF. I bet you cant stop yourself marking ZF on top of development list for any application.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>