Izdanje Brython 3.11, implementacije jezika Python za web pretraživače

Predstavljeno je izdanje projekta Brython 3.11 (Browser Python) sa implementacijom programskog jezika Python 3 za izvršavanje na strani web pretraživača, omogućavajući korištenje Pythona umjesto JavaScripta za razvoj skripti za Web. Kod projekta je napisan u Pythonu i distribuiran pod BSD licencom.

Uključujući biblioteke brython.js i brython_stdlib.js, web programer može koristiti jezik Python da definira logiku stranice na strani klijenta, koristeći Python umjesto JavaScripta. Da uključite Python kod na stranice, koristite oznaku с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Konačni učinak većine operacija u Python skriptama ugrađenim u web stranice je blizak performansama CPython-a. Kašnjenje se javlja samo u fazi kompilacije, ali da bi se eliminisalo, obezbeđena je mogućnost učitavanja unapred kompajliranog JavaScript koda, koji se koristi za ubrzavanje učitavanja standardne biblioteke (Brython obezbeđuje alate za kreiranje JavaScript biblioteka zasnovanih na Python modulima ).

Novo izdanje je značajno po pružanju kompatibilnosti sa CPython 3.11 i implementaciji većine novih karakteristika ove grane, uključujući podršku za grupe izuzetaka i izraza "except*", detaljnije problematične izraze u dijagnostičkim porukama i prilaganje napomena izuzecima.

izvor: opennet.ru

Dodajte komentar