5 cas d’utilisation de Python que seuls quelques programmeurs connaissent

-

Python est un langage de programmation polyvalent simple, convivial pour les développeurs et interprété. Python gagne chaque jour en popularité en raison de sa grammaire simple, de son riche écosystème de bibliothèques et de son environnement de développement hautement productif. Les programmeurs utilisent Python pour créer des backends web, des scripts utilitaires et des applications de bureau natives. De nos jours, Python est également très populaire parmi les ingénieurs scientifiques, les analystes de données, les ingénieurs en apprentissage automatique et les scientifiques des données.

Les langages de programmation deviennent généralement plus populaires lorsqu’ils atteignent différentes communautés de développeurs. Par exemple, JavaScript est devenu plus populaire grâce au framework Electron, qui permet aux développeurs de créer des applications de bureau avec des frontaux web. Python tente également d’atteindre de nouvelles communautés de développeurs grâce aux innovations impressionnantes réalisées par la communauté des développeurs Python.

Aujourd’hui, nous pouvons utiliser Python pour construire n’importe quoi comme JavaScript. Cependant, la plupart des développeurs ne sont toujours pas au courant de ces innovations impressionnantes basées sur Python. Dans cet article, je vais expliquer plusieurs cas d’utilisation moins connus de Python. Essayez d’utiliser Python pour l’un de ces cas d’utilisation et aidez Python à devenir plus populaire.

1. Python pour la création d’applications mobiles

Aujourd’hui, les langages Dart et JavaScript sont les plus prisés pour la création d’applications mobiles multiplates-formes. En d’autres termes, Flutter et React Native dominent le marché du développement d’applications mobiles. Mais tous les programmeurs Python doivent-ils apprendre Dart ou JavaScript pour écrire des applications mobiles ? Non, le framework GUI Kivy peut déjà produire des applications natives pour les plateformes Android et iOS. Vous pouvez donc utiliser Python pour créer des applications mobiles multiplates-formes.

Kivy est livré avec sa propre boîte à outils de widgets, similaire à Flutter. Kivy utilise SDL (Simple Directmedia Layer) pour le rendu des éléments 2D sur Android et iOS comme Flutter utilise Google Skia. Kivy communique avec les API mobiles natives via JNI/Cython sur Android et Objective-C/Cython sur iOS.

Comme d’autres frameworks mobiles, Kivy fournit également des chaînes d’outils pour créer des paquets d’applications spécifiques à la plateforme. En outre, vous pouvez exécuter des applications Kivy sur des systèmes d’exploitation de bureau. Google Play et Apple AppStore acceptent les applications basées sur Kivy. Si de nombreux développeurs commencent à construire leurs applications avec Kivy, il peut sans aucun doute concurrencer à la fois Flutter et React Native.

2. Exécution de Python sur le navigateur

L’interpréteur Python s’exécute généralement sur le système d’exploitation. Que faire si vous avez besoin d’exécuter Python sur le navigateur Web ? Vous pourriez penser que nous devons héberger une instance de l’interpréteur Python sur un serveur distant et communiquer via le protocole WebSocket. Oui, c’est ce que font la plupart des interprètes Python en ligne. Mais maintenant, vous pouvez exécuter n’importe quel module Python purement du côté client avec le navigateur grâce à Pyodide.

Pyodide exécute une version WebAssembly de CPython via Emscripten. L’implémentation WebAssembly du navigateur offre généralement un environnement d’exécution semblable à celui d’un CPU virtuel.

Le compilateur WebAssembly d’Emscripten prend également en charge un système de fichiers virtuel en mémoire. Par conséquent, nous pouvons également exécuter des modules API de système de fichiers Python sur le navigateur. Voyez l’extrait de code suivant – il fonctionnera sur le navigateur.

console.log(pyodide.runPython(`
     import os
     os.makedirs('dir/test')
     print(os.listdir('dir'))
`));

Le code ci-dessus fonctionnera avec l’implémentation du système de fichiers virtuel d’Emscripten et imprimera la sortie suivante.

['test']

Désormais, vous pouvez exécuter directement du code Python scientifique sur le navigateur web. Pyodide prend en charge les bibliothèques de programmation scientifique les plus populaires, telles que NumPy, pandas, SciPy, Matplotlib et scikit-learn. L’implémentation Python de Pydiode offre également un moyen d’accéder aux API Web. Par exemple, vous pouvez afficher une alerte de navigateur avec le code Python suivant.

import js
js.alert('Hello JavaScript!') # js module refers to window :)

Désormais, il n’y a rien de magique à ce qu’un développeur Python écrive une application React en Python.

3. Python pour l’écriture de scripts Shell

Les administrateurs système écrivent généralement des scripts Bash pour diverses tâches de maintenance du système. Les développeurs ont également tendance à automatiser leurs tâches manuelles répétitives et fastidieuses à l’aide de scripts Shell, afin d’améliorer leur productivité. Certains programmeurs utilisent également Python pour écrire des scripts Shell, car Bash n’offre pas toutes les fonctionnalités dont nous avons besoin dans un langage de script moderne.

