Brythoni 3.10 väljaanne, Python keel web-brauserite jaoks

Esitatud on projekti Brython 3.10 (Browser Python) väljalase, mis sisaldab Python 3 programmeerimiskeele teostust veebibrauseris, võimaldades kasutada Pythonit JavaScripti asemel veebiskripti arendamiseks. Projekti kood on kirjutatud Pythonis ja jaotatakse BSD litsentsi alusel.

Ühendades teegid brython.js ja brython_stdlib.js, saab veebiarendaja kasutada Pythonit, et määrata veebisaidi klient-poolset loogikat, asendades JavaScripti. Pythonikoodi lisamiseks lehtedele kasutatakse sildit <script> mime-tüübi «text/python» ning on lubatud nii koodi sisseehitatud lehte kui ka väliste skriptide laadimist (<script type=»text/python» src=»test.py»>). Skriptist on täielik juurdepääs DOM-elementidele ja sündmustele. Lisaks стандартse Python'i teegi juurdepääsule pakutakse spetsialiseeritud teeke DOM-i ja JavaScripti teekidega, nagu jQuery, D3, Highcharts ja Raphael, koostööks. Toetatakse CSS-raamistikke Bootstrap3, LESS ja SASS.

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).

Uue väljaande eripära on Python 3.10 ühilduvuse tagamine, sealhulgas mallide teisendamise operaatorite (match/case) toetamine. Uues versioonis on samuti pakkuda esialgne rakendus keele Python abstraktsest süntaksipuust (AST, Abstract Syntax Tree), mida saab hiljem kasutada JavaScripti koodi genereerimiseks universaalsest AST-st.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster