dynamic language による silverlight2 アプリケーション開発

30
All Rights Reserved,Copyright © 株式会社コスモルート 2008 八木照朗 / id:terurou 株式会社コスモルート / FLOSS桜山 / DeLLa.JS / Python東海 Dynamic Language (Lightweight Language)による Silverlight 2 アプリケーション開発

Upload: terurou

Post on 28-May-2015

1.411 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 2008

八木照朗 / id:terurou

株式会社コスモルート / FLOSS桜山 / DeLLa.JS / Python東海

Dynamic Language

(Lightweight Language)による

Silverlight 2 アプリケーション開発

Page 2: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20081

自己紹介 /

現在やっているお仕事

Page 3: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20082

自己紹介/現在やっているお仕事

「基幹システムのRIA化」

なんて事をやってます。

# ERP(SAP, Oracle EBS...)

Page 4: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20083

自己紹介/現在やっているお仕事

• 基幹システムのフロントエンドをRIA化

• Web/AP/DBサーバをクラウド環境に構築

• 基幹システムの大量データをクラウド環境へ

効率的に転送

• etc ...

Page 5: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20084

自己紹介/現在やっているお仕事

現在開発中のゕプリ

• 生産計画スケジューラをRIA化(SaaS化も検討中)

• Silverlight 2 + Dynamic Language

(IronPython)を採用

Page 6: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20085

自己紹介/現在やっているお仕事

ご興味がある方は是非一言お声を…

Page 7: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20086

で、なんで Silverlight 2 +

Dynamic Language なの?

Page 8: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20087

まず、なんで Silverlight 2 なの?

で、なんで Silverlight 2 + Dynamic Language なの?

Page 9: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20088

で、なんで Silverlight 2 + Dynamic Language なの?

「基幹システムのRIA化」の急所は

「大量トランザクションへの対応」

となってくるのだが…

Page 10: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 20089

で、なんで Silverlight 2 + Dynamic Language なの?

• Flash では大量オブジェクトの描画

パフォーマンスに難あり

• 対して Silverlight はレンダリング

パフォーマンスが非常に高い

Page 11: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200810

で、なんで Silverlight 2 + Dynamic Language なの?

Silverlight / Flash ベンチマーク対決

四角形/文字列オブジェクトを

N回 描画するだけのプログラムで比較

Page 12: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200811

で、なんで Silverlight 2 + Dynamic Language なの?

ベンチマーク実施マシン

• Windows XP SP3

• Pentium M 1.6G

• 1G Memory

Page 13: Dynamic Language による Silverlight2 アプリケーション開発

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秒経過すると描画が途中で打ち切られてしまう

ベンチマーク結果

Page 14: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200813

で、なんで Silverlight 2 + Dynamic Language なの?

• Silverlight は Flash よりも高速!

• Flash はオブジェクト数が増えると

極端に描画が遅くなる…

Page 15: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200814

で、なんで Silverlight 2 + Dynamic Language なの?

まぁ、そこはいいけど、なんで

Dynamic Language なの?

Page 16: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200815

で、なんで Silverlight 2 + Dynamic Language なの?

• 私の開発スタルにマッチしている

• 今までのやり方を変える必要が

なかった

Page 17: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200816

で、なんで Silverlight 2 + Dynamic Language なの?

一般的な .NET技術者の開発スタル

(C#,VBで開発する場合)

1. Visual Studioでコーデゖング

2. Visual StudioでF5押下

(コンパル → デバッグ起動)

3. ブラウザで動作確認

Page 18: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200817

で、なんで Silverlight 2 + Dynamic Language なの?

これは私が今までやってきた

開発スタルとはマッチしていない

Page 19: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200818

で、なんで Silverlight 2 + Dynamic Language なの?

まず、デュゕルデゖスプレが

利用できる環境である事が

前提となるのだが…

Page 20: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200819

で、なんで Silverlight 2 + Dynamic Language なの?

1. メンデゖスプレのテキストエデゖタで

コーデゖング

2. テキストエデゖタでのフゔル保存をトリガーに

ブラウザがオートリロードされる

3. サブデゖスプレのブラウザで動作確認

– 画面を確認したい時だけ視線を向ける

– そうでない時もなんとなく視界に入る

Page 21: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200820

で、なんで Silverlight 2 + Dynamic Language なの?

事前コンパルが不要な

Dynamic Language でなければ

実現できないような開発スタル

Page 22: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200821

で、なんで Silverlight 2 + Dynamic Language なの?

もちろん、無理をしてまで

Dynamic Language で開発する

必要はない

Page 23: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200822

で、なんで Silverlight 2 + Dynamic Language なの?

従来通り Visual Studio で開発する

スタルでも良いし、

そうではない開発スタルでも良い

Page 24: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200823

で、なんで Silverlight 2 + Dynamic Language なの?

開発者個々の好みに合わせて、

開発スタル自体を柔軟に

選択できる

Page 25: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200824

で、なんで Silverlight 2 + Dynamic Language なの?

Web系技術者(≠.NET技術者)への

バリゕを取り除く

Page 26: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200825

で、なんで Silverlight 2 + Dynamic Language なの?

私のような 異端者 技術者にとって

夢のようなゕーキテクチャ!

Page 27: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200826

まとめ

Page 28: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200827

まとめ

• Silverlight は大量オブジェクトの

描画に強い

• 「Dynamic Language も選択可」で

開発スタル自体を柔軟に

Page 29: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200828

まとめ

今後は基幹系もクラウド&SaaSとなる

はずで、RIAプラットフォームとして

Silverlight は期待できる

Page 30: Dynamic Language による Silverlight2 アプリケーション開発

All Rights Reserved,Copyright © 株式会社コスモルート 200829

ご清聴ありがとうございました