Phjosh(仮)
     プ ジ ク
      ロ ェ ト
Moriyoshi Koizumi <mozo@mozo.jp>
自己紹介
• id:moriyoshi
• twitter: moriyoshit
• kazuhoさんに「頭からなんか汁出てる」と評され
 る

• PHPの人に分類されることが多い
• 最近はC++とPython
さて
JavaScript
好きですか?
JavaScript
書くの好きですか?
JSで大規模開発
クラス指向で
書きたくなる
(例) Ext.js
(例) Google Closure
     Library
しかし
var namespace = namespace || {};

// コンストラクタ
namespace.Klass = function(param) {
    this.__class__ = callee;
    this.param = param;
};

namespace.Klass.prototype = new BaseKlass;

// メソッド
namespace.Klass.prototype.method1 = function() {
    ...
};

// メソッド2
namespace.Klass.prototype.method2 = function() {
    ...
};
プロトタイプ指向で
 ふつうのOOPは
   しんどい
JSのコード自動生成
すればいいんじゃね
Prior works:

• Google Web Toolkit (GWT)
• rb2js
• py2js
GWT
• JavaのソースコードからJSのコードを生成する
• JSをつまるところEclipseやIntelliJなどのIDEで開
 発できる

• 基本的にはGWT付属のフレームワークしか利用で
 きない

• ピュアJSのライブラリと相性が最悪
rb2js

• http://rb2js.rubyforge.org/
• Rubyで書いたコードをJSに変換
• Proof-of-Conceptの段階
• 既存JSライブラリとのインターフェイスはあまり
 考慮されていない
py2js

• http://code.google.com/p/js4py/
• alpha quality
• 試してないのでよく分かりませんが
• JSとPythonの文法がかなりかけ離れているのが...
そういえばPHPは?
PHP to JS変換

• PHPはWebプログラマの共通言語
• PHPの文法はJavaScriptによく似ている
• PHPはテンプレートエンジンとしても使える
        ☞PHPでやるべき
Phjosh(仮)プロジェクト

• PHPをJSに変換する
• まだコンセプト段階
• いくつかのサンプルが動くレベル
しくみ
 PHP       PHP
スクリプト
           パーサ
                     抽象構文木


        JavaScript
        スクリプト        JSソース
                      ビルダ
デモ
ありがとうございました

Phjosh(仮)プロジェクト