dynamic language による silverlight2 アプリケーション開発
TRANSCRIPT
All Rights Reserved,Copyright © 株式会社コスモルート 2008
八木照朗 / id:terurou
株式会社コスモルート / FLOSS桜山 / DeLLa.JS / Python東海
Dynamic Language
(Lightweight Language)による
Silverlight 2 アプリケーション開発
All Rights Reserved,Copyright © 株式会社コスモルート 20081
自己紹介 /
現在やっているお仕事
All Rights Reserved,Copyright © 株式会社コスモルート 20082
自己紹介/現在やっているお仕事
「基幹システムのRIA化」
なんて事をやってます。
# ERP(SAP, Oracle EBS...)
All Rights Reserved,Copyright © 株式会社コスモルート 20083
自己紹介/現在やっているお仕事
• 基幹システムのフロントエンドをRIA化
• Web/AP/DBサーバをクラウド環境に構築
• 基幹システムの大量データをクラウド環境へ
効率的に転送
• etc ...
All Rights Reserved,Copyright © 株式会社コスモルート 20084
自己紹介/現在やっているお仕事
現在開発中のゕプリ
• 生産計画スケジューラをRIA化(SaaS化も検討中)
• Silverlight 2 + Dynamic Language
(IronPython)を採用
All Rights Reserved,Copyright © 株式会社コスモルート 20085
自己紹介/現在やっているお仕事
ご興味がある方は是非一言お声を…
All Rights Reserved,Copyright © 株式会社コスモルート 20086
で、なんで Silverlight 2 +
Dynamic Language なの?
All Rights Reserved,Copyright © 株式会社コスモルート 20087
まず、なんで Silverlight 2 なの?
で、なんで Silverlight 2 + Dynamic Language なの?
All Rights Reserved,Copyright © 株式会社コスモルート 20088
で、なんで Silverlight 2 + Dynamic Language なの?
「基幹システムのRIA化」の急所は
「大量トランザクションへの対応」
となってくるのだが…
All Rights Reserved,Copyright © 株式会社コスモルート 20089
で、なんで Silverlight 2 + Dynamic Language なの?
• Flash では大量オブジェクトの描画
パフォーマンスに難あり
• 対して Silverlight はレンダリング
パフォーマンスが非常に高い
All Rights Reserved,Copyright © 株式会社コスモルート 200810
で、なんで Silverlight 2 + Dynamic Language なの?
Silverlight / Flash ベンチマーク対決
四角形/文字列オブジェクトを
N回 描画するだけのプログラムで比較
All Rights Reserved,Copyright © 株式会社コスモルート 200811
で、なんで Silverlight 2 + Dynamic Language なの?
ベンチマーク実施マシン
• Windows XP SP3
• Pentium M 1.6G
• 1G Memory
All Rights Reserved,Copyright © 株式会社コスモルート 200812
で、なんで Silverlight 2 + Dynamic Language なの?
Silverlight 2 Flash Player 10 速度比
ループ数1000回
四角形 46 [msec] 26 [msec] 1 : 0.50
文字列 46 [msec] 104 [msec] 1 : 2.26
両方 84 [msec] 125 [msec] 1 : 1.49
ループ数1万回
四角形 343 [msec] 1,297 [msec] 1 : 3.39
文字列 496 [msec] 2,109 [msec] 1 : 4.23
両方 937 [msec] 17,752 [msec] 1 : 18.95
ループ数3万回
四角形 1,218 [msec] 51,145 [msec] 1 : 41.99
文字列 1,453 [msec] 54,168 [msec] 1 : 37.28
両方 3,011 [msec] 計測不可(*) 比較不能
(*) 60秒経過すると描画が途中で打ち切られてしまう
ベンチマーク結果
All Rights Reserved,Copyright © 株式会社コスモルート 200813
で、なんで Silverlight 2 + Dynamic Language なの?
• Silverlight は Flash よりも高速!
• Flash はオブジェクト数が増えると
極端に描画が遅くなる…
All Rights Reserved,Copyright © 株式会社コスモルート 200814
で、なんで Silverlight 2 + Dynamic Language なの?
まぁ、そこはいいけど、なんで
Dynamic Language なの?
All Rights Reserved,Copyright © 株式会社コスモルート 200815
で、なんで Silverlight 2 + Dynamic Language なの?
• 私の開発スタルにマッチしている
• 今までのやり方を変える必要が
なかった
All Rights Reserved,Copyright © 株式会社コスモルート 200816
で、なんで Silverlight 2 + Dynamic Language なの?
一般的な .NET技術者の開発スタル
(C#,VBで開発する場合)
1. Visual Studioでコーデゖング
2. Visual StudioでF5押下
(コンパル → デバッグ起動)
3. ブラウザで動作確認
All Rights Reserved,Copyright © 株式会社コスモルート 200817
で、なんで Silverlight 2 + Dynamic Language なの?
これは私が今までやってきた
開発スタルとはマッチしていない
All Rights Reserved,Copyright © 株式会社コスモルート 200818
で、なんで Silverlight 2 + Dynamic Language なの?
まず、デュゕルデゖスプレが
利用できる環境である事が
前提となるのだが…
All Rights Reserved,Copyright © 株式会社コスモルート 200819
で、なんで Silverlight 2 + Dynamic Language なの?
1. メンデゖスプレのテキストエデゖタで
コーデゖング
2. テキストエデゖタでのフゔル保存をトリガーに
ブラウザがオートリロードされる
3. サブデゖスプレのブラウザで動作確認
– 画面を確認したい時だけ視線を向ける
– そうでない時もなんとなく視界に入る
All Rights Reserved,Copyright © 株式会社コスモルート 200820
で、なんで Silverlight 2 + Dynamic Language なの?
事前コンパルが不要な
Dynamic Language でなければ
実現できないような開発スタル
All Rights Reserved,Copyright © 株式会社コスモルート 200821
で、なんで Silverlight 2 + Dynamic Language なの?
もちろん、無理をしてまで
Dynamic Language で開発する
必要はない
All Rights Reserved,Copyright © 株式会社コスモルート 200822
で、なんで Silverlight 2 + Dynamic Language なの?
従来通り Visual Studio で開発する
スタルでも良いし、
そうではない開発スタルでも良い
All Rights Reserved,Copyright © 株式会社コスモルート 200823
で、なんで Silverlight 2 + Dynamic Language なの?
開発者個々の好みに合わせて、
開発スタル自体を柔軟に
選択できる
All Rights Reserved,Copyright © 株式会社コスモルート 200824
で、なんで Silverlight 2 + Dynamic Language なの?
Web系技術者(≠.NET技術者)への
バリゕを取り除く
All Rights Reserved,Copyright © 株式会社コスモルート 200825
で、なんで Silverlight 2 + Dynamic Language なの?
私のような 異端者 技術者にとって
夢のようなゕーキテクチャ!
All Rights Reserved,Copyright © 株式会社コスモルート 200826
まとめ
All Rights Reserved,Copyright © 株式会社コスモルート 200827
まとめ
• Silverlight は大量オブジェクトの
描画に強い
• 「Dynamic Language も選択可」で
開発スタル自体を柔軟に
All Rights Reserved,Copyright © 株式会社コスモルート 200828
まとめ
今後は基幹系もクラウド&SaaSとなる
はずで、RIAプラットフォームとして
Silverlight は期待できる
All Rights Reserved,Copyright © 株式会社コスモルート 200829
ご清聴ありがとうございました