coding, photo, plant and demo

*おっと

tech 20090826 000549
ミキタ先生のところが更新されてた。
http://steps.dodgson.org/?date=20090822

しかもWebKitのCoreAnimationの部分。
素晴らしい解説ありがたい。
そして先生が連載を執筆しているWEB+DBを皆さん買いましょう。

特に


がオススメです。知らずに何気なくページ開いたら、
総天然色のページでミキタ先生がダンコガイと対談してて、
お茶吹きました。



しかし結局この実装はどうするつもりなのだろう。
platform毎にCAもどきを実装するのはアホらしいから、
共通でCAぽいものを作ってそれをo3d(or 3D Canvas)相当の上に載せることになるのかな。

ただ、そのためにはo3dなり3d canvasをWebKitに入れなきゃいけない。
chromiumは既にo3dを入れてるから、
http://src.chromium.org/viewvc/chrome/trunk/src/o3d
そこと繋げば良さそうだけど、本家にcommit backする際にCAベースのAppleの実装と
ぶつかるかもしれないから、政治的配慮が必要かもしれない。



にしてもこういった大規模プロジェクトを見てて感心するのは
ビルドシステムが良く出来ているということ。
開発現場ではこれを如何にうまく作るかで効率が物凄く変わってくる。

例えばGoogleのAndroidのビルドシステムはこれ。
http://android.git.kernel.org/?p=platform/build.git;a=tree;h=refs/heads/master;hb=master
説明は
http://android.git.kernel.org/?p=platform/build.git;a=blob_plain;f=core/build-system.html;hb=master


ChromeだとgypっていうMakefileやら.vcprojやら.xcodeprojを自動生成してくれる仕組みが導入されている。
http://code.google.com/p/gyp/wiki/GypLanguageSpecification
クロスプラットフォームで、ファイルの追加や削除をすると大概ハマるわけですが、
これをGoogleは自動化してしまっているわけだ。
一見地味そうだけど、これが如何に大事かは多人数でクロスプラットフォーム開発をすれば
嫌というほど分かる。

クロスプラットフォームとなれば、自動ビルド自動テストも必須。
WebKitだとTiger,Leopard,SnowLeopard,Windows,Linux(GTK),Linux(Qt)あたりが回ってます。arm系は回さなくて良いのかな…
http://build.webkit.org/waterfall

と、いつも通り取りとめがないけど、一昔前ならそれなりの企業に入らないと見えなかったような開発の様子が
色々と垣間見えるとは良い時代になったものだと実感できますね。

ああ、これで税金さえもっと安ければ天国なのに…(今日、給料日だった)

09.08.27 11:09 morita
chrome はレンダリングプロセスとホストウィンドウのプロセスがわかれているので、ふつうに webkit に core animation 的なものを入れればよい, というわけではないぽいです. 大変そう.
09.08.28 01:55 mtm
コメありがとうございますー

レンダリングとホストでプロセスが分かれていても結局境界は現状はビットマップでやりとりしてるんだろうから(憶測)、
core animation的なものが入ってもそんなには変わらないのでは?
と思ったのですがそうでもないですかねえ。

にしても読み直すと、そもそもcore animationがビットマップ+ツリーならo3dとか全然関係ないな…
09.08.28 11:35 morita
たしかにホスト側で core animation ぽくすればよさそうですね。そういえば, 最近は canvas 3d もチェックインされたりしてます。canvas でグリグリする時代は近いのかも.
09.08.29 22:11 mtm
レンダリング側でcore animationまでやってしまってもokな気がしますがどうでしょうか。ホスト側に持ってくとplatform間の隔たりが広がってしまってwebkitがどんどんカオスになってしまうような気が。気のせいかもしれませんが。

canvas 3dも入ってるんですか!凄いなあ。馬力ありすぎ。
コメントする