تم طرح إصدار جديد من "Python للمتصفحات" ، قابل Brython 3.9



- (الإصدار 3.8.8 الصورة) كود Brython بيثون



ومطوري المشروع Brython بيثون الافراج عن الإصدار الجديد، Brython 3.9 . يتم وضع المشروع نفسه على أنه "Python للمتصفح". يعتمد على Python 3 ويعمل على جانب المتصفح ، باستخدام Python بدلاً من JavaScript لتطوير البرامج النصية للويب.



تمت كتابة كود المشروع بلغة Python وتوزيعه بموجب ترخيص BSD. الإصدار الجديد متوافق مع Python 3.9 ، بالإضافة إلى مكتبة قياسية محدثة.



من أجل تحديد منطق موقع العميل باستخدام Python بدلاً من JS ، يحتاج مطور الويب إلى تضمين مكتبتين ، brython.js و brython_stdlib.js. لتضمين كود Python على الصفحة ، يتم استخدام علامة البرنامج النصي مع نص نوع mime / python .



من جانب Brython ، يُسمح بتضمين التعليمات البرمجية في الصفحة وتحميل البرامج النصية الخارجية. مثال:



<script type="text/python" src="test.py">


يتم توفير الوصول الكامل إلى عناصر وأحداث DOM من البرنامج النصي. بالإضافة إلى الوصول إلى مكتبة Python القياسية ، هناك مكتبات متخصصة للعمل مع مكتبات DOM و JavaScript مثل jQuery و D3 و Highcharts و Raphael.



يتم دعم استخدام أطر عمل CSS بواسطة مكتبات JavaScript مثل jQuery و D3 و Highcharts و Raphael.



يتم تنفيذ كتل Python من كتل البرامج النصية من خلال التجميع المسبق للكود ، والذي يتم تنفيذه بواسطة محرك Brython بعد تحميل الصفحة. يبدأ التجميع عن طريق استدعاء وظيفة brython () ، على سبيل المثال بإضافة body onload="brython()".



بناءً على كود Python ، يتم تكوين تمثيل JS ، ثم يتم تنفيذه بواسطة محرك JavaScript القياسي للمتصفح.



من حيث الأداء ، فإن معظم العمليات في نصوص Python المضمنة في صفحات الويب قريبة من أداء Cpython. الوقت الوحيد الذي يحدث فيه التأخير هو أثناء مرحلة التجميع. ولكن يمكن التخلص من زمن الوصول عن طريق كود JavaScript مترجم مسبقًا ، والذي يستخدم لتسريع تحميل المكتبة القياسية.



<script type="text/python">
 
import time
import math
 
from browser import document
import browser.timer
 
content = document["content"]
 
...
 
canvas = content.select_one(".clock")
 
if hasattr(canvas, 'getContext'):
    ctx = canvas.getContext("2d")
 
    browser.timer.set_interval(set_clock, 100)
    show_hours()
else:
    content.select_one('.navig_zone').html = "canvas is not supported"
 
</script>


المزيد عن تشغيل بريثون



لكي تتمكن "Python for the Browser" من ترجمة وتنفيذ كود Python مثل كود JS ، تحتاج إلى استدعاء Brython عند تحميل نص المستند.



<body onload="brython()">


في هذه الحالة ، تبحث العلامة عن علامات البرنامج النصي من نوع text / python وتقوم بتشغيل الكود. من أجل استخدام واجهة برمجة التطبيقات للعمل مع الويب ، نفذ مطورو Brython حلاً بسيطًا - استيراد واجهة برمجة تطبيقات ، على غرار استيراد أي وحدة نمطية أخرى في Python:



from browser import document, html, window


يتعامل Brython مع كل شيء بمفرده ، لذلك لا تحتاج إلى تشغيل أوامر إضافية.



نقطة مهمة - للعمل مع Brython ، تحتاج إلى خبرة في JavaScript ، على الأقل مستوى أساسي. سيكون من الصعب للغاية معرفة ذلك بدون هذا.






All Articles