Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I need to develop an app for booking appointments. This is going to be hosted in a shared server. So performance is the most important thing. I have used symfony2. I quite liked the framework. But seems to be heavy.

Which framework would suit me considering my requirements? I have shortlisted three frameworks yii, symfony2 and ZF2. I am not asking which framework is better.

All the three are good frameworks. I want to know which will suit my requirements. My first priority would be performance (I will be using AJAX wherever possible), second would be maintenance and development time and third community support. Or should I use my own handlers to separate views and logic and just use raw php?

share|improve this question
2  
@downvoter care to comment? –  ravz Dec 19 '12 at 8:03
2  
I didn't downvote, but questions to recommend certain tools or technologies generally get a troubled feedback here. Most of them are off topic anyway. I'm not sure about yours, since you ask only about certain properties. Maybe we should clarify the FAQ about this kind of question one day. –  thorsten müller Dec 19 '12 at 8:44
1  
If you think symfony2 is 'heavy', then ZF and ZF2 are out. I've no experience with Yii, but I found symfony2 relatively intuitive and it was fairly fast to get going and productive with it. Checkout the Symblog tutorials (tutorial.symblog.co.uk) –  Anonymous Dec 19 '12 at 9:31
    
(I didn't downvote by the way, just didn't think my comment should qualify as an 'answer') –  Anonymous Dec 19 '12 at 9:35
2  
Caching is the key. Pick the framework that makes caching the easiest. Wordpress is an example of a great app that handles caching very poorly. So it often doesn't run well on shared hosts. It doesn't matter how fast/slow the framework runs, but how often it has to run. –  Mathew Foscarini Dec 26 '12 at 4:56
show 2 more comments

closed as off-topic by gnat, MichaelT, Bart van Ingen Schenau, Kilian Foth, Dan Pichelman Feb 6 at 15:03

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – gnat, MichaelT, Bart van Ingen Schenau, Kilian Foth, Dan Pichelman
If this question can be reworded to fit the rules in the help center, please edit the question.

3 Answers

up vote 7 down vote accepted
+50

Performance isn't your most important factor. If it was, your app wouldn't be hosted on a single shared server, it would be hosted on a cluster of dedicated servers.

If you want to do the best job you can on this project, then use whichever framework you already understand best. You'll better know how to get good performance out of it because of your experience with it, and that may make up for whatever advantage some other framework has.

It's likely the code you write will have the most impact on performance.

Also, it's likely your app won't see enough traffic for this to really matter. In the event it does, at some point you'll want to move it off of a shared server to a dedicated server, regardless of what framework you use. Eventually you'll be running it on a cluster of servers with a load balancer in front of it, and your challenge will be things like how to shard your database.

Edit: Here are some benchmarks of a variety of PHP frameworks, which include both symfony and yii, and zf1 but not 2.

In that particular benchmark, it looks like symfony2 is faster than yii which is faster than symfony1, which is faster than zend. They're all of course slower than raw html or raw php.

I think choosing a framework based on a benchmark is a bad idea though. Your own code will be doing something different, and perform completely different.

You might find their methodology useful though. You might want to run siege yourself and see how well your site performs, and what difference making various changes makes. (Although if you're on shared hosting, you probably shouldn't run siege against it, you might bring down everyone's site!)

For "maintenance and development time", your familiarity with the framework is probably going to matter more than the framework itself. And your own ability to be productive and write maintainable code is even more important, regardless of framework choice.

Good luck on your project!

share|improve this answer
    
i cannot decide the client's budget. As a developer gotta give the best product i can.. –  ravz Dec 22 '12 at 7:11
    
Tim is kind of right here, is it possible to guarantee performance on shared hosting environment? All performance indicators are influenced on other things happening on the same machine, beyond your application's/account control. –  dimitris mistriotis Dec 22 '12 at 10:15
    
@Gorton and @ Tim +1 for your answers.. I'm gonna go with symfony2.. But still i have a feeling if yii would give better performance.. –  ravz Dec 23 '12 at 11:40
3  
@ravz : if the client values hosting at $5/month or so how much does he value your time? –  Wyatt Barnett Dec 24 '12 at 19:05
add comment

I think YII best meets your requirements since:

  1. it is fast
    http://www.yiiframework.com/performance/ and even more so if you can implement APC which I was able to do on shared hosting provider blue host using the instructions here: http://rk.md/2011/install-apc-accelerator-bluehost-shared-host/ This speed will allow you to stay longer on a shared host before exhausting resources.

  2. Maintenance is simple by pointing the index file to the latest install, with regression equally simple.

  3. Development time is short due to excellent scaffolding provided by the GII module http://www.yiiframework.com/doc/blog/1.1/en/prototype.scaffold

  4. Community support is strong with active forums, wiki and extensions.

With the caveat that if you already know Symfony then that will be easiest for you to use, however that is not one of your stated requirements.

share|improve this answer
    
Have you used symfony2.? And the performance benchmark shown in your link is for symfony1 –  ravz Dec 24 '12 at 13:49
    
No I have not used symfony2 so I can't directly compare. You are right, they are old comparisons. I read claims that symfony2 is faster than YII 1.1.1 (OTOH YII is now at 1.1.12) and has a lot of new features going for it. You seem to be familiar with symfony2 so go with what what you know. In the end, speedwise, it won't make a whole lot of difference. Good luck. –  sdjuan Dec 24 '12 at 19:02
1  
Even the folks at YII like symfony2 yiiframework.com/forum/index.php/topic/… –  sdjuan Dec 24 '12 at 19:18
    
+1).. anyways i will work on yii.. but for my project i'm gonna go with symfony2 –  ravz Dec 25 '12 at 8:57
add comment

@tim's answers is the best one I think but if you still need to pick a PHP framework, then consider Codeigniter too. It works very well on a shared server, no command line access needed, very good performance and a large active community

share|improve this answer
add comment

Not the answer you're looking for? Browse other questions tagged or ask your own question.