Comme vous le savez, la popularité du langage Python continue de faire la une des médias, et cela s'est récemment matérialisé par la publication du classement des meilleurs langages 2018 de l’Institute of Electrical and Electronics Engineers (IEEE). Ce dernier, qui est de surcroît la plus grande association mondiale de professionnels techniques, a en effet classé le langage Python à la première place de sa liste et cela devant des langages comme Java, C++, C, etc. Il convient de signaler que cette annonce confirme le précédent classement de l'IEEE qui date de 2017 et dans lequel Python était considéré comme le meilleur langage.
Face donc à cette ascension de Python, il semble évident que bon nombre de développeurs vont se lancer dans la programmation en se servant de ce langage. Pour ce faire, ces derniers vont devoir recourir aux frameworks afin de créer du code et ainsi développer des applications. Pour rappel, un framework offre aux développeurs une structure bien définie leur permettant de se focaliser sur la logique principale de l'application qui sera développée. Il devient donc important de bien choisir le framework idéal tout en prenant en compte la taille et la complexité du projet.
Ci-dessous quelques frameworks Python actuellement disponibles.
- Bottle
Un microframework Web WSGI (Web Server Gateway Interface) présenté comme simple, rapide et léger. Il intègre un serveur HTTP, des utilitaires, des templates, et le routage des requêtes. - CherryPy
Fondé par Rémi Delon, CherryPy est un framework Python open source orienté objet qui est essentiellement utilisé par les développeurs pour créer des applications Web Python. Il dispose de son propre serveur Web multi-threadé.
Vous pouvez créer des applications à l'aide de CherryPy qui s'exécutera sur tout système d'exploitation prenant en charge Python, tels que Windows, Linux / Unix et macOS. - Django
Développé par Django Software Foundation, Django est considéré comme un framework Web Python complet . Il est open source et gratuit et permet aux développeurs de créer du code et des applications complexes de manière plus simple et en moins de temps comparativement à d'autres frameworks. Sa forte popularité chez les développeurs est due au fait qu'il possède une vaste collection de bibliothèques écrites en Python et certaines de ses principales fonctionnalités sont le routage des URL, le mapping objet-relationnel (en anglais object-relational mapping ou ORM), le mécanisme d'authentification, le moteur de modèle et les migrations de schéma de base de données. - Eve
Un framework qui permet de concevoir et déployer des services Web. Plusieurs autres outils peuvent venir enrichir ses fonctionnalités, notamment en lui ajoutant des extensions. - Falcon
Considéré comme un framework Python utilisé pour développer des API cloud et des backends d’applications, il est annoncé comme faisant partie des frameworks WSGI les plus rapides avec la capacité de traiter les requêtes plusieurs fois plus rapidement que les autres frameworks Web. - Pyramid
Écrit en Python, ce framework Web, selon ses auteurs, donne aux développeurs la possibilité de développer des applications Web assez rapidement ; cela que ça soit de petites applications ou des applications complexes. Ces fonctionnalités peuvent être étendues en lui ajoutant des extensions, des paquets ou des applications conçues pour fonctionner avec ce framework. - Web2py
Développé par Massimo De Pierro, Web2py est un framework d’applications Web multi-plateformes. Il est open source et gratuit, écrit en Python et permet à ses utilisateurs de créer du contenu Web dynamique. Ce framework intègre un éditeur de code, un débogueur et un outil de déploiement permettant de développer et de déboguer du code, ainsi que de tester et de gérer des applications. - Wheezy Web
Il est considéré comme un framework Web WSGI performant, léger et de haute concurrence avec comme fonctions principales la conception d’applications Web modernes et efficaces. Étant optimisé pour la performance, il intègre un modèle d’architecture MVC, le routage des requêtes, un modèle de validation et mise à jour, une autorisation et une authentification, la mise en cache du contenu avec une dépendance et bien d’autres choses encore.
En dehors de cette simple question « Quels sont vos frameworks Web Python préférés en 2018 ? », ce débat est l'occasion de partager vos expériences sur les frameworks Web Python.
N'hésitez pas à préciser :
- quelle version/édition du framework vous utilisez ?
- quels sont ses principaux atouts ?
- quels sont ses désavantages, ou les choses qu'il y aurait à améliorer ?
- à qui conseilleriez-vous ce framework (développeur débutant, confirmé, expérimenté) ?
- ce framework est-il un choix personnel ou quelque chose d'imposé (entreprise/école) ?
- si le framework que vous utilisez vous a été imposé, quel autre framework auriez-vous préféré utiliser ? Ou quel framework utilisez-vous personnellement ?
- combien de frameworks avez vous déjà utilisés ?
- si vous en avez utilisé plusieurs, qu'est-ce qui a motivé ces changements ?
Voir aussi
Programmation : Python gagne de plus en plus en popularité, et Swift fait à nouveau son entrée dans le top 10 de l'index TIOBE d'octobre 2018
Meilleurs langages en 2018 selon l'IEEE : Python conforte sa place de leader, grâce à son ascension dans le machine learning et l'embarqué
IEEE : Python devient le meilleur langage en 2017 en dépassant C et Java, découvrez le classement complet selon divers critères