祝「HTML5本」出版!!

20 views
Skip to first unread message

KOMATSU Kensaku

unread,
Feb 20, 2010, 11:21:35 AM2/20/10
to html5-developers-jp
小松です。

先日のデブサミ2010で先行発売された
「HTML5&API入門」
について、僕なりの感想(基本的にべたぼめ)と(15章)websocketsに関するコメントの
エントリーを書いてみました。
http://blog.livedoor.jp/kotesaki/archives/1422161.html

コメントについては、pywebsocketの利用法が僕の場合とちょっと違う(書籍では
standaloneで動かしている)ため、その点について書いてあります。

せっかくですので、”べたぼめ”なり”コメント”なり”ブログに書いたよ!”なりありましたら、
このスレで盛り上がってみるのは如何でしょうか?

 #近日中に羽田野さん本も出ますし、、、
 #http://www.amazon.co.jp/gp/product/4798025291

Shumpei Shiraishi

unread,
Feb 20, 2010, 5:58:02 PM2/20/10
to html5-dev...@googlegroups.com
小松さん

どうも、白石です。
本をご紹介頂き、誠にありがとうございましたm(_ _)m
著者としては、嬉しいの一言に尽きます。
あと、「websockets担当」は「自称」じゃなくていいですよ~(^^)

羽田野さんの本も予約注文できるようになったんですね!
楽しみ!!
本の出版状況を見る限り、日本は「HTML5先進国」と言っても間違いなさそうですね。


2010/2/21 KOMATSU Kensaku <kensaku...@gmail.com>:

> --
> このメールは Google グループのグループ「html5-developers-jp」の登録者に送られています。
> このグループに投稿するには、html5-dev...@googlegroups.com にメールを送信してください。
> このグループから退会するには、html5-developer...@googlegroups.com にメールを送信してください。
> 詳細については、http://groups.google.com/group/html5-developers-jp?hl=ja からこのグループにアクセスしてください。
>
>

Toshiro Takahashi

unread,
Feb 21, 2010, 7:34:45 AM2/21/10
to html5-dev...@googlegroups.com
高橋登史朗です

白石さんおめでとうございます。私も注文させていただきました(^^)。

On Sun, 21 Feb 2010 07:58:02 +0900
Shumpei Shiraishi <shumpei....@gmail.com>さん wrote:

> 小松さん
>
> どうも、白石です。
> 本をご紹介頂き、誠にありがとうございましたm(_ _)m
> 著者としては、嬉しいの一言に尽きます。
> あと、「websockets担当」は「自称」じゃなくていいですよ~(^^)
>
> 羽田野さんの本も予約注文できるようになったんですね!
> 楽しみ!!
> 本の出版状況を見る限り、日本は「HTML5先進国」と言っても間違いなさそうですね。

そうですね。五輪じゃないですが、これは今のところ日本がいつもより、わりと
先頭集団を走っている感じがしますね。

