I started a new project recently. It’s a “greenfield” project, meaning that I get to start developing from scratch.
I initially did some prototyping with Penny, a minimalist MVC framework I tinkered with for a bit. Penny did a great job of making it super easy to protoype interfaces, work with various data model structures and generally try a few different approaches before settling into a comfortable feel for the system I wanted to end up with. So Yay Penny!
Once I had a good idea of what I needed to build, I moved to a more robust MVC framework to do some of the heavy lifting for me. I had initially thought that I wanted the app to be written in PHP to make portability and deployability as simple as possible. I looked at various PHP MVC frameworks and decided on Symfony. What a huge pain in the butt it was!
Symfony initially looked as though it had a lot to offer. But fairly quickly I ran into issues in various places. Phing got hung up on some of the model names I had chosen. While I know what caused it and how to fix it, I would have to hack Symfony a bit to tweak the way in which it integrates Phing. In fact, I came across a Symfony Trac ticket which was resolved by saying “won’t fix. this is a Phing thing and we can’t change it. rename your model class”.
If you’ve read my previous posts you’ll know that I have a love hate, usually mostly hate relationship with frameworks. Symfony definitely left me unimpressed.
I’ve had a number of inquiries about Python development projects recently. So I decided to try using Django and writing the system in Python. Within a day I had almost a full working prototype up and running. Now THAT’s what I want a framework to do for me.
The Django admin interface made it a breeze for me to build my backend. And for the most part, the app is 80% backend with just a small number of publicly available views. So I’m in great shape less than 48 hours after choosing to switch to Django. Thank you Django.
I've got a masters degree in computer science and over 10 years of experience building web-based systems using Java/J2EE, Ruby, Rails and PHP. I'm a strong believer in the effectiveness of Agile Methods. Read more »
Djammin’ with Django
I started a new project recently. It’s a “greenfield” project, meaning that I get to start developing from scratch.
I initially did some prototyping with Penny, a minimalist MVC framework I tinkered with for a bit. Penny did a great job of making it super easy to protoype interfaces, work with various data model structures and generally try a few different approaches before settling into a comfortable feel for the system I wanted to end up with. So Yay Penny!
Once I had a good idea of what I needed to build, I moved to a more robust MVC framework to do some of the heavy lifting for me. I had initially thought that I wanted the app to be written in PHP to make portability and deployability as simple as possible. I looked at various PHP MVC frameworks and decided on Symfony. What a huge pain in the butt it was!
Symfony initially looked as though it had a lot to offer. But fairly quickly I ran into issues in various places. Phing got hung up on some of the model names I had chosen. While I know what caused it and how to fix it, I would have to hack Symfony a bit to tweak the way in which it integrates Phing. In fact, I came across a Symfony Trac ticket which was resolved by saying “won’t fix. this is a Phing thing and we can’t change it. rename your model class”.
If you’ve read my previous posts you’ll know that I have a love hate, usually mostly hate relationship with frameworks. Symfony definitely left me unimpressed.
I’ve had a number of inquiries about Python development projects recently. So I decided to try using Django and writing the system in Python. Within a day I had almost a full working prototype up and running. Now THAT’s what I want a framework to do for me.
The Django admin interface made it a breeze for me to build my backend. And for the most part, the app is 80% backend with just a small number of publicly available views. So I’m in great shape less than 48 hours after choosing to switch to Django. Thank you Django.