Brython Pythonコード(スクリーンショット-バージョン3.8.8)
Brython Pythonプロジェクトの開発者がいるリリース新しいリリース、 Brython 3.9。プロジェクト自体は「ブラウザ用Python」として位置付けられています。これはPython3に基づいており、ブラウザー側で実行され、JavaScriptの代わりにPythonを使用してWebスクリプトを開発します。
プロジェクトコードはPythonで記述され、BSDライセンスの下で配布されます。新しいリリースはPython3.9と互換性があり、さらに標準ライブラリが更新されています。
JSの代わりにPythonを使用してクライアント側サイトのロジックを定義するには、Web開発者はbrython.jsとbrython_stdlib.jsの2つのライブラリを含める必要があります。ページにPythonコードを含めるには、mimeタイプのtext / pythonのスクリプトタグを使用します。
Brythonの側からは、ページへのコードの埋め込みと外部スクリプトのロードの両方が許可されています。例:
<script type="text/python" src="test.py">
DOM要素とイベントへのフルアクセスはスクリプトから提供されます。 Python標準ライブラリへのアクセスに加えて、jQuery、D3、Highcharts、RaphaelなどのDOMおよびJavaScriptライブラリを操作するための専用ライブラリがあります。
jQuery、D3、Highcharts、RaphaelなどのJavaScriptライブラリによるCSSフレームワークの使用をサポートします。
Pythonブロックは、ページがロードされた後にBrythonエンジンによって実行されるコードの事前コンパイルを通じて、スクリプトブロックから実行されます。コンパイルは、brython()関数を呼び出すことによって開始され
body onload="brython()"ます。たとえば、を追加します。
Pythonコードに基づいて、JS表現が形成され、ブラウザーの標準JavaScriptエンジンによって実行されます。
パフォーマンスに関しては、埋め込みPythonスクリプトのほとんどの操作はCpythonのパフォーマンスに近いものです。遅延が発生するのは、コンパイルフェーズ中のみです。ただし、標準ライブラリのロードを高速化するために使用されるプリコンパイルされたJavaScriptコードによって、遅延をなくすことができます。
<script type="text/python">
import time
import math
from browser import document
import browser.timer
content = document["content"]
...
canvas = content.select_one(".clock")
if hasattr(canvas, 'getContext'):
ctx = canvas.getContext("2d")
browser.timer.set_interval(set_clock, 100)
show_hours()
else:
content.select_one('.navig_zone').html = "canvas is not supported"
</script>
Brythonの実行の詳細
「Pythonforthe Browser」で、JSコードのようなPythonコードの変換と実行の両方を行えるようにするには、ドキュメントの本文が読み込まれたときにBrythonを呼び出す必要があります。
<body onload="brython()">
この場合、タグはタイプtext / pythonのスクリプトタグを探し、コードを実行します。Webでの作業にAPIを使用するために、Brython開発者は、Pythonで他のモジュールをインポートするのと同様に、APIをインポートするという単純なソリューションを実装しました。
from browser import document, html, window
Brythonはすべてを独自に処理するため、追加のコマンドを実行する必要はありません。
重要なポイント-Brythonを使用するには、少なくとも基本的なレベルのJavaScriptの経験が必要です。これがなければ、それを理解するのは非常に難しいでしょう。
