「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
マイクロソフト、「Internet Explorer 11」のサポートを2022年6月15日に終了
IT関連
2021-05-20 03:50
契約審査「LegalForce」、自動レビュー機能がプライバシーポリシーに対応
IT関連
2024-02-01 21:26
JavaScript/WebAssemblyをCDNエッジで実行するCloudflare Workersが、Python、Scala、Kotlin、Dart、Reasonへの対応を発表
Cloudflare
2022-08-09 10:22
ツイッターが「ポッドキャスト」タブを開発していることが明らかに
IT関連
2022-03-07 21:26
Apple WatchでiPhoneのFace IDアンロックを初体験して分かったこと Apple Watchはもはや必須 :CloseBox(1/3 ページ)
トップニュース
2021-04-28 12:00
教育出版のPearson、大学電子教科書のサブスクサービスを開始
アプリ・Web
2021-08-03 08:03
信頼とテクノロジーで成長へのチャンスを共につかむ年–日本IBM・山口社長
IT関連
2024-01-05 04:24
マルウェア「Emotet」の感染攻撃が再拡大の兆し–手法に変化も
IT関連
2022-11-06 10:12
IoTスタートアップobnizの通信ゲートウェイが東京都のコロナ自宅療養者向けパルスオキシメーター監視システムに採用
IT関連
2022-02-08 03:07
ホットクックに「アイマス」モデル BGM付き音声にキャラ同士の掛け合いも
くらテク
2021-03-26 07:29
電通デジタルとアクイア、オムロン電子部品事業のグローバルDXを支援
IT関連
2022-03-26 08:35
「ひとり情シス大学1日コース」開講報告(1)–大阪・船場にひとり情シスが集結
IT関連
2023-01-07 21:15
中小企業経営者に必要な「サイバーレジリエンス」–ウェブルートが訴求
IT関連
2022-03-02 20:04
SAPのプラットフォームで日本企業の変革を支援できる–クラインCEOが会見
IT関連
2023-10-04 15:39