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

Bemutatták a Brython 3.10 (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 kompatibilis a Python 3.10-el, beleértve a mintaillesztési (illesztés/kisbetű) operátorok támogatását. Az új verzió egy absztrakt szintaktikai fa (AST, Abstract Syntax Tree) kezdeti megvalósítását is kínálja a Python nyelvhez, amely később használható JavaScript kód generálására egy univerzális AST-ből.

Forrás: opennet.ru

Hozzászólás