Principales caractéristiques du framework Django

Django est un framework d'application web, pour « les perfectionistes qui ont des deadlines »… Voici queques unes-de ses principales caractéristiques.

Un framework « web »

Avant toute chose, il faut comprendre ce qu'est Django, et pouvoir le situer dans l'écosystème des frameworks de développement.

Django intervient pour la création d'applications web, et sa conception est caractéristique de ce genre de framework : il s'articule complètement autour du pattern logiciel MVC (Model/View/Controller, en français : modèle/vue/contrôleur).

En cela, il s'apparente notamment à des frameworks comme Ruby on Rails (avec qui il partage notamment l'objectif de « produire du code élégant », ce qui en soi est déjà élégant !) ou encore Java Play!. Il diffère de frameworks comme Spring, dont le MVC et la création d'applications web ne sont qu'une des composantes d'un écosystème beaucoup plus large.

Un framework avec des principes !

Django prend clairement le parti d'encourager très fortement le programmeur à écrire le moins de code possible, le plus réuilisable possible. Ces objectifs se traduisent concrètement par :

  • des helpers et autres outils pratiques pour ne pas se répéter (DRY : Don't Repeat Yourself) ;
  • des possibilités de modularisation et de couplage faible du code étendues (via la notion d'application).

Parmi les bons principes adoptés par Django, on peut également mentionner la facilité d'accès au testing unitaire conféré par un framework de test très simple à mettre en œuvre mais puissant.

Des atouts séduisants : quelques points forts de Django

Django recèle quelques pétites qui rendent le développement très agréable :

  • Un moteur de template très puissant implémentant un concept d'héritage de templates, à la syntaxe élégante, qui a fait des émules (h2o-php, Jangod…)
  • Un ORM (Object Relational Mapper) défiant toute concurrence en matière de simplicité, d'élégance de syntaxe, et présentant des performances très honorables
  • Une gestion du routage d'URL (contrôleur frontal des applications) élégante, fondée sur les paterns d'expressions régulières nommés de Python
  • Un langage de base, Python, dont la simplicité et la popularité ne sont plus à démontrer
  • Plein d'autres choses que vous découvrirez vous-mêmes !

Qui utilise Django ?

De nombreux sites et applications web utilisent Django, dont (liste bien évidemment non-exhaustive) :

Quelques livres sur Django

Apprendre la programmation web avec Python et Django : principes et bonnes pratiques pour les sites web dynamiques

Apprendre la programmation web avec Python et Django : principes et bonnes pratiques pour les sites web dynamiques

Voir

Two Scoops of Django: Best Practices for Django 1.5

Two Scoops of Django: Best Practices for Django 1.5

Voir

Django avancé : Pour des applications web puissantes en Python

Django avancé : Pour des applications web puissantes en Python

Voir