Wydanie Brython 3.10, implementacji języka Python dla przeglądarek internetowych

Wydano wersję projektu Brython 3.10 (Browser Python) z realizacją języka programowania Python 3 do wykonywania po stronie przeglądarki, co pozwala na użycie Pythona zamiast JavaScriptu do tworzenia skryptów webowych. Kod projektu napisany jest w języku Python i jest udostępniany na licencji BSD.

Po podłączeniu bibliotek brython.js i brython_stdlib.js, web-deweloper może używać języka Python do definiowania logiki działania strony po stronie klienta, stosując Pythona zamiast JavaScriptu. Aby włączyć kod Pythona na stronach, używa się tagu z typem mime «text/python». Możliwe jest zarówno osadzanie kodu na stronie, jak i ładowanie zewnętrznych skryptów (). Skrypt zapewnia pełny dostęp do elementów i zdarzeń DOM. Oprócz dostępu do standardowej biblioteki Pythona oferowane są specjalistyczne biblioteki do interakcji z DOM oraz bibliotekami JavaScript, takimi jak jQuery, D3, Highcharts i Raphael. Obsługiwane jest korzystanie z frameworków CSS, takich jak Bootstrap3, LESS i SASS.

Wykonywanie kodu Python z bloków <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Końcowa wydajność większości operacji wbudowanych w web-strony skryptów Pythona jest zbliżona do wydajności CPython. Opóźnienie występuje jedynie na etapie kompilacji, ale w celu jego eliminacji udostępniono możliwość ładowania wcześniej skompilowanego kodu w JavaScript, co przyspiesza ładowanie standardowej biblioteki (Brython dostarcza narzędzia do tworzenia bibliotek JavaScript na podstawie modułów Pythona).

Nowa edycja wyróżnia się zapewnieniem zgodności z Pythonem 3.10, w tym wsparciem dla operatorów do dopasowywania wzorców (match/case). W nowej wersji wprowadzono również początkową implementację abstrakcyjnego drzewa składniowego (AST, Abstract Syntax Tree) dla języka Python, które może być później używane do generowania kodu JavaScript z uniwersalnego AST.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster