Anacondaは、Pythonと標準HTMLを組み合わせ、ブラウザで動作するリッチなPythonアプリを作成できるOSSフレームワーク「PyScript」を開発していることを明らかにした。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
Pythonディストリビューションの「Anaconda」を手掛けるAnacondaは2022年4月30日(米国時間)、Pythonと標準HTMLを組み合わせ、ブラウザで動作するリッチなPythonアプリを作成できるオープンソースソフトウェア(OSS)のフレームワーク「PyScript」を開発していることを明らかにした。
PyScriptは、一貫したスタイルルールがあり、表現力が豊かで、習得しやすい一流のプログラミング言語をユーザーに提供することを目的としている。AnacondaはPyScriptの特徴として下記を挙げている。
こうした特徴を持つPyScriptについてAnacondaは「豊富でアクセスしやすいPythonライブラリのエコシステムのおかげで、ほんの少し(大幅に、かもしれない)強化されたHTMLだ」と述べている。
PyScriptでは一連の新しいHTMLタグ(Webコンポーネント)を定義している。例えば、簡単なプログラムを書くには<py-script>タグを使い、タグ自体の中にPythonコードを書けばよい。
<py-script> "Hello World" </py-script>
あるいは、ソースファイルを直接渡すこともできる。
<py-script src="/my_own_file.py"></py-script>
PyScriptはこうしたコードを読み、Pythonインタープリタで実行し、それに応じて出力を処理する。
アプリに必要な追加のモジュールやパッケージをロード(インストール)する必要がある場合は、<py-env>タグを使って環境要件を指定できる。
<py-env> - bokeh - numpy - paths: - /utils.py </py-env>
REPLのようなコンポーネントを追加してインタラクティブな体験を作成するには、<py-repl>タグを使用すればよい。
<py-repl id="my-repl" auto-generate="true"> </py-repl>
PyScriptはまだ始まったばかりであり、ビジョンと比べて非常に限定的なものにとどまっている。だが、まだ不安定で制限はあるものの、PyScriptが動くことを示すために、Anacondaはデモページを設け、「基本例」「MIMEレンダリング」「JSインタラクション」「可視化&ダッシュボード」という分類で、さまざまなデモを試せるようにしている。
Anacondaは、「今日では、『WebAssembly』(以降、WASM)、『Emscripten』、Pyodideによる進歩など、さまざまな要素によって、ブラウザは非常に強固なスタックとなっている。ブラウザはこれまで、仮想マシンとして考えられていなかったが、優れた仮想マシンになる」との認識を示している。
WASMは、Webブラウザを含むモダンな実行環境での効率的なコード実行とコンパクトなコード表現のために設計された、ポータブルな低レベルフォーマットだ。HTML、CSS、JavaScriptに続く第4のWebブラウザ用言語と位置付けられている。
Emscriptenは、速度、サイズ、WebプラットフォームにフォーカスしたLLVMベースのコンパイラであり、C、C++、またはLLVMを使用するあらゆる言語で書かれた既存のプロジェクトを、ブラウザ、Node.js、WASMランタイムにコンパイルする。
Pyodideは、Pythonのレファレンス実装「CPython」をWASM、Emscriptenに移植したものだ。
Anacondaは、前述したPyScriptの目的から、PyScriptの開発に当たって、新しい技術スタックを作るのではなく、現在のエコシステムが提供する最良の選択肢からスタートしようと考えた。そして基盤となるプラットフォームとしてブラウザを選んだとしている。
ブラウザは、「楽しみながらアプリを作成してリリースできる、信頼性が高くアクセスしやすいフレームワークを提供する出発点だ」と、Anacondaは考えている。
Anacondaは今後、PyScriptを次のようなフレームワークとして開発する計画だ。
Copyright © ITmedia, Inc. All Rights Reserved.