Brython 3.11:n julkaisu, Python-kielen toteutukset verkkoselaimille

Brython 3.11 (Browser Python) -projektin julkaisu on esitelty Python 3 -ohjelmointikielen toteutuksella suoritettaviksi verkkoselaimen puolella, mikä mahdollistaa Pythonin käytön JavaScriptin sijaan web-skriptien kehittämiseen. Projektikoodi on kirjoitettu Pythonilla ja jaettu BSD-lisenssillä.

Lisäämällä brython.js- ja brython_stdlib.js-kirjastot verkkokehittäjä voi käyttää Python-kieltä sivuston logiikan määrittämiseen asiakaspuolella käyttämällä Pythonia JavaScriptin sijaan. Voit sisällyttää Python-koodin sivuille käyttämällä tunnistetta с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Useimpien toimintojen lopullinen suorituskyky web-sivuille upotetuissa Python-skripteissä on lähellä CPythonin suorituskykyä. Viive esiintyy vain käännösvaiheessa, mutta sen poistamiseksi tarjotaan mahdollisuus ladata valmiiksi käännetty JavaScript-koodi, jota käytetään nopeuttamaan vakiokirjaston lataamista (Brython tarjoaa työkalut Python-moduuleihin perustuvien JavaScript-kirjastojen luomiseen ).

Uusi julkaisu on huomionarvoinen tarjoamalla yhteensopivuuden CPython 3.11:n kanssa ja toteuttamalla suurimman osan tämän haaran uusista ominaisuuksista, mukaan lukien tuki poikkeusryhmille ja "paitsi*"-lausekkeelle, ongelmallisten ilmaisujen yksityiskohdat diagnostisissa viesteissä ja huomautusten liittäminen poikkeuksiin.

Lähde: opennet.ru

Lisää kommentti