Principales caractéristiques du framework Django
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) :