Rilascio di Brython 3.11, implementazioni del linguaggio Python per browser web

È stata presentata una versione del progetto Brython 3.11 (Browser Python) con un'implementazione del linguaggio di programmazione Python 3 per l'esecuzione sul lato browser web, consentendo l'uso di Python invece di JavaScript per sviluppare script per il Web. Il codice del progetto è scritto in Python e distribuito sotto la licenza BSD.

Includendo le librerie brython.js e brython_stdlib.js, uno sviluppatore web puΓ² utilizzare il linguaggio Python per definire la logica del sito sul lato client, utilizzando Python anzichΓ© JavaScript. Per includere il codice Python nelle pagine, utilizzare il tag с mime-Ρ‚ΠΈΠΏΠΎΠΌ Β«text/pythonΒ». ДопускаСтся ΠΊΠ°ΠΊ встраиваниС ΠΊΠΎΠ΄Π° Π½Π° страницу, Ρ‚Π°ΠΊ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π²Π½Π΅ΡˆΠ½ΠΈΡ… скриптов (). Из скрипта прСдоставляСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ доступ ΠΊ элСмСнтам ΠΈ событиям DOM. Помимо доступа ΠΊ стандартной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ΅ Python ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ΡΡ спСциализированныС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для взаимодСйствия с DOM ΠΈ JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ jQuery, D3, Highcharts ΠΈ Raphael. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ использованиС CSS-Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΎΠ² Bootstrap3, LESS ΠΈ SASS.

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

Le prestazioni finali della maggior parte delle operazioni negli script Python incorporati nelle pagine Web sono vicine alle prestazioni di CPython. Il ritardo si verifica solo in fase di compilazione, ma per eliminarlo Γ¨ prevista la possibilitΓ  di caricare codice JavaScript precompilato, che serve per velocizzare il caricamento della libreria standard (Brython fornisce strumenti per creare librerie JavaScript basate su moduli Python ).

La nuova versione si distingue per la compatibilitΓ  con CPython 3.11 e l'implementazione della maggior parte delle nuove funzionalitΓ  di questo ramo, incluso il supporto per i gruppi di eccezioni e l'espressione "eccetto*", il dettaglio delle espressioni problematiche nei messaggi diagnostici e l'aggiunta di note alle eccezioni.

Fonte: opennet.ru

Aggiungi un commento