Phát hành Brython 3.11, triển khai ngôn ngữ Python cho trình duyệt web

Một bản phát hành của dự án Brython 3.11 (Trình duyệt Python) đã được trình bày với việc triển khai ngôn ngữ lập trình Python 3 để thực thi trên phía trình duyệt web, cho phép sử dụng Python thay vì JavaScript để phát triển các tập lệnh cho Web. Mã dự án được viết bằng Python và được phân phối theo giấy phép BSD.

Bằng cách bao gồm các thư viện brython.js và brython_stdlib.js, nhà phát triển web có thể sử dụng ngôn ngữ Python để xác định logic của trang web ở phía máy khách, sử dụng Python thay vì JavaScript. Để đưa mã Python vào các trang, hãy sử dụng thẻ с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

Thực thi mã Python từ các khối производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

Hiệu suất cuối cùng của hầu hết các thao tác trong tập lệnh Python được nhúng trong các trang web gần bằng hiệu suất của CPython. Sự chậm trễ chỉ xảy ra ở giai đoạn biên dịch, nhưng để loại bỏ nó, khả năng tải mã JavaScript được biên dịch trước được cung cấp, được sử dụng để tăng tốc độ tải thư viện chuẩn (Brython cung cấp các công cụ để tạo thư viện JavaScript dựa trên các mô-đun Python ).

Bản phát hành mới đáng chú ý vì cung cấp khả năng tương thích với CPython 3.11 và triển khai hầu hết các tính năng mới của nhánh này, bao gồm hỗ trợ cho các nhóm ngoại lệ và biểu thức "ngoại trừ*", trình bày chi tiết các biểu thức có vấn đề trong thông báo chẩn đoán và đính kèm ghi chú vào các ngoại lệ.

Nguồn: opennet.ru

Thêm một lời nhận xét