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

Une version du projet Brython 3.11 (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 se distingue par sa compatibilité avec CPython 3.11 et par la mise en œuvre de la plupart des nouvelles fonctionnalités de cette branche, notamment la prise en charge des groupes d'exceptions et de l'expression « except* », le détail des expressions problématiques dans les messages de diagnostic et l'ajout de notes aux exceptions.

Source: opennet.ru

Ajouter un commentaire