Izdanje Brython 3.11, implementacija jezika Python za web preglednike

Predstavljeno je izdanje projekta Brython 3.11 (Browser Python) s implementacijom programskog jezika Python 3 za izvođenje na strani web preglednika, dopuštajući korištenje Pythona umjesto JavaScripta za razvoj skripti za Web. Projektni kod je napisan u Pythonu i distribuiran pod BSD licencom.

Uključivanjem biblioteka brython.js i brython_stdlib.js, web programer može koristiti jezik Python za definiranje logike web mjesta na strani klijenta, koristeći Python umjesto JavaScripta. Za uključivanje Python koda na stranice upotrijebite 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čna izvedba većine operacija u Python skriptama ugrađenim u web stranice bliska je izvedbi CPythona. Kašnjenje se događa samo u fazi kompilacije, ali da bi se to eliminiralo, omogućena je mogućnost učitavanja prethodno kompajliranog JavaScript koda, koji se koristi za ubrzavanje učitavanja standardne biblioteke (Brython pruža alate za stvaranje JavaScript biblioteka temeljenih na Python modulima ).

Novo izdanje je poznato po pružanju kompatibilnosti s CPython 3.11 i implementaciji većine novih značajki ove grane, uključujući podršku za grupe iznimki i izraz "except*", detalje problematičnih izraza u dijagnostičkim porukama i prilaganje bilješki uz iznimke.

Izvor: opennet.ru

Dodajte komentar