De release van het Brython-project 3.15.0 (Browser Python) is beschikbaar, met de implementatie van de programmeertaal Python 3 voor webbrowsers, waardoor Python in plaats van JavaScript kan worden gebruikt voor het ontwikkelen van scripts voor het web. In de Brython 3.15 release is de compatibiliteit met CPython 3.15 gewaarborgd en is een groot deel van de nieuwe functies van deze release geïmplementeerd, waaronder uitgestelde module-import, de types frozendict en sentinel, en de operators “*” en “**” voor het uitpakken van lijstcomprehensies. 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-движком браузера.
De uiteindelijke prestaties van de meeste bewerkingen in Python-scripts die in webpagina's zijn ingebed, zijn vergelijkbaar met de prestaties van CPython. De vertraging ontstaat alleen tijdens de compilatiefase, maar er is een mogelijkheid om vooraf gecompileerde JavaScript-code te laden, wat wordt gebruikt om de laadtijd van de standaardbibliotheek te versnellen (Brython biedt hulpmiddelen voor het creëren van JavaScript-bibliotheken op basis van Python-modules).
Bron: opennet.ru
