SlideShare a Scribd company logo
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ソース
                      ビルダ
デモ
ありがとうございました

More Related Content

PDF
なんとかStormに負けたくないEmacs初級篇
PDF
5分でわかる静的解析入門
PDF
LL Onsen 2008 OpenPrinting
PDF
「愛されたい!」と思ったときにJavaで書くRubyクラス
PDF
JavaScript MVC入門
PDF
LT#7 Hello coffeeしてきた
PPTX
TypeScript 1.0 Released!
PDF
2014 1-19
なんとかStormに負けたくないEmacs初級篇
5分でわかる静的解析入門
LL Onsen 2008 OpenPrinting
「愛されたい!」と思ったときにJavaで書くRubyクラス
JavaScript MVC入門
LT#7 Hello coffeeしてきた
TypeScript 1.0 Released!
2014 1-19

What's hot (20)

PDF
プログラミングNet framework3のお題
PDF
Pythonで業務改善をしたときにあった問題(ライト版)
PDF
Predefを使ったsqlのトレース
PPTX
非同期系統の基礎
PDF
Espressoじゃなくてcodaを使う理由
PDF
CLR/H第54回勉強会 ライトニングトーク
PDF
F#とトランスレータ
PDF
F#談話室(3) LT
PDF
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PDF
Rubyでやろう。データ解析導入編( CSV, XML, JSON)
PDF
Phperがgoをさわってみた
PDF
歴史あるWebサービスに携わって2年半の間に起きた事やった事
PDF
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
PDF
PHPNGの動向
PDF
運用で爆発四散しないためのメタプログラミングとの付き合い方
PDF
Php非同期の技法
PDF
Rubyist started to learn Groovy - things important to leran new LL
PDF
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
PDF
Laravelのeloquent だけ入れた話
PDF
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
プログラミングNet framework3のお題
Pythonで業務改善をしたときにあった問題(ライト版)
Predefを使ったsqlのトレース
非同期系統の基礎
Espressoじゃなくてcodaを使う理由
CLR/H第54回勉強会 ライトニングトーク
F#とトランスレータ
F#談話室(3) LT
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
Rubyでやろう。データ解析導入編( CSV, XML, JSON)
Phperがgoをさわってみた
歴史あるWebサービスに携わって2年半の間に起きた事やった事
プログラマになれないあなたのための言語戦略 (Gunma.web #7 2011/12/17)
PHPNGの動向
運用で爆発四散しないためのメタプログラミングとの付き合い方
Php非同期の技法
Rubyist started to learn Groovy - things important to leran new LL
10年続いているwebサービスの画像サーバをノーメンテでftpサーバからs3互換のストレージサーバに移行している話
Laravelのeloquent だけ入れた話
TypeScript 型定義ファイルのある開発 TypeScript勉強会 VSハッカソン倶楽部
Ad

Similar to Phjosh(仮)プロジェクト (20)

PDF
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
PDF
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
PDF
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
PDF
PHPとJavaScriptの噺
PDF
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
PDF
RealtimeTweakPickerMode
KEY
WordPress中級者への道!テンプレートタグはどう動くのか!?
PDF
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
PDF
JavascriptでRubyの作り方
PDF
4時間まったりWordPressテーマ作成講座
PDF
Javaで1から10まで書いた話(sanitized)
PDF
Word pressのテーマは firephpでハックすれば 良かったのか
PPTX
20111029 rubyon php
KEY
PHPエクステンションの開発tips
PPTX
PHPCON_TOKYO_2022_Bigginer.pptx
PDF
Phpのレガシーコードをrubyで焼き変えてみた
PDF
WordBench京都版 _sハンズオン
PDF
PHP フィールドインジェクションに挑戦する PHP勉強会2014
PDF
フレームワークを使うべき 3 つの理由
PDF
第67回PHP勉強会LT(その2)
YAPC::Asia 2014 - 半端なPHPDisでPHPerに陰で笑われないためのPerl Monger向け最新PHP事情
PHPでAIプログラミングコンテスト準優勝するまでの軌跡
現在のWebフロントエンドの現状と愚痴と、それに対するHaxeフロントエンドライブラリMageについて
PHPとJavaScriptの噺
PHP版レガシーコード改善に役立つ新パターン #wewlc_jp
RealtimeTweakPickerMode
WordPress中級者への道!テンプレートタグはどう動くのか!?
PhpStormを使おう --高槻からは快速急行が早くなります #jbugj
JavascriptでRubyの作り方
4時間まったりWordPressテーマ作成講座
Javaで1から10まで書いた話(sanitized)
Word pressのテーマは firephpでハックすれば 良かったのか
20111029 rubyon php
PHPエクステンションの開発tips
PHPCON_TOKYO_2022_Bigginer.pptx
Phpのレガシーコードをrubyで焼き変えてみた
WordBench京都版 _sハンズオン
PHP フィールドインジェクションに挑戦する PHP勉強会2014
フレームワークを使うべき 3 つの理由
第67回PHP勉強会LT(その2)
Ad

More from Moriyoshi Koizumi (20)

PDF
Goをカンストさせる話
PPTX
PHP7を魔改造した話
PPTX
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
PDF
All I know about rsc.io/c2go
PPTX
HLSについて知っていることを話します
PPTX
Pyramidのrendererをカスタマイズする
PPTX
Hacking Go Compiler Internals / GoCon 2014 Autumn
PDF
Uguisudani
PDF
よいことも悪いこともぜんぶPHPが教えてくれた
PDF
Ik in action
PDF
PDF
Haxeについて
PDF
PDF
PHP language update 201211
PDF
mod_himoteからはじめよう
PDF
HPHPは約束の地なのか
PDF
Pyfes201110
PDF
Aaなゲームをjsで
PDF
Aaなゲームをjsで
PDF
ctypes拡張モジュール
Goをカンストさせる話
PHP7を魔改造した話
Authentication, Authorization, OAuth, OpenID Connect and Pyramid
All I know about rsc.io/c2go
HLSについて知っていることを話します
Pyramidのrendererをカスタマイズする
Hacking Go Compiler Internals / GoCon 2014 Autumn
Uguisudani
よいことも悪いこともぜんぶPHPが教えてくれた
Ik in action
Haxeについて
PHP language update 201211
mod_himoteからはじめよう
HPHPは約束の地なのか
Pyfes201110
Aaなゲームをjsで
Aaなゲームをjsで
ctypes拡張モジュール

Phjosh(仮)プロジェクト