A Brython 3.11 kiadása, a Python nyelv webböngészőkhöz való megvalósítása

Bemutatták a Brython 3.11 (Browser Python) projekt kiadását a Python 3 programozási nyelv implementációjával a webböngésző oldalon történő végrehajtáshoz, amely lehetővé teszi a Python használatát JavaScript helyett a webes szkriptek fejlesztéséhez. A projekt kódja Pythonban íródott, és a BSD licenc alatt terjeszthető.

A brython.js és brython_stdlib.js könyvtárak hozzáadásával a webfejlesztő a Python nyelvet használhatja a webhely logikájának meghatározására az ügyféloldalon, a JavaScript helyett Python használatával. Ha Python-kódot szeretne felvenni az oldalakra, használja a címkét с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Python kód végrehajtása blokkokból производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

A weboldalakba ágyazott Python-szkriptekben a legtöbb művelet végső teljesítménye közel áll a CPython teljesítményéhez. A késés csak a fordítási szakaszban jelentkezik, de ennek kiküszöbölésére lehetőség van előre lefordított JavaScript kód betöltésére, ami a szabványos könyvtár betöltésének felgyorsítását szolgálja (a Brython eszközöket biztosít Python modulokon alapuló JavaScript könyvtárak létrehozásához ).

Az új kiadás arról nevezetes, hogy kompatibilis a CPython 3.11-el, és megvalósítja ennek az ágnak a legtöbb új funkcióját, beleértve a kivételcsoportok és az "except*" kifejezés támogatását, a diagnosztikai üzenetekben lévő problémás kifejezések részletezését és a kivételekhez csatolt megjegyzéseket.

Forrás: opennet.ru

Hozzászólás