Ilmunud on Brython 3.14.1 (Browser Python) projekti versioon, mis rakendab Python 3 programmeerimiskeelt veebibrauserites, võimaldades kasutada Pythonit JavaScripti asemel veebiskriptide arendamiseks. Projekti kood on kirjutatud Pythonis ja jagatakse BSD litsentsi alusel.
Käivitades brython.js ja brython_stdlib.js teegid, saab veebiarendaja kasutada Pythonit, et määrata kliendi poolse saidi loogika, rakendades Pythonit JavaScripti asemel. Python koodi lisamiseks lehtedele kasutatakse <script> sildi mime-tüüpi 'text/python'. Toetatakse nii koodi sissekirjutamist lehele kui ka välistest skriptidest laadimist (<script type='text/python' src='test.py'>). Skripti kaudu on täielik ligipääs DOM-i elementidele ja sündmustele. Lisaks sellele, et on ligipääs Python standardraamatukogule, pakutakse spetsialiseeritud teeke DOM-i ja JavaScripti raamatukogudega, nagu jQuery, D3, Highcharts ja Raphael. Toetatakse CSS-raamistike, nagu Bootstrap3, LESS ja SASS, kasutamist.
Python-koodi täitmine plokkidest <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
Enamik veebilehtede sisseehitatud Python-skripte saavutab tulemuste osas CPythoniga sarnase toimivuse. Viivitus tekib ainult kompileerimise etapis, kuid selle kõrvaldamiseks on võimalus laadida eelnevalt kompileeritud JavaScripti kood, et kiirendada standardraamatukogu laadimist (Brython pakub tööriistu Pythonimoodulite põhjal JavaScripti raamatukogude loomiseks).
Uus väljaanne paistab silma sisseehitatud tüüpide rakenduse täieliku ümberehitamise ja sisseehitatud funktsioonide ning meetodite argumentide parsimiseks mõeldud koodi ülekirjutamisega. Brython 3.14 haru tagab ühilduvuse CPython 3.14-ga ning rakendab suurema osa selle väljaande uutest funktsioonidest, sealhulgas t-stringide ja annotatsioonide edasilükatud töötlemise toe.
Allikas: opennet.ru
