Django est un ancien framework Python, mais avec sa vitesse de développement rapide et son faible coût, il vaut toujours la peine d'être envisagé en 2024. Django est riche en fonctionnalités, allant de la gestion de bases de données SQL au service d'API, et peut être facilement déployé dans une architecture sans serveur. Sa forte prise en charge du langage Python et sa grande communauté le rendent idéal pour une variété de petits projets.
Décider d'opter pour une technologie full-stack peut être intimidant. Il existe un grand nombre de cadres à évaluer.
Je partagerai mon point de vue à contre-courant. Choisissez Django. Le framework Django Python est ancien, mais il fait le travail rapidement et à moindre coût. Django a une philosophie « fourre-tout et opiniâtre ». Cette approche permet de démarrer très rapidement avec Django. À mesure que la taille de votre projet augmente, divisez Django en composants distincts pouvant servir de gestionnaire de base de données SQL, de mappeur objet-relationnel ou de serveur API.
En 2024, nous avons arrêté d'utiliser Firebase et MongoDB sur le backend et sommes passés à Django. Même si de nombreux projets pourraient bénéficier de frameworks plus modernes, le choix de technologies plus récentes peut également entraîner des coûts plus élevés, car les équipes ont du mal à trouver des développeurs possédant les compétences requises et découvrent plus tard que, à mesure que des problèmes imprévus surviennent, les budgets de développement augmentent constamment. Avec Django, votre chemin de développement a été pavé par des dizaines de milliers de développeurs.
Pour les types de petits projets que nous construisons pour les flux de travail d'entreprise, Django est non seulement plus rapide pour transformer des idées en prototypes, mais il est également moins cher à construire et à maintenir. Voici les 5 principales raisons pour lesquelles vous devriez envisager d’utiliser Django en 2024.
1. SQL en tant que service
Django utilise une base de données SQL. Comme Django, SQL est considéré comme ancien et moins glamour que les bases de données NoSQL plus récentes comme MongoDB. Une façon de considérer Django est de le considérer comme une base de données SQL avec du code prédéfini pour rendre la base de données plus facile à utiliser. Si Django ne répond pas à vos besoins futurs pour une fonctionnalité particulière, vous pouvez toujours utiliser SQL Database seul, ou utiliser des parties de Django pour rendre la base de données plus accessible.
Dans notre cas, une partie de notre déploiement Django consiste en une base de données PostgreSQL gérée en tant que service. Tout d’abord, nous ajoutons simplement les informations de connexion à l’application Django. Cette architecture nous permet également d'utiliser Django comme outil de prototypage ad hoc pour configurer l'interface et la logique de travail des données. Au fur et à mesure que le projet grandit, nous pouvons contourner Django et nous connecter directement à la base de données à l'aide d'une autre application comme Flutter ou React, ou configurer un serveur intermédiaire rationalisé pour relier la base de données et le front-end.
La maturité de SQL est également un avantage lors du recrutement de talents. De nombreuses universités et écoles techniques proposent SQL dans le cadre de leur programme d'études principal. Le recrutement dans les écoles est plus facile car les étudiants ont une expérience académique récente et sont désireux d’acquérir davantage d’expérience dans le monde réel. La plupart des projets de logiciels d'entreprise peuvent être réalisés sans compétences avancées en administration de bases de données SQL.
2.API Service
La possibilité d'exposer les points de terminaison de l'API à l'aide du framework SQL ou Django REST nous permet de créer rapidement plusieurs interfaces de base de données en utilisant différentes technologies. Bien que les modèles Django soient faciles à apprendre et puissants, ces modèles ne sont pas aussi interactifs que les frameworks plus réactifs.
Heureusement, Django fournit des modèles de page Django et des API REST pour les mêmes données. Cela signifie que vous pouvez tester différentes architectures front-end tout en réutilisant une grande partie de la logique principale du back-end.
L'avantage de commencer avec Django au lieu d'un serveur API est qu'il est plus facile de démarrer avec Django et les concepts de prototypes. Django est très facile à installer et est livré avec tout ce dont vous avez besoin pour une application Web. pip install django vous permettra de démarrer. Construire un prototype fonctionnel et le déployer est extrêmement rapide. Django est livré avec une authentification, une base de données, un serveur Web de développement et une syntaxe de modèle. Cela permet de créer rapidement des sites complexes en utilisant différents groupes de sécurité et un panneau de gestion des employés intégré.
3. Architecture sans serveur
Django peut être facilement déployé sur une architecture sans serveur et élimine la configuration et la maintenance de serveurs virtuels. À partir de 2023, nous migrerons le projet Django vers une architecture sans serveur. Auparavant, nous utilisions Ubuntu Linux sur des serveurs virtuels. Nous avions l'habitude d'exécuter PostgreSQL, NGINX et Django sur le même serveur virtuel évolutif. Après la migration vers une suite de services cloud de base de données, de stockage, de processeur et de réseau, le lancement d'un nouveau projet a pris moins d'une journée.
Lors du développement logiciel, notre code est poussé vers GitHub sur une branche et nous pouvons le prévisualiser dans le navigateur en tant qu'application Web. Une fois qu'une pull request est examinée par un homologue ou un responsable, elle est fusionnée dans la branche principale, déclenchant un déploiement automatique du code vers un service de production pour exécuter l'application. Les scripts et paramètres de déploiement GitHub de Django sont fournis par App Services. Nous le copions simplement et le déployons.
Étant donné que notre service d'application ne peut pas être utilisé pour stocker des médias et des données, nous utilisons différents services pour stocker des médias comme des images. Puisque Django existe depuis si longtemps, il existera une solution à presque tous les problèmes de connexion que vous rencontrerez. Par exemple, le SDK AWS Boto3 pour Python offre un accès facile à S3, c'est ainsi que nous gérons le stockage.
4.Python
Python est toujours l'un des langages les plus populaires. Il est largement enseigné à tous les niveaux d’enseignement aux États-Unis, notamment au primaire, au collège, au lycée et à l’université. Un si grand vivier de talents facilite le recrutement, et l’intégration de Python dans des cours académiques structurés peut conduire à de meilleures pratiques de programmation. Même si vous n’avez aucune expérience avec Python, une personne familiarisée avec un autre langage peut rapidement devenir plus productive.
Étant donné qu'aucune compilation n'est requise, Python facilite un flux de développement très rapide. Le manque de compilation nuit aux performances. Pour la plupart des projets, le matériel coûte moins cher que la main d’œuvre. Avec une architecture cloud évolutive, les performances de Django ne sont jamais un problème pour les projets avec peu de connexions simultanées.
Bien que Python soit typé dynamiquement, vous pouvez utiliser des types pour profiter des astuces de type.
La chaîne d'outils est peut-être plus importante que les fonctionnalités du langage. Puisque Python ne nécessite pas de compilation, la chaîne d’outils est plus facile à configurer et à maintenir. Des outils légers comme pyenv et venv peuvent maintenir la cohérence des versions de Python et des packages dans l'ensemble de votre équipe de développement. Tant que PATH est correctement défini sur le poste de travail du développeur, le développement et le déploiement se déroulent généralement sans problème. Notre équipe développe sur un mélange de Windows 10, Windows 11, macOS et Ubuntu 22.04. Bien que cela ne soit pas obligatoire, tout le monde utilise VS Code avec une gamme d'extensions Python.
5. Communauté
Plus de 20 ans plus tard, presque tous les problèmes de Django ont été résolus par d'autres.
La grande taille et la longue histoire de la communauté contribuent également aux changements de personnel. La plupart des informations sur Django peuvent être trouvées en recherchant sur le site Web QA ou sur le site Web AI.
En revanche, lorsque j'utilise d'autres frameworks plus récents, je constate que j'ai besoin d'obtenir des informations en posant des questions aux gens, généralement sur des systèmes comme Discord ou Slack.
Avec Django, je n'ai généralement pas besoin d'attendre qu'une seule personne réponde à ma question car des dizaines de milliers de développeurs Django avant moi ont généralement posé et répondu à la question. Bien qu’il existe de nombreux cours gratuits et bon marché sur Django et Python, la plupart des gens commencent tout juste à coder et à chercher des réponses.
Bien que le langage Python et Django soient en développement actif, la plupart des problèmes dans les petits projets ne se produisent pas en raison de cas extrêmes dans le langage ou le framework.
Le développement futur de Django
Je ne prédirai pas l'avenir. Les jeunes le créeront. Dans mon entreprise, nous avons un programme actif de stages de premier cycle. Bien sûr, ils utilisent et aiment Django. Cependant, cela fait partie de leur travail. Je suis étonné de voir à quel point ils utilisent Python et Django dans leurs propres projets en dehors du travail. Je m'attends généralement à ce que les personnes de moins de 24 ans utilisent JavaScript, et éventuellement TypeScript, à la fois sur le backend et sur le frontend des projets full-stack. Les jeunes programmeurs sont l'avenir, utilisant souvent Python pour le backend combiné avec des éléments tels que le panneau d'administration Django, la syntaxe du modèle Django et React pour le frontend.
En fin de compte, un framework plus moderne sera peut-être mieux adapté à votre projet. Si vous aimez Python, alors Flask ou FastAPI sont probablement meilleurs que Django. GraphQL avec Django est probablement meilleur que le protocole REST éprouvé. Cependant, avant de penser que Django est ancien et monolithique, jetez-y un nouveau regard du point de vue de la composantisation. C’est probablement le moyen le plus rapide et le moins cher de donner vie à vos idées.
20 ans plus tard, Django se porte toujours très bien.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!