Join the revolution – new possibilities are opened up by the switch to Django.
It can be difficult to let go of something you've invested a lot of time and effort building. If you've nursed a project through countless iterations and development cycles it becomes increasingly easy to overlook its flaws and ignore its creaking inadequacies. It was, therefore, only after careful consideration and evaluation that we made the leap to Django.
Identifying the problems
We've had to redefine what we thought possible, and have been involved in projects that would have been insurmountable only a few short years ago.
When we first came to Django three years ago, we were still using a bespoke PHP based framework. It was a long running in-house project, extended and reworked to meet the demands of our clients. Over time it had acquired more and more functionality and boasted an impressive range of features. Versions of it had been reliably powering our clients' websites for a number of years and all of our developers had detailed knowledge of its operation.
However, the years had taken their toll on its integrity, with custom additions factored into numerous branches, the code base had become ever more difficult to maintain. We believed total control over the code meant we were able to adapt quickly to new requirements, but soon we became laden with project-specific variants and backwards-incompatible changes. Startled into action by the growing problem, we discovered many other individuals and teams had been working towards similar objectives, often with resources far in excess of our own.
Looking at the possibilities
Though many of the others were already well established, Django stood out from the competition.
Frameworks aplenty now addressed the types of challenges we faced, and these solutions offered customisability and adaptability ours couldn't. After investigating a number of these projects we found Django (albeit in an unfinished and occasionally patchy state). Though many of the others were already well established, Django stood out from the competition.
Django had everything we were looking for; it was close enough to our own philosophies to feel familiar and offered a set of common functionality that we could immediately put to use. As we've gotten to know it, and as it's been improved and supported by its active community (of which we are proud members), we've come to appreciate it not only for what it provides, but also the ease with which it can be tailored to our needs. We can build complex additions without having to disturb its inner workings, avoiding the issues we'd been running into with our previous efforts.
Make the change
After an initial lull in productivity resulting from the change over, we've exceeded all our previous achievements. We've had to redefine what we thought possible, and have been involved in projects that would have been insurmountable only a few short years ago.
So, don't avoid change for the sake of clinging to something comfortable. If your current framework is no longer up to task, don't desperately keep it on life support, and if you are planning to make the jump, you could do worse than spending a little time exploring Django.