Code Brython Python (capture d'écran - version 3.8.8)
Les développeurs du projet Brython Python ont publié une nouvelle version, Brython 3.9 . Le projet lui-même est positionné comme "Python pour le navigateur". Il est basé sur Python 3 et fonctionne du côté du navigateur, en utilisant Python au lieu de JavaScript pour développer des scripts Web.
Le code du projet est écrit en Python et distribué sous la licence BSD. La nouvelle version est compatible avec Python 3.9, et la bibliothèque standard a été mise à jour.
Afin de définir la logique du site côté client en utilisant Python au lieu de JS, un développeur Web doit inclure deux bibliothèques, brython.js et brython_stdlib.js. Pour inclure du code Python sur une page, une balise de script avec un type mime text / python est utilisée .
Du côté de Brython, il est permis à la fois d'incorporer du code dans la page et de charger des scripts externes. Exemple:
<script type="text/python" src="test.py">
L'accès complet aux éléments et événements DOM est fourni à partir du script. En plus d'accéder à la bibliothèque standard Python, il existe des bibliothèques spécialisées pour travailler avec les bibliothèques DOM et JavaScript telles que jQuery, D3, Highcharts et Raphael.
L'utilisation de frameworks CSS est prise en charge par les bibliothèques JavaScript telles que jQuery, D3, Highcharts et Raphael.
Les blocs Python sont exécutés à partir de blocs de script via la pré-compilation de code, qui est exécutée par le moteur Brython après le chargement de la page. La compilation est lancée en appelant la fonction brython () , par exemple en ajoutant
body onload="brython()"
.
Sur la base du code Python, une représentation JS est formée, puis elle est exécutée par le moteur JavaScript standard du navigateur.
En termes de performances, la plupart des opérations dans les scripts Python embarqués dans les pages web sont proches des performances de Cpython. Le seul moment où un retard se produit est pendant la phase de compilation. Mais la latence peut être éliminée par du code JavaScript précompilé, qui est utilisé pour accélérer le chargement de la bibliothèque standard.
<script type="text/python">
import time
import math
from browser import document
import browser.timer
content = document["content"]
...
canvas = content.select_one(".clock")
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")
browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = "canvas is not supported"
</script>
En savoir plus sur l'exécution de Brython
Pour que "Python for the Browser" puisse à la fois traduire et exécuter du code Python comme le code JS, vous devez appeler Brython lorsque le corps du document est chargé.
<body onload="brython()">
Dans ce cas, la balise recherche les balises de script de type text / python et exécute le code. Afin d'utiliser l'API pour travailler avec le Web, les développeurs Brython ont mis en œuvre une solution simple: importer une API, similaire à l'importation de tout autre module en Python:
from browser import document, html, window
Brython gère tout seul, donc aucune commande supplémentaire ne doit être exécutée.
Un point important - pour travailler avec Brython, vous avez besoin d'une expérience avec JavaScript, au moins un niveau de base. Sans cela, il sera assez difficile de le comprendre.