La version du projet Brython 3.14.1 (Python pour navigateur) est disponible, offrant une implémentation du langage de programmation Python 3 pour les navigateurs web, permettant d'utiliser Python au lieu de JavaScript pour le développement de scripts web. Le code du projet est écrit en Python et distribué sous une licence BSD.
En connectant les bibliothèques brython.js et brython_stdlib.js, les développeurs web peuvent utiliser Python pour définir la logique de fonctionnement du site côté client, remplaçant JavaScript. Pour inclure du code Python dans les pages, on utilise la balise ). Le script a un accès complet aux éléments et événements du DOM. En plus de l'accès à la bibliothèque standard de Python, des bibliothèques spécialisées sont proposées pour interagir avec le DOM et des bibliothèques JavaScript telles que jQuery, D3, Highcharts et Raphael. L'utilisation de frameworks CSS comme Bootstrap3, LESS et SASS est supportée.
Exécution du code Python à partir de blocs <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
La performance finale de la plupart des opérations dans les scripts Python intégrés aux pages web est proche de celle de CPython. Un retard ne se produit qu'à l'étape de compilation, mais pour y remédier, il est possible de charger du code précompilé en JavaScript, ce qui est utilisé pour accélérer le chargement de la bibliothèque standard (Brython fournit des outils pour créer des bibliothèques JavaScript à partir de modules Python).
Cette nouvelle version se distingue par une refonte complète de l'implémentation des types intégrés et la réécriture du code pour analyser les arguments des fonctions et méthodes intégrées. La branche Brython 3.14 assure la compatibilité avec CPython 3.14 et met en œuvre la majorité des nouvelles fonctionnalités de cette version, y compris la prise en charge des f-strings et du traitement différé des annotations.
Source : opennet.ru