Cependant, vous devez écrire plus de code que Bash pour travailler avec des processus en Python. Le projet ShellPy offre une solution impressionnante à ce problème. ShellPy vous permet d’écrire des scripts d’automatisation de type Bash avec Python. Regardez l’exemple suivant.

#!/usr/bin/env shellpyprint('Hello ShellPy')

`
echo "Hello" > test.txt
cat test.txt
`

Comme vous l’avez déjà remarqué, vous pouvez exécuter des commandes Bash et des extraits Python dans le même fichier script ShellPy. Vous pouvez traiter des données avec Python tout en utilisant Bash pour lancer des processus. Ce qui est génial, c’est que vous pouvez obtenir directement les sorties de commandes Bash dans une variable Python. Essayez ShellPy pour écrire votre prochain script d’automatisation avec un code Python propre et simple.

4. Créer des applications de bureau hybrides Pythonic

Le développement d’applications de bureau natives est techniquement génial, mais nous devons maintenir des bases de code distinctes pour chaque plateforme. C’est pourquoi les développeurs ont maintenant tendance à créer des applications de bureau à l’aide de frameworks d’applications multiplates-formes et de boîtes à outils d’interface graphique. Des frameworks comme Electron offrent un moyen de créer des applications de bureau multiplates-formes avec des interfaces Web. Ces applications sont connues sous le nom d’applications hybrides, car elles intègrent des fonctionnalités natives à une application Web.

Les applications basées sur Electron utilisent généralement du code Node.js en backend. Mais les programmeurs Python peuvent écrire du code Python pour les backends des applications Electron via ces deux projets : python-gui-electron et electron-python-example.

Cependant, nous savons tous qu’Electron produit souvent du bloatware à cause de l’overhead de Chromium et Node.js embarqués. Comme alternative, vous pouvez écrire des applications hybrides basées sur Python avec le framework Eel et les exécuter comme des applications Chrome/Chromium. Eel crée un canal de communication entre Python et Chrome avec une connexion WebSocket – en vous permettant d’écrire du code Python pour le backend de l’application.

Vous pouvez également créer des applications de bureau hybrides légères et portables avec Neutralinojs en utilisant un backend Python.

5. Créez des programmes CLI en un temps record

Nous devons créer des applications CLI lorsque nous créons des outils de développement pour des frameworks et des bibliothèques. Par exemple, l’équipe Flutter a créé Flutter CLI pour gérer et configurer les applications Flutter. J’ai également créé un programme CLI basé sur Node pour le framework que je maintiens. En outre, nous pouvons transformer nos scripts d’automatisation en programmes CLI pour améliorer la convivialité. Par exemple, vous pouvez déclencher une action ou un processus particulier lorsque vous envoyez des commandes spécifiques à vos scripts.

La plupart des programmeurs utilisent Node.js pour créer des programmes CLI avec des modules Node populaires tels que commander.js, ink, oclif et chalk. Des bibliothèques comme commander.js offrent une API de méthodes chaînables productives pour construire des programmes CLI plus rapidement.

Le projet PythonFire de Google Open Source vous offre un moyen plus productif de développer des programmes CLI avec Python. PythonFire génère automatiquement la structure CLI à partir des définitions de fonctions et des arguments. Vous pouvez également utiliser cette bibliothèque pour convertir vos scripts d’automatisation existants en programmes CLI en un temps record. Une fois que vous aurez écrit le code suivant :

import firedef add(a, b):
  return a + bdef sub(a, b):
  return a - bif __name__ == '__main__':
  fire.Fire()

Vous pouvez utiliser les commandes suivantes pour appeler les deux fonctions.

./cli.py add 10 5
./cli.py sub 5 2

Conclusion

Chaque langage de programmation s’efforce désormais de devenir WORA (Write Once, Run Anywhere). JavaScript est devenu le langage WORA numéro un en couvrant toutes les communautés de développeurs.

Alfred
Alfredhttps://www.alfreddagenais.com
Salut ! Moi, c'est Alfred, développeur dans l’âme et explorateur de l'infini Web. Je suis constamment à la recherche de nouvelles idées et je pense que le développement web et l'informatique ont le pouvoir de transformer le monde. Je suis un grand admirateur de l'expérimentation, parce que c'est souvent de là que naissent les idées les plus créatives. Je suis convaincu que l'humour est un ingrédient clé de la vie, alors j'essaie toujours de glisser une blague ou deux dans mon code (pas toujours facile à comprendre, mais c'est le risque à prendre). En dehors de la programmation, j'aime passer du temps avec ma famille et mes amis, découvrir de nouveaux endroits et cuisiner des plats délicieux (du moins, j'essaie). Si vous voulez discuter de développement web, d'innovation, ou tout simplement échanger des blagues, n'hésitez pas à me contacter. Je suis toujours partant pour une bonne conversation !

Share this article

Recent posts

Popular categories

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Recent comments