Release fan Brython 3.10, ymplemintaasjes fan 'e Python-taal foar webbrowsers

In útjefte fan it projekt Brython 3.10 (Browser Python) is presintearre mei in ymplemintaasje fan 'e Python 3-programmeartaal foar útfiering oan' e webblêderkant, wêrtroch it gebrûk fan Python ynstee fan JavaSkript om skripts foar it web te ûntwikkeljen. De projektkoade is skreaun yn Python en ferspraat ûnder de BSD-lisinsje.

Troch de bibleteken brython.js en brython_stdlib.js op te nimmen, kin in webûntwikkelder de Python-taal brûke om de logika fan 'e side op' e kliïntside te definiearjen, mei Python ynstee fan JavaSkript. Brûk de tag om Python-koade op siden op te nimmen с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Python-koade útfiere fan blokken производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

De definitive prestaasjes fan de measte operaasjes yn Python-skripts ynbêde yn websiden is tichtby de prestaasjes fan CPython. De fertraging komt allinich foar by it kompilaasjestadium, mar om it te eliminearjen, wurdt de mooglikheid om foarôf kompilearre JavaScript-koade te laden, dy't brûkt wurdt om it laden fan 'e standertbibleteek te fersnellen (Brython leveret ark foar it meitsjen fan JavaScript-biblioteken basearre op Python-modules ).

De nije release hat kompatibiliteit mei Python 3.10, ynklusyf stipe foar patroanpassende (match/case) operators. De nije ferzje biedt ek in earste ymplemintaasje fan in abstrakte syntaksisbeam (AST, Abstract Syntax Tree) foar de Python-taal, dy't dêrnei brûkt wurde kin om JavaScript-koade te generearjen fan in universele AST.

Boarne: opennet.ru

Add a comment