Megjelent a Brython 3.15.0 (Browser Python) projekt verziója, amely lehetővé teszi a Python 3 programozási nyelv használatát webböngészőkben, így lehetővé téve a Python használatát JavaScript helyett webes szkriptek fejlesztéséhez. A Brython 3.15 ágon biztosított a CPython 3.15 kompatibilitása, és megvalósult az új verzió számos új lehetősége, köztük a modulok késleltetett importálása, a frozendict és sentinel típusok, valamint a „*” és „**” operátorok listakomponensek szétszedéséhez. A projekt kódja Python nyelven készült, és BSD licenc alatt terjesztik.
A brython.js és brython_stdlib.js könyvtárak csatlakoztatásával a webfejlesztő a Python nyelvet használhatja a webhely ügyféloldali logikájának meghatározásához, a Python-t JavaScript helyett alkalmazva. A Python kódot a tag segítségével lehet beilleszteni az oldalra, a MIME típus „text/python”. Engedélyezett az oldalra való beágyazás és külső szkriptek betöltése (). A szkriptek teljes hozzáférést biztosítanak a DOM elemeihez és eseményeihez. A Python standard könyvtáron kívül speciális könyvtárak is elérhetők a DOM és JavaScript könyvtárakkal való interakcióhoz, mint például a jQuery, D3, Highcharts és Raphael. Támogatja a Bootstrap3, LESS és SASS CSS keretrendszerek használatát.
Python-kód végrehajtása blokkos formában <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера.
A Python szkriptek, amelyek weboldalakba vannak beágyazva, legtöbb műveletének végső teljesítménye közel áll a CPython teljesítményéhez. Késleltetés csak a fordítási folyamat során lép fel, de van lehetőség előre lefordított JavaScript kód betöltésére, amely a standard könyvtár betöltésének felgyorsítására szolgál (a Brython eszközkészletet biztosít JavaScript könyvtárak létrehozására Python modulok alapján).
Forrás: opennet.ru
