Ostatnio ogłoszono wydanie nowej wersji projektu Brython 3.10 (Browser Python), który jest dostarczany z implementacja języka programowania Python 3 do wykonania po stronie przeglądarki internetowej, dzięki czemu możesz używać Pythona zamiast JavaScript do tworzenia skryptów dla sieci.
Łącząc biblioteki brython.js i brython_stdlib.js, programista może użyć Pythona do zdefiniowania logiki witryny po stronie klienta, używając Pythona zamiast JavaScript.
Aby umieścić kod Pythona na stronach, musisz użyć tagu z typem MIME „text/python” pozwala to zarówno na osadzenie kodu na stronie, jak i ładowanie zewnętrznych skryptów ( ). El script proporciona acceso completo a los elementos y eventos DOM.
Oprócz dostępu do standardowej biblioteki Pythona istnieją specjalistyczne biblioteki do interakcji z bibliotekami DOM i JavaScript, takimi jak jQuery, D3, Highcharts i Raphael. Obsługiwane jest użycie frameworków CSS Bootstrap3, LESS i SASS.
Możliwość uruchomienia Pythona w przeglądarce internetowej umożliwia:
- Uruchom ten sam kod Pythona na serwerze iw przeglądarce.
- Pracuj z różnymi interfejsami API przeglądarki za pomocą Pythona
- Manipuluj Document Object Model (DOM) za pomocą Pythona
- Użyj Pythona do interakcji z istniejącymi bibliotekami JavaScript, takimi jak Vue.js i jQuery
- Ucz języka Python uczniów Pythona za pomocą edytora Brython
- Zachowaj poczucie zabawy podczas programowania w Pythonie
Efektem ubocznym używania Pythona w przeglądarce jest utrata wydajności w porównaniu z tym samym kodem w JavaScript.
Wykonywanie kodu Pythona z bloków se realiza mediante la compilación previa de este código przez silnik Brython po załadowaniu strony. Kompilację rozpoczynamy od wywołania funkcji brython(), np. dodając « ».
Na podstawie kodu Pythona, tworzona jest reprezentacja JavaScript, która jest następnie wykonywana przez standardowy silnik JavaScript przeglądarki (Dla porównania, projekt PyPy.js oferuje interpreter CPython skompilowany do asm.js do uruchamiania kodu Pythona w przeglądarce, a Skulpt implementuje interpreter w JavaScript.)
Witryna Brython zauważa, że szybkość realizacji wdrożenia jest porównywalna z CPython. Ale Brython działa w przeglądarce, a odniesieniem w tym środowisku jest JavaScript wbudowany w silnik przeglądarki. W rezultacie spodziewaj się, że Brython będzie wolniejszy niż dobrze dostrojony i ręcznie napisany JavaScript.
Brytyjczyk skompiluj kod Pythona do JavaScript, a następnie uruchom wygenerowany kod. Te kroki mają wpływ na ogólną wydajność, a Brython może nie zawsze spełniać Twoje wymagania dotyczące wydajności. W niektórych przypadkach może być konieczne delegowanie wykonywania kodu do JavaScript lub nawet WebAssembly. Zobaczysz, jak zbudować WebAssembly i jak używać powstałego kodu w Pythonie w sekcji WebAssembly.
Nie pozwól jednak, aby postrzegana wydajność powstrzymała Cię od korzystania z Brythona. Na przykład import modułów Pythona może spowodować pobranie odpowiedniego modułu z serwera
W sprawie nowa wersja wyróżnia się kompatybilnością z Pythonem 3.10, w tym obsługa operatorów do dopasowywania wzorców (dopasowanie / wielkość liter).
Nowa wersja również wyłączonazapewnia wstępną implementację abstrakcyjnego drzewa składni (AST, Abstract Syntax Tree) dla języka Python, które można następnie wykorzystać do wygenerowania kodu JavaScript z uniwersalnego AST.
W celu wdrożenia Brythona można to zrobić, dodając na stronie następujący kod:
<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>
Lub można go również zainstalować po stronie serwera, uruchamiając następujące polecenie:
pip install brython
W końcu jeśli chcesz dowiedzieć się więcej na ten tematmożesz sprawdzić szczegóły W poniższym linku. Kod projektu jest napisany w Pythonie i jest rozpowszechniany na licencji BSD.