「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
セキュリティ人材の不足がもたらす深刻な影響–企業がまず見直すべきこととは
IT関連
2021-08-19 14:19
第3回:なりすましメール対策の「DMARC」–すぐに実現できる仕組み
IT関連
2022-06-01 18:11
ZyngaがRPGゲーム分野に拡大を目指し「Torchlight III」のEchtra Gamesを買収
ゲーム / eSports
2021-03-05 20:02
Slack、Discordのような気軽な音声チャット機能「Huddle」を追加
アプリ・Web
2021-07-02 13:06
招待制の写真SNS「Dispo」読本(後編) ロールへの招待状 撮影した後がまた楽しい (1/8 ページ)
イラスト・デザイン
2021-03-31 09:28
日本企業の70%が持続可能性と収益性の同時実現は困難と回答–SAP調査
IT関連
2022-11-10 02:00
プロセスマイニングで業務を最適化するエイト日本技術開発、KDDI、富士通の事例
IT関連
2023-12-26 04:48
[速報]Windows 11でAndroidアプリが実行可能に、マイクロソフトが発表
Android
2021-06-25 17:49
コロナ禍が従業員の「エンゲージメント」と「エクスペリエンス」の再考を促す
IT関連
2022-09-14 13:56
GitHub、Apple M1チップでGitHub Actionsの処理を実行する「M1 macOSランナー」提供開始、パブリックベータとして
Apple
2023-10-04 15:51
LegalOn Technologies、法務プラットフォーム「LegalOn Cloud」発表
IT関連
2024-04-11 05:57
リアル店舗向け顧客管理・販売促進プラットフォーム「toypo」提供の福岡発「トイポ」が資金調達
ネットサービス
2021-07-30 11:27
IaaS障害はどこでどうやって起きるのか? ユーザー企業が受けるサービスダウン以外の影響とは (1/2 ページ)
クラウドユーザー
2021-07-17 23:19
ウイングアーク1st、「物流の2024年問題」で商工中金などと連携–運輸業向け支援基盤を提供
IT関連
2023-04-15 21:01