ИзданиС Π½Π° Brython 3.11, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° Ρ˜Π°Π·ΠΈΠΊΠΎΡ‚ Python Π·Π° Π²Π΅Π± прСлистувачи

Π˜Π·Π΄Π°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΡ‚ Brython 3.11 (Browser Python) Π΅ прСтставСно со ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π° Π½Π° програмскиот јазик Python 3 Π·Π° ΠΈΠ·Π²Ρ€ΡˆΡƒΠ²Π°ΡšΠ΅ Π½Π° страната Π½Π° Π²Π΅Π±-прСлистувачот, ΡˆΡ‚ΠΎ Π²ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΡƒΠ²Π° Π΄Π° користитС Python намСсто JavaScript Π·Π° Π΄Π° Ρ€Π°Π·Π²ΠΈΠ΅Ρ‚Π΅ скрипти Π·Π° Π²Π΅Π±. ΠŸΡ€ΠΎΠ΅ΠΊΡ‚Π½ΠΈΠΎΡ‚ ΠΊΠΎΠ΄ Π΅ напишан Π²ΠΎ Python ΠΈ дистрибуиран ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Ρ†Π°Ρ‚Π° BSD.

Π‘ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΡ‚Π΅ brython.js ΠΈ brython_stdlib.js, Π²Π΅Π±-Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‡ΠΎΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° користи Python Π·Π° Π΄Π° ја Π΄Π΅Ρ„ΠΈΠ½ΠΈΡ€Π° Π»ΠΎΠ³ΠΈΠΊΠ°Ρ‚Π° Π½Π° страницата ΠΎΠ΄ страна Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΡ‚ ΠΊΠΎΡ€ΠΈΡΡ‚Π΅Ρ˜ΡœΠΈ Python намСсто JavaScript. Π—Π° Π΄Π° Π³ΠΎ Π²ΠΊΠ»ΡƒΡ‡ΠΈΡ‚Π΅ ΠΊΠΎΠ΄ΠΎΡ‚ Π½Π° Python Π½Π° страницитС, користСтС ја ΠΎΠ·Π½Π°ΠΊΠ°Ρ‚Π° с mime-Ρ‚ΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ДопускаСтся ΠΊΠ°ΠΊ встраиваниС ΠΊΠΎΠ΄Π° Π½Π° страницу, Ρ‚Π°ΠΊ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Π½Π΅ΡˆΠ½ΠΈΡ… скриптов (). Из скрипта прСдоставляСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ элСмСнтам ΠΈ событиям DOM. Помимо доступа ΠΊ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ спСциализированныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для взаимодСйствия с DOM ΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ jQuery, D3, Highcharts ΠΈ Raphael. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ использованиС CSS-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Bootstrap3, LESS ΠΈ SASS.

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

Π¦Π΅Π»ΠΎΠΊΡƒΠΏΠ½Π°Ρ‚Π° ΠΈΠ·Π²Π΅Π΄Π±Π° Π½Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²ΠΎ скриптитС Π½Π° Python Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈ Π²ΠΎ Π²Π΅Π±-страницитС Π΅ блиска Π΄ΠΎ ΠΎΠ½Π°Π° Π½Π° CPython. Π”ΠΎΡ†Π½Π΅ΡšΠ΅Ρ‚ΠΎ сС Ρ˜Π°Π²ΡƒΠ²Π° само Π²ΠΎ Ρ„Π°Π·Π°Ρ‚Π° Π½Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ†ΠΈΡ˜Π°, Π½ΠΎ Π·Π° Π΄Π° сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π°, сС ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° моТност Π·Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅ Π½Π° ΠΏΡ€Π΅Ρ‚Ρ…ΠΎΠ΄Π½ΠΎ ΠΊΠΎΠΌΠΏΠ°Ρ˜Π»ΠΈΡ€Π°Π½ JavaScript ΠΊΠΎΠ΄, кој сС користи Π·Π° Π·Π°Π±Ρ€Π·ΡƒΠ²Π°ΡšΠ΅ Π½Π° Π²Ρ‡ΠΈΡ‚ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° стандардната Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° (Brython ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π° ΠΏΠ°ΠΊΠ΅Ρ‚ со Π°Π»Π°Ρ‚ΠΊΠΈ Π·Π° создавањС JavaScript Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Π±Π°Π·ΠΈΡ€Π°Π½ΠΈ Π½Π° ΠΌΠΎΠ΄ΡƒΠ»ΠΈ Π½Π° Python) .

Новото ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ Π·Π°Π±Π΅Π»Π΅ΠΆΠ»ΠΈΠ²ΠΎ ΠΏΠΎ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡƒΠ²Π°ΡšΠ΅Ρ‚ΠΎ компатибилност со CPython 3.11 ΠΈ ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€Π°ΡšΠ΅Ρ‚ΠΎ Π½Π° ΠΏΠΎΠ²Π΅ΡœΠ΅Ρ‚ΠΎ Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π²ΠΎ ΠΎΠ²Π°Π° Π³Ρ€Π°Π½ΠΊΠ°, Π²ΠΊΠ»ΡƒΡ‡ΡƒΠ²Π°Ρ˜ΡœΠΈ ΠΏΠΎΠ΄Π΄Ρ€ΡˆΠΊΠ° Π·Π° Π³Ρ€ΡƒΠΏΠΈ исклучоци ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΎΡ‚ β€žΠΎΡΠ²Π΅Π½*β€œ, Π΄Π΅Ρ‚Π°Π»ΠΈΠ·ΠΈΡ€Π°ΡšΠ΅ Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΈ ΠΈΠ·Ρ€Π°Π·ΠΈ Π²ΠΎ Π΄ΠΈΡ˜Π°Π³Π½ΠΎΡΡ‚ΠΈΡ‡ΠΊΠΈ ΠΏΠΎΡ€Π°ΠΊΠΈ ΠΈ ΠΏΡ€ΠΈΠΊΠ°Ρ‡ΡƒΠ²Π°ΡšΠ΅ бСлСшки Π½Π° исклучоци.

Π˜Π·Π²ΠΎΡ€: opennet.ru

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€