PHP Frameworks (CodeIgniter, Yii, CakePHP) vs. Django
Asked Answered
D

8

21

I have to develop a site which has to accomodate around 2000 users a day and speed is a criterion for it. Moreover, the site is a user oriented one where the user will be able to log in and check his profile, register for specific events he/she wants to participate in. The site is to be hosted on a VPS server.Although I have pretty good experience with python and PHP but I have no idea how to use either of the framework. We have plenty of time to experiment and learn one of the above frameworks.Could you please specify which one would be preferred for such a scenario considering speed, features, and security of the site.

Thanks, niting

Doze answered 5/4, 2010 at 13:18 Comment(4)
I'd add two others to that list: zend, symfonyRaddi
In the title, it's CodeIgniter not ...tor.Finalize
This thread is a little dated (and practically a duplicate of 100 other ones) but I'll add Yii: yiiframework.com/performanceLeatherworker
Don't forget about web2pyBrisket
C
29

Most of the frameworks out there nowadays are fast enough to serve whatever needs you will have. It really depends on in which environment you feel most comfortable. Though there are nuances here and there, MVC frameworks share a lot of the same principles, so whichever you choose to use is really a matter of which you most enjoy using.

So, if you like Python more, there's your answer. Use a Python framework, and Django is the best. If you like PHP more (which I personally don't), you've got some more decisions to make. But any of the PHP frameworks are fine. They really are. Just pick one that looks nice with comprehensive documentation and get to work.

Coherence answered 5/4, 2010 at 13:44 Comment(0)
I
31

This is a very subjective question but personally I'd recommend Django. Python is a very nice language to use and the Django framework is small, easy to use, well documented and also has a pretty active community.

This choice was made partly because of my dislike for PHP though, so take the recommendation with a pinch of salt.

Ignite answered 5/4, 2010 at 13:38 Comment(1)
+1, but IMHO i this days are more documentation for php that python. But, if you know this risk, go ahead like me and the others developpers :PGriggs
C
29

Most of the frameworks out there nowadays are fast enough to serve whatever needs you will have. It really depends on in which environment you feel most comfortable. Though there are nuances here and there, MVC frameworks share a lot of the same principles, so whichever you choose to use is really a matter of which you most enjoy using.

So, if you like Python more, there's your answer. Use a Python framework, and Django is the best. If you like PHP more (which I personally don't), you've got some more decisions to make. But any of the PHP frameworks are fine. They really are. Just pick one that looks nice with comprehensive documentation and get to work.

Coherence answered 5/4, 2010 at 13:44 Comment(0)
B
14

I've worked with CakePHP and Django and I really recommend Django. I don't know too much about CodeIgniter, but I remember ruling it out when I was evaluating frameworks myself about a year ago. CakePHP seemed much more developed at the time.

First of all, the Django community is much bigger and has spent a lot of time focusing on reusable apps. This means that you get a lot of functionality for free. Pair this with the django admin, and you have a lot of things already done for you. I haven't kept up with the PHP frameworks much, but I'm pretty sure Django is also more developed.

This is more of a personal thing, but I just like Python over PHP. Compare the way models are done in CakePHP and Django: http://book.cakephp.org/view/67/Understanding-Models, http://docs.djangoproject.com/en/dev/topics/db/models/#topics-db-models. The python is clearly more readable.

Keep in mind that Django gives you an awesome ORM and builds your schema for you, i.e. you never have to touch the database if you don't want to. With the PHP frameworks, you have to do your own db design, which just slows me down at this point. You can always go in and add indexes for speed later.

This is probably the most biased, but if you are starting a new application - seriously - just stick with Django or Ruby on Rails. There is a reason everyone talks about them and they have the biggest communities and best developers behind them.

You can also check out Pinax for a lot of Django goodies.

Bosley answered 5/4, 2010 at 15:38 Comment(1)
After three years of Cakephp experience, i switched to Django framework. But in php world, Cake is one of the bests.Brno
M
4

Codeigniter it's fast and very documented also has a large community to and finaly friendly with the programmer.

Marrs answered 1/6, 2012 at 8:43 Comment(0)
H
3

CodeIgniter is a great PHP framework that is fast and has excellent documentation. Start reading through their user guide and it will give you a good idea how to work with the framework.

Hautevienne answered 5/4, 2010 at 13:26 Comment(0)
J
0

Extending Matchu:

Or, -If you like PHP more- its time to learn/growup about other things like Python. Its not hard to learn, and when you get started it gets very enjoyable.

Many people has done the PHPtoPython/Django port, like Mozilla, Netgeo, Nasa, TheOnion, etc.

Juggins answered 5/4, 2010 at 15:22 Comment(0)
P
0

If for the PHP part I would choose CodeIgniter - it doesn't get too much into your way. But it doesn't have any code/view/model generators out of the box, you need to type a bit.

But languages other than PHP appear to be more sexy.

Paraprofessional answered 16/5, 2010 at 18:15 Comment(0)
D
0

I am using CodeIgniter 1.7.2 and for complex websites it's very good and powerfull, but it definitely is missing some kind of code generator which will allow for example to build an IT application in one click. I had the impression (from watching a tutorial) that Django has it.

Dysgraphia answered 16/8, 2011 at 20:52 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.