Just another developer blog
Django, Rails, Symfony – A different point of view
It’s easy to find a blog that lets you know which one makes the best things among these frameworks, but I want to point this observation in a different way. The framework community.
First of all, it doesn’t matter which framework you will choose, these three are all at the same quality level and production ready. So, in order to choose the right one for you, you have only to think about how it fits your needs and if you feel comfortable with it.
I think about Ruby on Rails as Obama in USA. You were hoping something was going to change. You believed the web programming wasn’t ugly and boring anymore. Sure, you haven’t braces any more and you finally got your blocks, but almost everything is the same, you only changed your language.
The good news is that it has the biggest community of the three frameworks. Thanks to that, you can find almost everything as a gem. The bad news is that sometimes you can find a related project made by a novice or a user that doesn’t understand well the language or the main project.
I suppose this community is like the PHP developers ten years ago. Approaching to it is very easy, and it lets you think you can do whatever you want with smallest effort. But this isn’t the real world. And when you realize the truth, you have already done projects that you need to keep alive. So, they suppose the rules don’t exist and they start thinking as they always do. And obviously it is not the right way.
Django uses Python, which I like most. But not the community. They have a rigid mentality and they would never want to break the rules and when it happens, they are ashamed and they punish themselves (or others). Normally they don’t care about graphics and fancy things, so all the releated projects you will find are “minimalistic”: no graphic, no frills. Sometimes also the documentation is minimalist. Often you need to explore the code, because they assume you already know the whole Python philosophy and its rules (pep). And obviously the IT world.
Symfony is like a fairy tale. You can’t believe it’s true. Free published ebooks, excellent online documentation, great community support. Where’s the trick? There’s no trick. You get what you see. The common problem of the PHP community is to see it like the rest of garbage. They think Wordpress or Drupal will conquer the world and they don’t understand anything about OOP, DRY principle and MVC layers. So, they simply suppose Symfony is hard to understand. But, the real Symfony community is open and the members do understand the importance to break up old rules and start thinking new ones (Design Pattern).
A little mention about Zend Framework. Although it’s under the big Z’s wing and it is almost to v. 2.0 step, it’s still immature. I mean, it has a great library but, although they inserted a “looks like” CLI interface, to do a complete project (backend+frontend) still an hard work. And, personally, I dont’ understand the use of “.ini” file configuration instead of normal PHP file.
But I’m sure all the people have got the Z patent, will improve it (if they are able to think).
A polite person doesn’t tell you his favorite, because you have to choose it by yourself. The real man does.
I prefer Django. As I said, because of Python and because I always try to be minimalist when I write my code and because sometimes you need a set of rules to build a good project.
My second choice is Symfony, because I was born as PHP developer. I think it is the state of the art of “MVC” thinking in PHP.
Speaking of which, you know well that there are a lot of PHP frameworks out there, but if you think CakePHP and CodeIgniter are alternatives, maybe you have choosen the wrong job.
about 4 months ago
Man, learn Zend Framework before talking about it.
There are not only .ini file configuration, you can do it with just PHP files. Or maybe csv files. That´s what zend framework is about.
And in Symfony, you do not use PHP files for configuration, you use YAML, less standard.
about 4 months ago
You can do the same with Symfony
about 4 months ago
So, why do you say that about zend framework? The standard for Symfony is Yaml and for zend framework is INI, but both can use another config files, so your phrase does not make sense.
You may feel that zend is imature, I do not, but that is not a problem, it´s a personal flavor. But do not say something that is not true (the config file is INI type – that is just one of the possible config file formats).
about 4 months ago
I may say symfony has some nice features, the cli interface is its best feature. And some nice classes.
I do not like symfony for some pieces in it, ORM use for example. Other problem for me is not having the name structure that zend framework has. But that´s me.
And for a small saying, I am not saying symfony is bad. It is just not the best for me. I am a fan of Zend Framework and Yii.
about 4 months ago
Let me explain “I don’t understand” meaning. Ini files are normally Windows config files, I don’t use Windows but I know Yalm syntax beacuse of RoR. I’d prefer an intuitive or natural language, instead a windows like one. Yalm reminds me Python and Rails. Ini files remainds me how ugly is working with Windows. But, as I said, you have to choose the language is right for you. If you feel comfortable with ini files and Z Framework, and you can work better with them, you’ve made the right choice.
about 4 months ago
That´s the difference in philosophy: Symfony does follows RoR and uses its format, which is not much known outside a small group.
Zend follows patterns that more people may know (standard), such as INI format file.
The INI format was more known in Windows platform, but now there are even software in Solaris that uses this config format. And is known by a large number of developers. That´s why it has been chosen.
Then csv (very known), PHP, among others.
about 4 months ago
I’m not talking about diffusion. I’m talking about my approch to them.
about 1 month ago
I think this is a nicely balanced post. I have used zend framework for about 2 years and just started a new project with symfony. My feeling is zf is great if you like having complete freedom to build an application your way, however, for me personally I am enjoying the way symfony is building some of the code for me. Yes, zf has started to do this too. I wanted to start using doctrine orm and found symfony the easiest way to start doing it. Would have to cobble together about 3 or 4 blog posts to understand how to do it zf. Don’t want to start a flame war because zf is excellent when you know it.