Lansarea Brython 3.11, implementări ale limbajului Python pentru browsere web

O versiune a proiectului Brython 3.11 (Browser Python) a fost prezentată cu o implementare a limbajului de programare Python 3 pentru execuție pe partea browserului web, permițând utilizarea Python în loc de JavaScript pentru a dezvolta scripturi pentru Web. Codul proiectului este scris în Python și distribuit sub licența BSD.

Prin includerea bibliotecilor brython.js și brython_stdlib.js, un dezvoltator web poate folosi limbajul Python pentru a defini logica site-ului din partea clientului, folosind Python în loc de JavaScript. Pentru a include codul Python în pagini, utilizați eticheta с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Performanța finală a majorității operațiunilor din scripturile Python încorporate în paginile web este aproape de performanța CPython. Întârzierea apare doar în etapa de compilare, dar pentru a o elimina, este oferită posibilitatea de a încărca cod JavaScript precompilat, care este folosit pentru a accelera încărcarea bibliotecii standard (Brython oferă instrumente pentru crearea bibliotecilor JavaScript bazate pe module Python ).

Noua versiune se remarcă prin furnizarea de compatibilitate cu CPython 3.11 și prin implementarea majorității noilor caracteristici ale acestei ramuri, inclusiv suport pentru grupurile de excepții și expresia „cu excepția*”, detalierea expresiilor problematice în mesajele de diagnosticare și atașarea de note la excepții.

Sursa: opennet.ru

Adauga un comentariu