ИзданиС Π½Π° Brython 3.10, рСализация Π½Π° Π΅Π·ΠΈΠΊΠ° Python Π·Π° ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€ΠΈ.

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π΅Π½ Π΅ Ρ€Π΅Π»ΠΈΠ· Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Brython 3.10 (Browser Python) с рСализация Π½Π° Π΅Π·ΠΈΠΊΠ° Π·Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈΡ€Π°Π½Π΅ Python 3, която позволява ΠΈΠ·ΠΏΡŠΠ»Π½Π΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΌΡƒ Π² ΡƒΠ΅Π± Π±Ρ€Π°ΡƒΠ·ΡŠΡ€Π°, позволявайки ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° Python вмСсто JavaScript Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° скриптовС Π·Π° ΡƒΠ΅Π±. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Π΅ написан Π½Π° Python ΠΈ сС разпространява ΠΏΠΎΠ΄ лицСнзия BSD.

Π§Ρ€Π΅Π· Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ brython.js ΠΈ brython_stdlib.js, ΡƒΠ΅Π± Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Python Π·Π° опрСдСлянС Π½Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π½Π° сайта ΠΎΡ‚ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, замСняйки JavaScript. Π—Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° Python ΠΊΠΎΠ΄ Π² страницитС сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Ρ‚Π°Π³ΡŠΡ‚ с MIME Ρ‚ΠΈΠΏ "text/python". ПозволСно Π΅ ΠΊΠ°ΠΊΡ‚ΠΎ Π²Π³Ρ€Π°ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ Π² страницата, Ρ‚Π°ΠΊΠ° ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° външни скриптовС (). ΠžΡ‚ скрипта сС осигурява пълСн Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ DOM Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ‚Π΅ ΠΈ ΡΡŠΠ±ΠΈΡ‚ΠΈΡΡ‚Π°. ОсвСн Π΄ΠΎΡΡ‚ΡŠΠΏΠ° Π΄ΠΎ стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π½Π° Python, сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Ρ‚ спСциализировани Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π·Π° взаимодСйствиС с DOM ΠΈ JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΊΠ°Ρ‚ΠΎ jQuery, D3, Highcharts ΠΈ Raphael. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° CSS Ρ„Ρ€Π΅ΠΉΠΌΡƒΡŠΡ€ΠΊΠΎΠ²Π΅ Bootstrap3, LESS ΠΈ SASS.

ИзпълнСниС Π½Π° Python ΠΊΠΎΠ΄ ΠΎΡ‚ Π±Π»ΠΎΠΊΠΎΠ²Π΅ <script> производится Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡŽ этого ΠΊΠΎΠ΄Π°, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ Brython послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ†ΠΈΡ инициируСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ brython(), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‡Π΅Ρ€Π΅Π· Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ «<body onload="»brython()»">». На основС Python-ΠΊΠΎΠ΄Π° формируСтся прСдставлСниС Π½Π° языкС JavaScript, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΡˆΡ‚Π°Ρ‚Π½Ρ‹ΠΌ JavaScript-Π΄Π²ΠΈΠΆΠΊΠΎΠΌ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (для сравнСния, ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ PyPy.js ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ для выполнСния Python-ΠΊΠΎΠ΄Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ скомпилированный Π² asm.js ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ CPython, Π° Skulpt Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π½Π° JavaScript).

ΠšΡ€Π°ΠΉΠ½Π°Ρ‚Π° производитСлност Π½Π° ΠΏΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π² ΡƒΠ΅Π± страницитС Python скриптовС Π΅ Π±Π»ΠΈΠ·ΠΊΠ° Π΄ΠΎ производитСлността Π½Π° CPython. ЗабавянС възниква само Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° компилация, Π½ΠΎ Π·Π° Π½Π΅ΠΉΠ½ΠΎΡ‚ΠΎ ΠΏΡ€Π΅ΠΌΠ°Ρ…Π²Π°Π½Π΅ сС ΠΏΡ€Π΅Π΄Π»Π°Π³Π° Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ JavaScript ΠΊΠΎΠ΄, ΠΊΠΎΠΉΡ‚ΠΎ сС ΠΏΡ€ΠΈΠ»Π°Π³Π° Π·Π° ускорСниС Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ Π½Π° стандартната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (Brython прСдоставя инструмСнт Π·Π° създаванС Π½Π° JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π½Π° Π±Π°Π·Π°Ρ‚Π° Π½Π° Python ΠΌΠΎΠ΄ΡƒΠ»ΠΈ).

Новото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ сС ΠΎΡ‚Π»ΠΈΡ‡Π°Π²Π° с осигуряванС Π½Π° ΡΡŠΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ с Python 3.10, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΈΡ‚Π΅ Π·Π° съвпадСниС Π½Π° шаблони (match/case). Π’ Π½ΠΎΠ²Π°Ρ‚Π° вСрсия ΡΡŠΡ‰ΠΎ Ρ‚Π°ΠΊΠ° Π΅ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°Ρ‡Π°Π»Π½Π° рСализация Π½Π° абстрактното синтактично Π΄ΡŠΡ€Π²ΠΎ (AST, Abstract Syntax Tree) Π·Π° Π΅Π·ΠΈΠΊΠ° Python, ΠΊΠΎΠ΅Ρ‚ΠΎ впослСдствиС ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎ Π·Π° Π³Π΅Π½Π΅Ρ€ΠΈΡ€Π°Π½Π΅ Π½Π° JavaScript ΠΊΠΎΠ΄ ΠΎΡ‚ унивСрсално AST.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster