Brython 3.11 релизи, веб-браузерлер үчүн Python тилин ишке ашыруу

Brython 3.11 (Browser Python) долбоорунун релизинде веб-браузер тарабында аткаруу үчүн Python 3 программалоо тилин ишке ашыруу сунушталды, бул веб үчүн скрипттерди иштеп чыгуу үчүн JavaScriptтин ордуна Pythonду колдонууга мүмкүндүк берет. Долбоордун коду Python тилинде жазылган жана BSD лицензиясы боюнча таратылган.

brython.js жана brython_stdlib.js китепканаларын кошуу менен, веб-иштеп чыгуучу Python тилин JavaScript ордуна Python аркылуу кардар тарабында сайттын логикасын аныктай алат. Барактарга Python кодун кошуу үчүн тегди колдонуңуз с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

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

Веб-баракчаларга камтылган Python скрипттериндеги операциялардын көпчүлүгүнүн акыркы аткаруусу CPython көрсөткүчүнө жакын. Кечигүү компиляция стадиясында гана пайда болот, бирок аны жоюу үчүн стандарттык китепкананы жүктөөнү тездетүү үчүн колдонулган алдын ала компиляцияланган JavaScript кодун жүктөө мүмкүнчүлүгү каралган (Brython Python модулдарынын негизинде JavaScript китепканаларын түзүү үчүн куралдар менен камсыз кылат. ).

Жаңы релиз CPython 3.11 менен шайкештикти камсыз кылуу жана бул тармактын жаңы мүмкүнчүлүктөрүнүн көбүн ишке ашыруу, анын ичинде өзгөчө топторду жана "башка*" туюнтмасын колдоо, диагностикалык билдирүүлөрдөгү көйгөйлүү туюнтмаларды деталдаштыруу жана өзгөчө кырдаалдарга эскертүүлөрдү тиркөө менен өзгөчөлөнөт.

Source: opennet.ru

Комментарий кошуу