Sortie de Brython 3.10, implémentations du langage Python pour les navigateurs Web

Une version du projet Brython 3.10 (Browser Python) a été présentée avec une implémentation du langage de programmation Python 3 pour une exécution côté navigateur Web, permettant l'utilisation de Python au lieu de JavaScript pour développer des scripts pour le Web. Le code du projet est écrit en Python et distribué sous licence BSD.

En incluant les bibliothèques brython.js et brython_stdlib.js, un développeur Web peut utiliser le langage Python pour définir la logique du site côté client, en utilisant Python au lieu de JavaScript. Pour inclure du code Python sur les pages, utilisez la balise с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Exécuter du code Python à partir de blocs производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Les performances finales de la plupart des opérations dans les scripts Python intégrés dans les pages Web sont proches des performances de CPython. Le retard ne se produit qu'au stade de la compilation, mais pour l'éliminer, la possibilité de charger du code JavaScript précompilé est fournie, qui permet d'accélérer le chargement de la bibliothèque standard (Brython fournit des outils pour créer des bibliothèques JavaScript basées sur des modules Python. ).

La nouvelle version offre une compatibilité avec Python 3.10, y compris la prise en charge des opérateurs de correspondance de modèles (match/case). La nouvelle version propose également une première implémentation d'un arbre de syntaxe abstraite (AST, Abstract Syntax Tree) pour le langage Python, qui pourra ensuite être utilisé pour générer du code JavaScript à partir d'un AST universel.

Source: opennet.ru

Ajouter un commentaire