انتشار Brython 3.10، پیاده سازی زبان پایتون برای مرورگرهای وب

نسخه ای از پروژه Brython 3.10 (مرورگر پایتون) با پیاده سازی زبان برنامه نویسی Python 3 برای اجرا در سمت مرورگر وب ارائه شده است که امکان استفاده از Python را به جای جاوا اسکریپت برای توسعه اسکریپت ها برای وب فراهم می کند. کد پروژه به زبان پایتون نوشته شده و تحت مجوز BSD توزیع شده است.

با گنجاندن کتابخانه‌های brython.js و brython_stdlib.js، یک توسعه‌دهنده وب می‌تواند از زبان Python برای تعریف منطق سایت در سمت سرویس گیرنده استفاده کند و به جای جاوا اسکریپت از Python استفاده کند. برای قرار دادن کد پایتون در صفحات، از تگ استفاده کنید с mime-типом «text/python». Допускается как встраивание кода на страницу, так и загрузка внешних скриптов (). Из скрипта предоставляется полный доступ к элементам и событиям DOM. Помимо доступа к стандартной библиотеке Python предлагаются специализированные библиотеки для взаимодействия с DOM и JavaScript-библиотеками, такими как jQuery, D3, Highcharts и Raphael. Поддерживается использование CSS-фреймворков Bootstrap3, LESS и SASS.

اجرای کد پایتون از بلوک ها производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).

عملکرد نهایی اکثر عملیات در اسکریپت های پایتون تعبیه شده در صفحات وب نزدیک به عملکرد CPython است. تأخیر فقط در مرحله کامپایل رخ می دهد، اما برای حذف آن، امکان بارگیری کد جاوا اسکریپت از پیش کامپایل شده فراهم شده است که برای سرعت بخشیدن به بارگذاری کتابخانه استاندارد استفاده می شود (بریتون ابزارهایی برای ایجاد کتابخانه های جاوا اسکریپت بر اساس ماژول های پایتون ارائه می دهد. ).

نسخه جدید دارای سازگاری با Python 3.10، از جمله پشتیبانی از عملگرهای تطبیق الگو (مطابقت/مورد) است. نسخه جدید همچنین پیاده‌سازی اولیه درخت نحو انتزاعی (AST، Abstract Syntax Tree) را برای زبان پایتون ارائه می‌کند که می‌تواند متعاقباً برای تولید کد جاوا اسکریپت از یک AST جهانی استفاده شود.

منبع: opennet.ru

اضافه کردن نظر