De release van het Brython-project 3.14.1 (Browser Python) is beschikbaar, met een implementatie van de programmeertaal Python 3 voor webbroseren, waarmee Python in plaats van JavaScript kan worden gebruikt voor het ontwikkelen van scripts voor het web. De code van het project is geschreven in Python en wordt verspreid onder de BSD-licentie.
Door de bibliotheken brython.js en brython_stdlib.js te verbinden, kan de webontwikkelaar de programmeertaal Python gebruiken voor het definiëren van de logica van de website aan de clientzijde, waarbij Python in plaats van JavaScript wordt toegepast. Voor het insluiten van Python-code op pagina's wordt de tag met de mime-type "text/python" gebruikt. Zowel het insluiten van code op de pagina als het laden van externe scripts () is toegestaan. Vanuit het script is er volledige toegang tot de elementen en evenementen van de DOM. Naast toegang tot de standaardbibliotheek van Python worden gespecialiseerde bibliotheken aangeboden voor interactie met DOM en JavaScript-bibliotheken, zoals jQuery, D3, Highcharts en Raphael. Het gebruik van CSS-frameworks zoals Bootstrap3, LESS en SASS wordt ondersteund.
Uitvoeren van Python-code vanuit blokken <script> производится через предварительную компиляцию этого кода, выполняемую обработчиком Brython после загрузки страницы. Компиляция инициируется при помощи вызова функции brython(), например через добавление «<body onload="»brython()»">». На основе Python-кода формируется представление на языке JavaScript, которое затем выполняется штатным JavaScript-движком браузера (для сравнения, проект PyPy.js предлагает для выполнения Python-кода в браузере скомпилированный в asm.js интерпретатор CPython, а Skulpt реализует интерпретатор на JavaScript).
De uiteindelijke prestatie van de meeste bewerkingen in de Python-scripts die in webpagina's zijn ingebed, ligt dicht bij de prestaties van CPython. Vertraging treedt alleen op tijdens de compilatiefase, maar om dit op te lossen is er de mogelijkheid om vooraf gecompileerde JavaScript-code te laden, wat wordt toegepast om de laadtijd van de standaardbibliotheek te versnellen (Brython biedt een toolkit voor het maken van JavaScript-bibliotheken op basis van Python-modules).
De nieuwe uitgave is opvallend door een complete herontwikkeling van de implementatie van ingebouwde types en een herschrijving van de code voor het parseren van argumenten voor ingebouwde functies en methoden. In de Brython 3.14-tak is compatibiliteit met CPython 3.14 gewaarborgd en zijn de meeste nieuwe mogelijkheden van deze uitgave gerealiseerd, inclusief de ondersteuning voor f-strings en uitgestelde verwerking van annotaties.
Bron: opennet.ru
