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

نسخه ای از پروژه Brython 3.11 (مرورگر پایتون) با پیاده سازی زبان برنامه نویسی 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 است. تأخیر فقط در مرحله کامپایل رخ می دهد، اما برای حذف آن، امکان بارگیری کد جاوا اسکریپت از پیش کامپایل شده فراهم شده است که برای سرعت بخشیدن به بارگذاری کتابخانه استاندارد استفاده می شود (بریتون ابزارهایی برای ایجاد کتابخانه های جاوا اسکریپت بر اساس ماژول های پایتون ارائه می دهد. ).

نسخه جدید به دلیل ارائه سازگاری با CPython 3.11 و پیاده سازی بیشتر ویژگی های جدید این شاخه، از جمله پشتیبانی از گروه های استثنایی و عبارت "except*"، جزئیات عبارات مشکل ساز در پیام های تشخیصی و پیوست کردن یادداشت ها به استثناها قابل توجه است.

منبع: opennet.ru

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