Thursday, July 4, 2019

What is Django?

Django is a web framework through and through. Favouring a single-package, “batteries-included” approach to software development, it offers plenty of integrated, ready-to-use solutions.

Django is essentially a web framework on steroids, focused on delivering business value of the product, as opposed to forcing you to make technological decisions. For this reason, the framework is sometimes considered an enterprise solution, good for larger companies. It also includes a template system, built-in object-relational mapping (ORM), and custom admin panel.

The admin panel in particular is a great feature of Django that makes development incomparably easier. For many use cases related to advanced CRUD administration (“create, read, update, and delete”), the panel is more than enough to answer any and all of your needs and get you started fast.

That is, unless you give the panel to the end user, in which case support from Product Design will be necessary. But as long as the use of the panel is limited to you or the admin, it’s perfectly sufficient.

More importantly, though, Django is somewhat infamous for its monolithism. The framework takes an approach known as “convention over configuration”—making customization and modification more difficult, but for the price of simpler development and maintenance.

What is Django used for?


We’ve already mentioned that Django can be perfect for larger enterprises, but not all projects have that kind of scope since day one.

Let’s assume you know for a fact you’re going to either:

  1. start your app off small, but comprehensively, and keep it small in the future;
  2. start your app off small and grow it later.

In the latter case, what you may not know, though, is how you’re going to approach this planned future growth. Your product may be one thing in the beginning and something else entirely after three months of development. This happens more often than you’d think.

That’s where Django comes to the rescue. Should your app grow exponentially over time, the framework by default has what you’ll most certainly need. It offers greater flexibility in the later stages of development.

It’s possible to integrate those additional solutions with Flask, but the process is unstandardized at best. Large projects with many modules mean more work with Flask, which in turn means higher maintenance and costs of development.

All in all, it’s much safer to start development in Django and stick to it later if you scale up rapidly.

Share:

0 comments:

Post a Comment