Lëshimi i projektit Brython 3.10 (Python për Shfletues) me implementimin e gjuhës së programimit Python 3 për ekzekutimin në anën e shfletuesit web, i cili lejon përdorimin e Python në vend të JavaScript për zhvillimin e skripteve për web. Kodi i projektit është shkruar në gjuhën Python dhe shpërndahet nën licencën BSD.
Duke lidhur bibliotekat brython.js dhe brython_stdlib.js, zhvilluesi web mund të përdorë gjuhën Python për të përcaktuar logjikën e funksionimit të faqes së internetit në anën e klientit, duke përdorur Python në vend të JavaScript. Për të përfshirë kodin Python në faqe përdoret etiketa me tipin mime 'text/python'. Lejohet si përfshirja e kodit në faqen, ashtu edhe ngarkimi i skripteve të jashtme (). Nga skripti ofrohet qasje e plotë në elementet dhe ngjarjet DOM. Përveç qasjes në bibliotekën standarde të Python-it, ofrohen biblioteka të specializuara për ndërveprimin me DOM dhe bibliotekat JavaScript, si jQuery, D3, Highcharts dhe Raphael. Mbështetet përdorimi i çarçafëve CSS si Bootstrap3, LESS dhe SASS.
Ekzekutimi i kodit Python nga blloqet <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
Performanca përfundimtare e shumicës së operacioneve në skriptet Python të integruara në faqet web është e afërt me performancën e CPython. Vonesa ndodh vetëm në fazën e kompilimit, por për ta eliminuar atë ofrohet mundësia e ngarkimit të kodit të parapërgatitur në JavaScript, që aplikohet për të përshpejtuar ngarkimin e bibliotekës standarde (Brython ofron mjete për të krijuar biblioteka JavaScript bazuar në modulet Python).
Çlirim i ri është i njohur për sigurimin e kompatibilitetit me Python 3.10, duke përfshirë mbështetje për operatorët e përshtatjes me model (match/case). Në versionin e ri gjithashtu është ofruar një implementim fillestar i pemës së sintaksës abstrakte (AST, Abstract Syntax Tree) për gjuhën Python, e cila mund të përdoret më pas për gjenerimin e kodit JavaScript nga një AST universal.
Burimi: opennet.ru
