Brython, een Python 3-implementatie voor webprogrammering aan de clientzijde

onlangs de release van de nieuwe versie van het Brython 3.10-project is aangekondigd (Browser Python) die wordt geleverd met de implementatie van de programmeertaal Python 3 voor uitvoering aan de webbrowserzijde, waardoor u Python in plaats van JavaScript kunt gebruiken om scripts voor het web te ontwikkelen.

Door de bibliotheken brython.js en brython_stdlib.js met elkaar te verbinden, kan een webontwikkelaar Python gebruiken om sitelogica aan de clientzijde te definiëren, met Python in plaats van JavaScript.

Om Python-code in de pagina's op te nemen, moet u de tag . gebruiken met het mime-type "text / python" staat dit zowel het insluiten van code in de pagina als het laden van externe scripts toe ( ). El script proporciona acceso completo a los elementos y eventos DOM.

Naast toegang tot de standaard Python-bibliotheek zijn er gespecialiseerde bibliotheken om te communiceren met DOM- en JavaScript-bibliotheken zoals jQuery, D3, Highcharts en Raphael. Het gebruik van CSS-frameworks Bootstrap3, LESS en SASS wordt ondersteund.

Als u Python in een webbrowser kunt uitvoeren, kunt u:

  • Voer dezelfde Python-code uit op de server en de browser.
  • Werken met verschillende browser-API's met Python
  • Manipuleer het Document Object Model (DOM) met Python
  • Gebruik Python om te communiceren met bestaande JavaScript-bibliotheken zoals Vue.js en jQuery
  • Leer Python-taal aan Python-studenten met de Brython Editor
  • Houd een gevoel van plezier tijdens het programmeren in Python

Een neveneffect van het gebruik van Python in de browser is een prestatieverlies in vergelijking met dezelfde code in JavaScript.

Python-code uitvoeren vanuit blokken se realiza mediante la compilación previa de este código door de Brython-engine nadat de pagina is geladen. De compilatie wordt gestart door de functie brython () aan te roepen, bijvoorbeeld door toe te voegen « ».

Op basis van de Python-code, er wordt een JavaScript-representatie gevormd, die vervolgens wordt uitgevoerd door de standaard JavaScript-engine van de browser (Ter vergelijking: het PyPy.js-project biedt een CPython-interpreter die is gecompileerd in asm.js om Python-code in de browser uit te voeren, en Skulpt implementeert de interpreter in JavaScript.)

Brython-site merkt op dat de uitvoeringssnelheid van de implementatie vergelijkbaar is met die van CPython. Maar Brython draait in de browser en de referentie in deze omgeving is JavaScript ingebouwd in de browser-engine. Verwacht daarom dat Brython langzamer is dan goed afgestemd en handgeschreven JavaScript.

Brit compileer de Python-code in JavaScript en voer vervolgens de gegenereerde code uit. Deze stappen hebben invloed op de algehele prestaties en Brython voldoet mogelijk niet altijd aan uw prestatie-eisen. In sommige gevallen moet u mogelijk code-uitvoering delegeren aan JavaScript of zelfs WebAssembly. U zult zien hoe u WebAssembly bouwt en hoe u de resulterende code in Python gebruikt in de sectie over WebAssembly.

Laat de waargenomen prestaties u er echter niet van weerhouden om Brython te gebruiken. Het importeren van Python-modules kan bijvoorbeeld resulteren in het downloaden van de bijbehorende module van de server

Wat betreft de de nieuwe versie, het valt op door zijn compatibiliteit met Python 3.10, inclusief operatorondersteuning voor patroonovereenkomst (match / case).

De nieuwe versie ookbiedt een eerste implementatie van een abstracte syntaxisboom (AST, Abstract Syntax Tree) voor de Python-taal, die vervolgens kan worden gebruikt om JavaScript-code te genereren uit een universele AST.

Om Brython te implementeren kan dit worden gedaan door de volgende code op de website toe te voegen:

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3.9/brython_stdlib.js">
</script> 

O

<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython.min.js">
</script>
<script type="text/javascript"
src="https://cdn.jsdelivr.net/npm/brython@3/brython_stdlib.js">
</script>

Of het kan ook aan de serverzijde worden geïnstalleerd door de volgende opdracht uit te voeren:

pip install brython

Eindelijk als u er meer over wilt weten, kunt u de details bekijken In de volgende link. De projectcode is geschreven in Python en wordt gedistribueerd onder de BSD-licentie.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: Miguel Ángel Gatón
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.