Personal tools

Web上でPythonのコードを実行するpystachio - Python -> JavaScript トランスレータ

by ats posted at 2009-11-24 19:41 last modified 2009-11-24 19:44
Web開発で,Pythonのコードをクライアントサイド(Webブラウザ)でダイナミックに実行したいというニーズはけっこうあると思う。
pystachio(ピスタチオ)はユニークなアプローチでPythonのコードをWebブラウザ上で実行する仕組みだ。Pythonのコードを,JavaScriptを使ってダイナミックにPythonのコードに変換して実行する,というもの。開発者はHTMLなどにPythonのコードを埋め込むだけでいい。あとはpystachioがPythonのコードをJavaScriptに変換して,実行してくれる。
まずは
<script type="text/javascript" src="pystachio.js"></script>
のようにしてpystachioをロードする。
その後,HTMLの中に
<script type="text/python">
        <!--
            temp = "hello, world!"
            def something(temp):
                return temp
            print something(temp)
        #-->
</script>

というようにPythonのコードを埋め込む。

HTMLの最後には

        <script type="text/javascript">
        <!--
            //init params: debug_mode
            pystachio.init(true);
        //-->
        </script>

としてpystachioの関数を呼び出す。すると,text/pythonのブロックを読み込んで,JavaScriptのコードに変換してくれる。

クライアントサイドで動くコードをPythonで書くための方法として,以前,このブログでも紹介したPythonのコードをサーバ上でダイナミックにJavaScriptに変換してしまうというアプローチがある。pystachioはこの手法に比べて圧倒的に「ノリがよく」活用できるはずだ。HTMLや外部ファイルにPythonのコードをべた書きしておくだけでよいからだ。

現在はPythonのトークナイザをJavaScriptで実装しただけの段階で,まだコードを実行できないようなのだが,実際にコードが動き出すまでそれほど待たなくてもよいような気がする。

このpystachioように,WebブラウザでPythonのコードを動かすための仕組みについては注目してゆきたいと思っている:-D。

Category(s)
python
The URL to Trackback this entry is:
http://coreblog.org/ats/pystachio-pytnon-javascript-translator/tbping
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
(Required)
コメントスパム避けのための認証文字列です

Captcha Image

Pythonな求人
r = urlopen("http://www.webcore.co.jp/recruit")
About this blog
■Author
atsこと柴田淳です。この記事を読んでいただくと,技術者としての人となりを分かってもらえるかも。
Webcore株式会社 代表取締役
Plone上で動く,オープンソースのBlog Product - COREBlog2を使って運用しています。

最近書いた原稿
最終回 Python 3.0座談会(動画つき) 2009-07-16
Python 3.0 Hacks 第6回 Pythonicな文字列フォーマットforamat()メソッド 2009-03-30
言語としての一貫性を重視したPython 3の進化 2009-02-20
Python 3が後方互換性を捨てても求めたもの 2009-02-02
Python 3.0 Hacks : 第0回 Pythonの2008-2009 2009-01-01
 
最近書いた本,Mook
みんなのPython 改訂版
Python使いはもちろん,プログラミングの初心者から,他言語からの移行組までご好評いただいているPythonの定番入門書の第2版です。Python 3.0を含む最新の情報について加筆を行い,より読みやすいように構成を大幅に見直しました。第一版をお持ちの方にもお役立ていただける内容になっています。
みんなのPython Webアプリ編
Pythonの基礎から,Webアプリやフレームワークの仕組みまで,つまることなく一気に学べる書籍です。「みんなのPython」と一緒に読んでください:-)。
 

Powered by Plone, the Open Source Content Management System