À bien des égards, nous vivons à l'âge d'or du développement Web. Les technologies Web n'ont jamais été aussi raffinées et flexibles qu'aujourd'hui, et si vous souhaitez créer un site Web ou une application Web de haute qualité, vous avez de nombreuses façons viables d'y parvenir, y compris l'utilisation de Python.
Contrairement à la croyance populaire, Python n'est pas seulement utile pour le traitement de données et les scripts utilitaires. Jetez un coup d'œil sur HotFrameworks.com et vous verrez que le cinquième framework Web le plus populaire est basé sur Python. À côté de JavaScript et Ruby, Python est l'un des meilleurs langages à utiliser pour le développement Web.
Lors du développement d'une application Web, Python a une capacité similaire à des langages tels que PHP et Ruby :il est principalement utilisé pour gérer le traitement et le routage back-end. Les pages Web doivent toujours être rendues en HTML, le thème est toujours géré avec CSS et le traitement frontal est toujours effectué en JavaScript.
Cela peut sembler écrasant, mais selon le framework Web Python que vous utilisez, cela ne doit pas être aussi mauvais qu'il y paraît. Par exemple, Django dispose d'un système de modèles pour écrire des fichiers HTML spéciaux qui peuvent intégrer du code Python et interagir avec les données du back-end Python.
Ce type de framework est appelé framework full-stack -- celui qui est livré avec des systèmes qui gèrent les requêtes HTTP, le stockage de base de données, les modèles de pages Web, les requêtes de routage, etc. De l'autre côté, vous avez un framework non-full-stack , également appelé micro-framework , qui ne gèrent que la logique principale de base et doivent être combinés avec des bases de données tierces, des moteurs de modèles, etc.
En général, les frameworks full-stack ont des courbes d'apprentissage plus abruptes et vous obligent à adopter certaines conventions et structures, mais fournissent tout ce dont vous avez besoin. Les micro-frameworks peuvent être appris en un rien de temps et sont plus flexibles, mais vous devrez peut-être réinventer les rouages à chaque nouveau projet.
Au moment d'écrire ces lignes, les frameworks JavaScript comme React gagnent en popularité, en particulier parmi les développeurs Web débutants. La ligne de pensée est la suivante :"Si j'ai besoin de JavaScript pour le front-end, pourquoi ne pas utiliser JavaScript pour le back-end également ?" Ça a du sens. Et PHP existe depuis des décennies avec beaucoup de documentation, c'est donc aussi une option viable.
À la fin de la journée, utilisez la langue que vous souhaitez utiliser. Tout ce que vous pouvez faire avec une langue peut être fait avec une autre - tout ce qui compte vraiment, c'est à quel point vous l'utilisez. Si une langue ne vous convient pas, vous serez simplement frustré et vous arrêterez. Mais voici pourquoi j'aime Python :
Pour vous lancer dans le développement Web Python, vous devriez sérieusement envisager d'utiliser l'un des éléments suivants. Ils sont tous robustes avec une quantité importante d'historique, vous pouvez donc être assuré qu'ils sont assez bons pour une utilisation en production et ne disparaîtront pas du jour au lendemain.
Django -- Le premier framework Web tout-en-un pour les passionnés de Python. Il est livré avec des dizaines de composants intégrés qui sont tous bien testés et garantis pour fonctionner ensemble. Vous devrez apprendre "la méthode Django" pour créer des applications Web, mais une fois que vous l'aurez compris, le développement rapide sera la norme. Et si vous voulez un emploi en tant que développeur Web Python, Django est à peu près la seule voie.
Une chose à noter à propos de Django :il est très bon pour la mise à l'échelle. Au fur et à mesure que votre application Web grandit, il sera généralement plus facile de rester organisé que si vous aviez utilisé un autre framework Web Python. Et Django est open source, au cas où vous souhaiteriez contribuer.
Flacon -- Un micro-framework qui ne fournit que suffisamment pour démarrer et vous donne un contrôle total sur les composants tiers que vous allez intégrer. En ce sens, c'est presque l'opposé polaire de Django :Flask n'offre presque aucune opinion sur la façon dont vous devriez créer une application Web. C'est simple et facile à apprendre.
C'est une épée à double tranchant. Si vous savez vous devez utiliser telles ou telles technologies, alors Flask peut être la colle minimale qui les maintient toutes ensemble. Si vous n'avez aucune expérience, cependant, vous pouvez facilement vous tirer une balle dans le pied encore et encore en essayant d'apprivoiser Flask.
Pyramide -- Vous pouvez en quelque sorte considérer Pyramid comme un compromis entre Django et Flask. C'est loin d'être aussi opiniâtre que Django et vous aurez plus de liberté pour organiser votre application Web comme vous le souhaitez, mais c'est un peu opiniâtre et n'est pas aussi dépouillé que Flask.
Une autre façon de penser:Pyramid est livré avec de nombreuses fonctionnalités par défaut, mais permet de les remplacer facilement si nécessaire. Pyramid dispose d'une grande bibliothèque de plugins officiels et non officiels que vous pouvez sélectionner et choisir par projet.
Si vous êtes arrivé jusqu'ici et que vous êtes toujours sceptique quant à l'utilisation de Python pour le développement Web, voici une poignée de sites bien connus qui ont été créés à l'aide des frameworks ci-dessus. Vous constaterez que Python est un excellent choix pour les sites Web et les applications Web, qu'ils soient petits, grands, minimes ou complexes.
Prêt à commencer mais vous n'avez aucune expérience Python ? Pas de soucis. Consultez nos exemples de base de Python pour voir comment Python se sent et pour maîtriser les principes de base. Après cela, consultez ces chaînes de programmation YouTube, en particulier celles liées à Python et au développement Web (recherchez celles sur Django et Flask).
En plus de cela, je recommande fortement d'écouter certains podcasts de programmation. Il y en a plusieurs qui iront de pair avec votre voyage à travers Python et le développement Web. J'aime particulièrement Developer Tea, un petit podcast quotidien motivant et relaxant.
Que pensez-vous de Python ? L'utiliserez-vous pour le développement Web ? Quels types de sites ou d'applications souhaitez-vous créer ? Partagez avec nous dans les commentaires ci-dessous !