「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開

今回は「「PyScript」はJavaScriptのようにPythonコードをHTML内に記述して実行可能、Anacondaがオープンソースで公開」についてご紹介します。

関連ワード (対応、文書、計算処理等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Pythonの主要なディストリビューション「Anaconda」などを提供しているAnaconda社は、HTML文書の中にJavaScriptと同じようにPythonのコードを記述し、実行可能にする「PyScript」をオープンソースで公開しました。

Did you hear the news from PyCon!? We are thrilled to introduce PyScript, a framework that allows users to create rich Python applications IN THE BROWSER using a mix of Python with standard HTML! Head to https://t.co/n4OoeBD46z for more information.

— Anaconda (@anacondainc) April 30, 2022

下記がPyScriptのコードの例です。まるでJavaScriptのように<py-script>タグを用いてHTMLの中にPythonのコードを記述しています。

Webブラウザ上にPythonインタプリタ

PyScriptによるPythonコードの実行はWebAssemlby化されたPythonインタプリタによってWebブラウザ上で実行されるため、サーバ側に特別な仕組みを持つ必要はありません。

PyScriptのデモページも用意されており、Hello Worldから始まり、ToDoアプリや統計とグラフ化などまで、さまざまなアプリケーションの記述が可能なことが示されています。

pyscript01
pyscript02

一般的なPythonライブラリ群にも対応するとのことで、Webブラウザ上でPythonの得意な計算処理も可能になることが期待されます。

PythonインタプリタをWebAssemblyで実装した「Pyodide」が中心

前述の通り、PyScriptはWebAssembly化された代表的なPythonインタプリタ実装である「Pyodide」(パイオダイドと発音されているようです)を用いて開発されています。

PyodideはMozillaが2018年に開発を開始したプロジェクトで、Pythonのリファレンス実装であるCPythonのソースコードに最小限の変更を行い、EmscriptenでWebAssemblyへコンパイルできるようにすることで、WebブラウザなどのWebAssembly実行環境上で事実上標準と同じPythonインタプリタが実行できることを目指しているプロジェクトです。

参考:PythonインタプリタをWebAssemblyへコンパイル、Webブラウザで稼働するPython環境「Pyodide」。Mozillaが開発中

PyScriptはこのPyodideを中心に、HTMLやJavaScriptとの連携機能などを実装したものです。

pyscript03

WebAssemblyによるインタプリタの実装はPythonだけでなくRubyでも実現しています。PyScriptができるなら、RubyScriptも技術的に可能でしょう。

参考: WebAssembly/WASIに対応した「Ruby 3.2 Preview 1」公開。WebブラウザでRubyが動く世界がやってくる

PyScriptはビジョンとしてPython以外の言語にも対応する方向性を示しています。今後Webブラウザでは用途に応じてJavaScript以外の言語を選んでプログラミングする、ということが広がっていくのでしょうか。

関連記事

PublickeyではWebAssemblyが注目され始めた2017年に、JavaScript以外の選択肢が広がる可能性について記事を書いていました。

  • WebAssembly対応、主要ブラウザChrome/Firefox/Edge/Safariで整う。Webアプリの開発言語としてJavaScript以外の選択肢は広がるか?

COMMENTS


Recommended

TITLE
CATEGORY
DATE
グーグル、「Android Studio」「Jetpack Compose」など開発ツールの改善を発表
IT関連
2022-05-14 04:57
Reddit、APIの商用利用を有料化–AI開発大手に影響
IT関連
2023-04-22 10:19
5つのトレンドでデータ管理とアナリティクスの2023年を展望する
IT関連
2022-12-31 02:58
次期Apple Watch Series 7とされる画像を掲載? フラットなデザインで薄型
報道チーム
2021-08-19 05:20
携帯大手新プランのコスト構造分析へ 総務省、格安業者支援で緊急措置
IT関連
2021-01-27 22:42
WebAssemblyでクラウドネイティブを実現するクラウドサービス「Fermyon Cloud」がオープンベータで登場
WebAssembly
2022-10-28 21:14
透明性を高めたサービスで安全なデジタル社会に貢献–カスペルスキー・藤岡社長
IT関連
2022-01-19 19:09
SUBARU、国内工場を一時停止 半導体供給に支障
企業・業界動向
2021-01-17 21:16
NEC、AI技術による共同輸配送プラットフォームを始動–主要都市間でサプライチェーン構築
IT関連
2024-09-11 19:42
遠隔操作・AIロボのTelexistence、物流施設の低温エリアなどで自律制御・遠隔操作による新型ハイブリッドロボの実証実験
IT関連
2022-03-08 22:11
公取委研究会、AIなどの競争上の課題について報告 自動ランク付けでの自社優遇を問題視
IT関連
2021-04-02 10:33
第3の足として歩行を助けるロボット ランニング補助や転倒防止にも :Innovative Tech
トップニュース
2021-03-13 19:22
OpenAI、「GPT-4o」の新しいデータ分析機能を発表–有料ユーザー対象
IT関連
2024-05-21 09:36
[速報]オラクル、ホワイトボックス化したクラウド一式をSIerに提供する「Oracle Alloy」発表。SIerがカスタマイズし自社ブランドでのサービス実現。Oracle CloudWorld 2022
Oracle Cloud
2022-10-20 23:16