このまま成果を出すところまで行きたいところですが まぁ、そこは国籍関係な
しで、なにしろ早く面白いものが出てきて欲しいです(^^。


> 2010/2/21 KOMATSU Kensaku <kensaku...@gmail.com>:
> > 小松です。
> >
> > 先日のデブサミ2010で先行発売された
> > 「HTML5&API入門」
> > について、僕なりの感想(基本的にべたぼめ)と(15章)websocketsに関するコメントの
> > エントリーを書いてみました。
> > http://blog.livedoor.jp/kotesaki/archives/1422161.html
> >
> > コメントについては、pywebsocketの利用法が僕の場合とちょっと違う(書籍では
> > standaloneで動かしている)ため、その点について書いてあります。
> >
> > せっかくですので、”べたぼめ”なり”コメント”なり”ブログに書いたよ!”なりありましたら、
> > このスレで盛り上がってみるのは如何でしょうか?

ちょっと時間が無いので、簡単な報告だけですが、、、。

standaloneをbloga.jp:82に立てて有ります。
ためしに小松さんのテストを置いてみました。一応、websock_handlersパスも
documentパスも同じにしているのでportを変えるだけで変更できます。

standalone
http://bloga.jp/ws/jq/wakachi/mecab/wakachi-82.html
http://bloga.jp/ws/jq/wakachi/mecab/ruby-82.html

apache
http://bloga.jp/ws/jq/wakachi/mecab/wakachi.html
http://bloga.jp/ws/jq/wakachi/mecab/ruby.html

ほぼ、2倍程度 standalone の方が遅いようにみえます。それでもxhrよりは早い
ですけれど。

そして、ps aux | grep /mod_pywebsocket/standalone.py を見てapacheと比べ
ると、CPUやメモリの消費は当然 standalone の勝ちです。


> > #近日中に羽田野さん本も出ますし、、、
> > #http://www.amazon.co.jp/gp/product/4798025291

おお、こっちも買わなくてわ。


--
Toshiro Takahashi
高橋登史朗
http://allabout.co.jp/internet/javascript/profile/mbiopage.htm
Blog: http://jsgt.org/mt/01/
Twitter: http://twitter.com/toshirot

Shumpei Shiraishi

unread,
Feb 21, 2010, 5:39:34 PM2/21/10
to html5-dev...@googlegroups.com
高橋さん

どうも、白石です。
高橋さん、このMLでいつも発言して頂き、誠にありがとうございます。
「JavaScript++かも日記」「Ajaxはじめの一歩」にはいつもお世話になっていました。
いつかご挨拶をしたい、と考えてましたので、この機会に。

小松さんに何度か「高橋さんに会ってみたいなあ」と漏らしては、「茨城在住らしいので難しそう」と言う結論で終わってます。。いつか東京にいらっしゃる機会があったときには、ぜひご連絡ください!


あと、ぼくが書籍でpywebsocketのスタンドアローン版を使用したことについて、いろいろ検証してくださってありがとうございます(小松さんも)。ここに着目してくださるとは正直予想外でした(^^;
が、一応著者としての立場から「なぜstandalone.pyを選んだか」をお伝えしておくと、(性能や安定性ではなく)「読者の皆様にとっての試しやすさ」と言う基準からです。

原稿執筆時点では、「Kaazing
Gateway」「Jetty」「pywebsocket(Apacheモジュール版)」「pywebsocket(スタンドアローン版)」と言うサーバ実装が選択肢にありました。これらを「読者の皆様に取って試しやすい」と言う基準で選り分け、「サンプルコードが短くてすむ」「コンパイル不要」「環境の準備手順が少ない」と言う点から、pywebsocketのスタンドアローン版をチョイスしました。Pythonとテキストエディタさえあれば試せる、と言うのが良かったんですね。

と言う訳で、スタンドアローン版は恐らく、リソース消費などの点からは「本番運用」にはきっと向かないだろうと言う認識はありましたが、pywebsocket自体が「テスト・実験目的」のWebSocket実装である、とプロジェクトのトップページに謳われてますんで、そこは問題ではないかな、と判断しました。

と言う訳で、WebSocketをさくっと試すのにはスタンドアローン版がぼくとしてはお薦めです。それ以上となると、小松さんや高橋さんの記事を参考に、性能などを加味してサーバ実装をチョイスするのがベストかな~、と思ってます。


2010/2/21 Toshiro Takahashi <ta...@game.gr.jp>:

Toshiro Takahashi

unread,
Feb 22, 2010, 10:29:18 AM2/22/10
to html5-dev...@googlegroups.com
白石さんこんばんは
高橋登史朗です

On Mon, 22 Feb 2010 07:39:34 +0900
Shumpei Shiraishi <shumpei....@gmail.com>さん wrote:

> 高橋さん
>
> どうも、白石です。
> 高橋さん、このMLでいつも発言して頂き、誠にありがとうございます。
> 「JavaScript++かも日記」「Ajaxはじめの一歩」にはいつもお世話になっていました。
> いつかご挨拶をしたい、と考えてましたので、この機会に。

いえ、わたしの方こそお世話になってます。html5-developers-jpのおかげで
こうしてWebSocketを楽しめてもいますので、白石さんの存在は大きいです。
今後とも白石さんのご活躍には期待してます(^^。

> 小松さんに何度か「高橋さんに会ってみたいなあ」と漏らしては、「茨城在住らしいので難しそう」と言う結論で終わってます。。いつか東京にいらっしゃる機会があったときには、ぜひご連絡ください!

わたしも白石さんや小松さんにお会いしてみたいです。
いろいろなイベントを実行するみなさんの行動力は本当に素晴らしく羨ましい
です。わたしも、何かできる範囲でお手伝いできると良いなぁと思っています。

> あと、ぼくが書籍でpywebsocketのスタンドアローン版を使用したことについて、いろいろ検証してくださってありがとうございます(小松さんも)。ここに着目してくださるとは正直予想外でした(^^;
> が、一応著者としての立場から「なぜstandalone.pyを選んだか」をお伝えしておくと、(性能や安定性ではなく)「読者の皆様にとっての試しやすさ」と言う基準からです。
>
> 原稿執筆時点では、「Kaazing
> Gateway」「Jetty」「pywebsocket(Apacheモジュール版)」「pywebsocket(スタンドアローン版)」と言うサーバ実装が選択肢にありました。これらを「読者の皆様に取って試しやすい」と言う基準で選り分け、「サンプルコードが短くてすむ」「コンパイル不要」「環境の準備手順が少ない」と言う点から、pywebsocketのスタンドアローン版をチョイスしました。Pythonとテキストエディタさえあれば試せる、と言うのが良かったんですね。
>
> と言う訳で、スタンドアローン版は恐らく、リソース消費などの点からは「本番運用」にはきっと向かないだろうと言う認識はありましたが、pywebsocket自体が「テスト・実験目的」のWebSocket実装である、とプロジェクトのトップページに謳われてますんで、そこは問題ではないかな、と判断しました。
>
> と言う訳で、WebSocketをさくっと試すのにはスタンドアローン版がぼくとしてはお薦めです。それ以上となると、小松さんや高橋さんの記事を参考に、性能などを加味してサーバ実装をチョイスするのがベストかな~、と思ってます。

速度の件は実装も関係しますから更に調査が必要なんじゃないかと思いますが、
まさに「WebSocketをさくっと試すのにはスタンドアローン版がお薦め」です
ね。

さらに、ポートにこだわらなければHTTPDの設定を気にせず、CPUやメモリも有
利なんじゃないかと思いますし手軽さで面白く使える気がします(^^)。

KOMATSU Kensaku

unread,
Feb 22, 2010, 11:19:52 AM2/22/10
to html5-dev...@googlegroups.com
小松です。

> 速度の件は実装も関係しますから更に調査が必要なんじゃないかと思いますが、
> まさに「WebSocketをさくっと試すのにはスタンドアローン版がお薦め」です
> ね。
>
> さらに、ポートにこだわらなければHTTPDの設定を気にせず、CPUやメモリも有
> 利なんじゃないかと思いますし手軽さで面白く使える気がします(^^)。

僕も、上の意見に全くもって賛同です。
更に、僕がpywebsocketを応援しているのは”国産"だからだったりします。

apacheで組み込むと、他のモジュールとの連動とかやれて楽しいかなぁ
などと思っていて、例えばmod_rewriteと組み合わせられると、アプリの幅も
広がりますし楽しいかなぁなどと思っています。

一方、apacheの仕様に引っ張られて、やりたいことが出来ない可能性も十分
ありえますし、standaloneも、実におもしろいかと、この辺はトレードオフですよね。
 #チャット系の実装のしやすさとか、メモリアドバンテージとかが
 #まさに、これに当てはまるかと

blocking / non-blocking を比較しやすいという意味でもpywebsocketは、とても
優れた実装ですよね。

ところで、、、

> ほぼ、2倍程度 standalone の方が遅いようにみえます。それでもxhrよりは早い
> ですけれど。
>
> そして、ps aux | grep /mod_pywebsocket/standalone.py を見てapacheと比べ
> ると、CPUやメモリの消費は当然 standalone の勝ちです。

早速、ありがとうございます!!

mod_pythonを用いて書かれたコードは、apache moduleとして内部に
組み込まれますので(この辺が、mod_rubyやphpとの大きな違い・・・ですよね?)、
高速動作するのは分かりやすいのですが、それにしても2倍とは。

詳細、調べてみます。時間かかりそうですが・・・
 #藤島さんからもコメントあれば、是非

Yuzo Fujishima

unread,
Feb 22, 2010, 8:10:27 PM2/22/10
to html5-dev...@googlegroups.com
藤島です。

pywebsocketを使って下さり大変ありがたく思っております。

mod_python版とstandalone版の性能差ですが、
全く検証はしていないのですが、
スレッドの取り扱いやヘッダのパージングなどが
やはりApacheは優れているのかな、と想像しています。


2010/2/23 KOMATSU Kensaku <kensaku...@gmail.com>:
> 小松です。

>> さらに、ポートにこだわらなければHTTPDの設定を気にせず、CPUやメモリも有
>> 利なんじゃないかと思いますし手軽さで面白く使える気がします(^^)。

> ところで、、、

> 早速、ありがとうございます!!

KOMATSU Kensaku

unread,
Feb 25, 2010, 9:18:30 AM2/25/10
to html5-dev...@googlegroups.com
藤島さん

小松です。

返信ありがとうございます。
 #replyが遅れてすみませんでした。

なるほど、、、pipelineのケースだと、ハンドシェイク
オーバーヘッド(ヘッダパージング)より、フレーム
ハンドリング(スレッド処理)のほうが効いてるんじゃないかな?
というのが個人的な感想です。

apacheには歴史&実績がありますし、単純な方式比較だけじゃ
ないですよね。。。難しい:-

apache2.3/2.4α(どっちだ?)http://httpd.apache.org/docs/trunk/new_features_2_4.html
も出てきてますけど、、、mod_pythonって動くんでしょうか?
>pythonな方々
 #LTやら、勉強会やらも落ち着いてきたので,
 #そろそろ試してみたいなぁと。

2010年2月23日10:10 Yuzo Fujishima <yu...@google.com>:

Toru Yoshikawa

unread,
Feb 27, 2010, 2:30:34 PM2/27/10
to html5-developers-jp
皆様こんにちは

吉川と申します。

先日、ちょうどこの本を買ってHTML5の勉強を始めました。
頑張ります!

On 2月25日, 午後11:18, KOMATSU Kensaku <kensaku.koma...@gmail.com> wrote:
> 藤島さん
>
> 小松です。
>
> 返信ありがとうございます。
>  #replyが遅れてすみませんでした。
>
> なるほど、、、pipelineのケースだと、ハンドシェイク
> オーバーヘッド(ヘッダパージング)より、フレーム
> ハンドリング(スレッド処理)のほうが効いてるんじゃないかな?
> というのが個人的な感想です。
>
> apacheには歴史&実績がありますし、単純な方式比較だけじゃ
> ないですよね。。。難しい:-
>
> apache2.3/2.4α(どっちだ?)http://httpd.apache.org/docs/trunk/new_features_2_4.html
> も出てきてますけど、、、mod_pythonって動くんでしょうか?
> >pythonな方々
>  #LTやら、勉強会やらも落ち着いてきたので,
>  #そろそろ試してみたいなぁと。
>

> 2010年2月23日10:10 Yuzo Fujishima <y...@google.com>:


>
> > 藤島です。
>
> > pywebsocketを使って下さり大変ありがたく思っております。
>
> > mod_python版とstandalone版の性能差ですが、
> > 全く検証はしていないのですが、
> > スレッドの取り扱いやヘッダのパージングなどが
> > やはりApacheは優れているのかな、と想像しています。
>

> > 2010/2/23 KOMATSU Kensaku <kensaku.koma...@gmail.com>:

> >>>> 2010/2/21 Toshiro Takahashi <t...@game.gr.jp>:


> >>>> > 高橋登史朗です
>
> >>>> > 白石さんおめでとうございます。私も注文させていただきました(^^)。
>
> >>>> > On Sun, 21 Feb 2010 07:58:02 +0900
> >>>> > Shumpei Shiraishi <shumpei.shirai...@gmail.com>さん wrote:
>
> >>>> >> 小松さん
>
> >>>> >> どうも、白石です。
> >>>> >> 本をご紹介頂き、誠にありがとうございましたm(_ _)m
> >>>> >> 著者としては、嬉しいの一言に尽きます。
> >>>> >> あと、「websockets担当」は「自称」じゃなくていいですよ~(^^)
>
> >>>> >> 羽田野さんの本も予約注文できるようになったんですね!
> >>>> >> 楽しみ!!
> >>>> >> 本の出版状況を見る限り、日本は「HTML5先進国」と言っても間違いなさそう
> >>>> ですね。
>
> >>>> > そうですね。五輪じゃないですが、これは今のところ日本がいつもより、わり
> >>>> と
> >>>> > 先頭集団を走っている感じがしますね。
>
> >>>> > このまま成果を出すところまで行きたいところですが まぁ、そこは国籍関係
> >>>> な
> >>>> > しで、なにしろ早く面白いものが出てきて欲しいです(^^。
>

> >>>> >> 2010/2/21 KOMATSU Kensaku <kensaku.koma...@gmail.com>:

Shumpei Shiraishi

unread,
Feb 27, 2010, 7:26:54 PM2/27/10
to html5-dev...@googlegroups.com
吉川さん

どうも、著者の白石です。
拙著にご興味を持って頂き、ありがとうございます!
嬉しいです!


2010/2/28 Toru Yoshikawa <pik...@gmail.com>:

Takayuki Okazaki

unread,
Feb 28, 2010, 4:05:35 AM2/28/10
to html5-dev...@googlegroups.com
皆様、

白石さんのHTML5本を買い、勉強し始めました
HTML5初心者の岡崎です。断片的な情報はわかっていた
つもりでしたが、白石さんの本のおかげで全貌がかなり
よく理解できました。

いろいろと勉強させてください。

岡崎

2010年2月28日9:26 Shumpei Shiraishi <shumpei....@gmail.com>:

Shumpei Shiraishi

unread,
Feb 28, 2010, 4:17:45 PM2/28/10
to html5-dev...@googlegroups.com
岡崎さん

どうも、白石です。
お褒めに預かり、とても恐縮です。
少しはお役に立てたとの事で、それが何より嬉しいです。
今後とも、書籍と本コミュニティをよろしくお願いします。

2010/2/28 Takayuki Okazaki <takayuki...@gmail.com>:

Miwako Ichijo

unread,
Mar 1, 2010, 9:22:52 PM3/1/10
to html5-developers-jp
白石さん、皆様

一條と申します。
HTML5は昨年から、興味心身でネット上で情報を追っていました。
白石さんが書かれた記事などを見て、ちくちくと勉強していましたが、
今回の書籍のように、まとめて見られるのはうれしいです!
現物は確認済みなので、これから入手予定です。

私自身のHTML5に関する興味比重は、今のところ
 セマンティックな表現>インタラクティブな要素>各種API
ですが、書籍とネットを見つつ、各種APIにもどんどんtryしたいです。

今度のGoogle DevFest2010でも関連セッションをはしごしてきます。


On 3月1日, 午前6:17, Shumpei Shiraishi <shumpei.shirai...@gmail.com>
wrote:


> 岡崎さん
>
> どうも、白石です。
> お褒めに預かり、とても恐縮です。
> 少しはお役に立てたとの事で、それが何より嬉しいです。
> 今後とも、書籍と本コミュニティをよろしくお願いします。
>

> 2010/2/28 Takayuki Okazaki <takayuki.okaz...@gmail.com>:


>
>
>
> > 皆様、
>
> > 白石さんのHTML5本を買い、勉強し始めました
> > HTML5初心者の岡崎です。断片的な情報はわかっていた
> > つもりでしたが、白石さんの本のおかげで全貌がかなり
> > よく理解できました。
>
> > いろいろと勉強させてください。
>
> > 岡崎
>

> > 2010年2月28日9:26 Shumpei Shiraishi <shumpei.shirai...@gmail.com>:


> >> 吉川さん
>
> >> どうも、著者の白石です。
> >> 拙著にご興味を持って頂き、ありがとうございます!
> >> 嬉しいです!
>

> >> 2010/2/28 Toru Yoshikawa <piko...@gmail.com>:

> ...
>
> もっと読む ≫

Shumpei Shiraishi

unread,
Mar 1, 2010, 10:28:13 PM3/1/10
to html5-dev...@googlegroups.com
一条様

私の著書にご興味を持っていただけていると言うことで、誠にありがとうございます!
拙著が少しはお役に立てると嬉しいです。

> 私自身のHTML5に関する興味比重は、今のところ
> セマンティックな表現>インタラクティブな要素>各種API
> ですが、書籍とネットを見つつ、各種APIにもどんどんtryしたいです。

セマンティックなマークアップについて詳しく知りたいと言うことであれば、HTML5.jpの羽田野さんの著書もおすすめです!(私の著書でも触れてはいますが、比重は高くないです)

http://www.amazon.co.jp/gp/product/4798025291

HTML5の全要素・全属性について詳細に説明が行われているほか、セマンティックなマークアップに関する指針も詳しく説明されていますよ。

2010/3/2 Miwako Ichijo <usa1...@gmail.com>:

Toru Yoshikawa

unread,
Mar 2, 2010, 8:22:42 PM3/2/10
to html5-developers-jp
吉川です。

ようやく「HTML5&API入門」 の一読が終わりました。
思わずHTML5でWebアプリを作ってみたくなりました。
(今は、趣味アプリをGAE+GWTで実装中なので手を付ける時間が!)

これから、羽田野さんの著書にも手を付けてみたいと思います。

また、無事にDevFastへの参加も決まりましたので
白石さんのセッションも楽しみにしています。

以上


On 3月2日, 午後12:28, Shumpei Shiraishi <shumpei.shirai...@gmail.com>
wrote:


> 一条様
>
> 私の著書にご興味を持っていただけていると言うことで、誠にありがとうございます!
> 拙著が少しはお役に立てると嬉しいです。
>
> > 私自身のHTML5に関する興味比重は、今のところ
> > セマンティックな表現>インタラクティブな要素>各種API
> > ですが、書籍とネットを見つつ、各種APIにもどんどんtryしたいです。
>
> セマンティックなマークアップについて詳しく知りたいと言うことであれば、HTML5.jpの羽田野さんの著書もおすすめです!(私の著書でも触れてはいますが、比重は高くないです)
>
> http://www.amazon.co.jp/gp/product/4798025291
>
> HTML5の全要素・全属性について詳細に説明が行われているほか、セマンティックなマークアップに関する指針も詳しく説明されていますよ。
>

> 2010/3/2 Miwako Ichijo <usa132...@gmail.com>:

> ...
>
> もっと読む ≫

Shumpei Shiraishi

unread,
Mar 2, 2010, 10:12:19 PM3/2/10
to html5-dev...@googlegroups.com
吉川様

どうも、白石です。
拙著をお読み頂き、誠にありがとうございます!
少しはお役に立てる内容であった事を切に願っております。

2010/3/3 Toru Yoshikawa <pik...@gmail.com>:

Toru Yoshikawa

unread,
Mar 5, 2010, 12:44:46 AM3/5/10
to html5-developers-jp
白石さん

吉川です。

大変参考にさせて頂いております。
読んでいく上でいくつが疑問点などありましたので
勝手に自己解決を試みてみます。
もし、ツッコミがあれば是非お願い致します。

あまり時間が取れなくて小出しになってしまうかもしれませんが・・


1.「10.3 クロスドキュメントメッセージ」では、windowオブジェクトに対して
メッセージを送信する必要があるため、クロスオリジンで通信可能なのは実施的には
IFrameやwindow.openを使ったものなどに限られる。


2.「第14章 Web Workers」のサンプルでは、どれもWorkerに同一オリジンの
ファイルを指定しているが、オリジンの違うファイルは可能かどうか。
下記の通り記載があるので、できない。
-----------------------------------------------------------------------------------------------------------------------------------
If the origin of the resulting absolute URL is not the same as the
origin of the entry script, then throw a SECURITY_ERR exception.
-----------------------------------------------------------------------------------------------------------------------------------

3. 異なるオリジン同士のクロスドキュメントメッセージと同様に
異なるオリジン同士のWorkerプロセス間でのクロスドキュメントメッセージは可能か。
きっとできるに違いない。
あとで試してみよう。

以上

Shumpei Shiraishi

unread,
Mar 5, 2010, 1:32:40 AM3/5/10
to html5-dev...@googlegroups.com
吉川さん

どうも、白石です。
1,2,3すべてその通りです。3は、ニーズを満たせるのは確実で、どんなやり方をするかだけが問題ですが、MessageChannelを使うとエレガントに実装できるかも知れませんね。
詳しく読んで頂けて、すごく嬉しいです。
自己解決能力もさすがですね!

2010/3/5 Toru Yoshikawa <pik...@gmail.com>:

Toru Yoshikawa

unread,
Mar 8, 2010, 1:17:27 AM3/8/10
to html5-developers-jp
吉川です。

白石さん
コメント有難う御座います!
恐縮です。まだビギナーなのでもっとぞんざいに扱ってください XD

続きになります。

4.「10.3 クロスドキュメントメッセージング」で
window.postMessageでDOMオブジェクトを送って、DOMツリーの直接操作
ではなくて、DOMオブジェクトのコピー経由での操作が可能か試してみました。
(Firefox/3.5.8で動作確認。Google Chrome 4.0.249.89はWeb Workers自体動作せず)

結果としては、以下のようになりました。
1.DOMオブジェクトを送ると、オブジェクトの中身がすべて落ちる
2.関数+プロパティ付きの新規オブジェクトを送ると、関数のみ落ちる
3.JSON形式のデータは問題なし

「HTML5 Web Messaging Editor's Draft 4 March 2010」では渡せるデータはanyとしか
書いてないようです。


以下サンプル

//main
//--------------------
//ワーカー作成
var worker = new Worker("worker.js");
worker.onmessage = function(event) {

//ワーカーのメッセージを表示
var msg = typeof event.data + "\n";
for ( element in event.data ) { msg += element + " = " +
event.data[element] + "\n"; }
alert(msg);
};


//DOMオブジェクト(空オブジェクトが返る)
var obj1 = document.createTextNode("aaa");
worker.postMessage(obj1);

//新規オブジェクト(プロパティのみ返る)
var obj2 = new Object();
obj2.aaa = function(){};
obj2.bbb = "bbb";
worker.postMessage(obj2);

//JSON(問題なし)
var obj3 = { "aaa": "aaa", "bbb": "bbb" };
worker.postMessage(obj3);


//worker.js
//--------------------
onmessage = function(event) {
postMessage(event.data);
};


On 3月5日, 午後3:32, Shumpei Shiraishi <shumpei.shirai...@gmail.com>
wrote:


> 吉川さん
>
> どうも、白石です。
> 1,2,3すべてその通りです。3は、ニーズを満たせるのは確実で、どんなやり方をするかだけが問題ですが、MessageChannelを使うとエレガントに実装できるかも知れませんね。
> 詳しく読んで頂けて、すごく嬉しいです。
> 自己解決能力もさすがですね!
>

> 2010/3/5 Toru Yoshikawa <piko...@gmail.com>:

Shumpei Shiraishi

unread,
Mar 8, 2010, 2:30:35 AM3/8/10
to html5-dev...@googlegroups.com
白石です。

今ちょっと急いでるんで、あんまりきちんとお答えできないのが恐縮ですが・・・
簡単に。

実は、HTML5のWeb WorkersやCross Document Messagingでは、「structured
clone」と言うアルゴリズムでオブジェクトをコピーしたものがメッセージとして利用される事になっています。

http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html#safe-passing-of-structured-data

上のアルゴリズムを見ると分かるのですが、DOMや関数はコピーされません。
書籍では、細かすぎるかと思って上の情報は書きませんでした。書いた方が良かったかなあ。

ちなみに、前にstructured cloneを実装してみた事があります。
不完全なものですが、参考までにどうぞ。

http://d.hatena.ne.jp/Syunpei/20100308


2010/3/8 Toru Yoshikawa <pik...@gmail.com>:

Toru Yoshikawa

unread,
Mar 8, 2010, 3:19:22 AM3/8/10
to html5-developers-jp
吉川です。

白石さん

お忙しいところ、わざわざすみません。
お知らせ頂いた内容で充分です!

structured cloneについて良く分かりました。
canvasのImageDataは(仕様上は)問題なく渡せるのですね。
それ以外の部分についても、ざっと読んで見ます。

有難う御座いました。

On 3月8日, 午後4:30, Shumpei Shiraishi <shumpei.shirai...@gmail.com>
wrote:


> 白石です。
>
> 今ちょっと急いでるんで、あんまりきちんとお答えできないのが恐縮ですが・・・
> 簡単に。
>
> 実は、HTML5のWeb WorkersやCross Document Messagingでは、「structured
> clone」と言うアルゴリズムでオブジェクトをコピーしたものがメッセージとして利用される事になっています。
>

> http://www.whatwg.org/specs/web-apps/current-work/multipage/urls.html...


>
> 上のアルゴリズムを見ると分かるのですが、DOMや関数はコピーされません。
> 書籍では、細かすぎるかと思って上の情報は書きませんでした。書いた方が良かったかなあ。
>
> ちなみに、前にstructured cloneを実装してみた事があります。
> 不完全なものですが、参考までにどうぞ。
>
> http://d.hatena.ne.jp/Syunpei/20100308
>

> 2010/3/8 Toru Yoshikawa <piko...@gmail.com>:

Reply all
Reply to author
Forward
0 new messages