From pure PHP to a large framework like Django

Web development is one of the widest fields in Computer Science, you can choose from many programming languages and also between many frameworks for each language. Each language and framework has it’s own advantages and disadvantages, but most of the cases a framework makes your development easier and faster once that you have learned how to use it.

I don’t consider myself a pro in web development, however I have taken several courses in college and by myself where I have learned the basics of this two approaches: develop with framework and without framework. My first web development project was only with PHP, it was a system to manage an institution for orphan children. Then for social service I developed a system in Django to manage a library with users and an admin site. So from pure PHP I went to develop a system with Django which is currently one of the largest frameworks. I found some pros and cons in developing with this two approaches.

As we can notice Django takes more time and dedication to learn and apply it, however it is enormously powerful. If you don’t believe me let me tell you some of the most popular Django projects:

On the other hand, PHP was very used and famous in the beginning of our century, even Facebook was built with it and when Facebook launched in 2004 PHP was the hit, but now other languages have evolved and they have many frameworks that provide you with amazing tools.

We can notice the advantages of using frameworks begin to mark an enormous difference in the success of a project. It is important to consider the size, reach, relevance and importance of the project. You don’t want to develop a site which includes money transactions with only PHP, you will be vulnerable in many ways, having said that a comparison in security, at least in a general way, couldn’t miss.

At this point we could think that using a framework like Django it’s simply perfect and that there is not a single aspect that PHP is better than Django. Well, based in my experience I came up with the following one.

In conclusion, I don’t pretend to affirm that using a Framework is way more better that using only the language. But in many projects the framework do things for you that could take you weeks to accomplish, you might find restrictions in the framework but at least you have better security, better efficiency and a very elegant solutions for some cases. Django is an example of elegance, creating views, matching url patterns, working with objects and generic views. With Django you definitely accomplish their main slogan:

Don’t repeat yourself…

References