Enviar pesquisa
Carregar
IronRuby on Silverlight っておいしいの?
•
0 gostou
•
986 visualizações
T
terurou
Seguir
IronRuby + Silverlightの組み合わせについての私の正直な意見をまとめました。途中からDLRの話になってる気もします。
Leia menos
Leia mais
Tecnologia
Denunciar
Compartilhar
Denunciar
Compartilhar
1 de 44
Baixar agora
Baixar para ler offline
Recomendados
モテる! Node.js でつくる twitter ボット制作
モテる! Node.js でつくる twitter ボット制作
hecomi
20141115グンマーのヤボー
20141115グンマーのヤボー
gurezo
Listen¬ifyとbwpの間違った使い方
Listen¬ifyとbwpの間違った使い方
Toshi Harada
Clrh47zecl
Clrh47zecl
guest5b854d
「Gruff」について
「Gruff」について
Eito Katagiri
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
terurou
蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?
Hayato Tominaga
Title
Title
stucon
Recomendados
モテる! Node.js でつくる twitter ボット制作
モテる! Node.js でつくる twitter ボット制作
hecomi
20141115グンマーのヤボー
20141115グンマーのヤボー
gurezo
Listen¬ifyとbwpの間違った使い方
Listen¬ifyとbwpの間違った使い方
Toshi Harada
Clrh47zecl
Clrh47zecl
guest5b854d
「Gruff」について
「Gruff」について
Eito Katagiri
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
terurou
蜘蛛の巣から抜け出すには?
蜘蛛の巣から抜け出すには?
Hayato Tominaga
Title
Title
stucon
20141115グンマーのヤボー
20141115グンマーのヤボー
Akihiko Kigure
Trailheadでサクサク!新人研修
Trailheadでサクサク!新人研修
Satoru Ishikawa
Java script testing framework for around html5 studies-
Java script testing framework for around html5 studies-
Jun Saeki
Gitのすすめ
Gitのすすめ
Yuichi Yoshida
tnct.Seminar9.03#1
tnct.Seminar9.03#1
Daichi Onodera
20130714 eucalyptus habuka036
20130714 eucalyptus habuka036
Osamu Habuka
Llでゆるふわプログラミングのすすめ
Llでゆるふわプログラミングのすすめ
mizcki
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
Satoru Abe
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
Masahito Zembutsu
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介
K Moneto
Conversation as a Platform 大全
Conversation as a Platform 大全
Daiyu Hatakeyama
What is ahiruyaki?
What is ahiruyaki?
ahiru3
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
yo-to
OLにもわかるRDF(トリプル編)
OLにもわかるRDF(トリプル編)
Hitomi Yamagishi
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
Dodai projectの紹介
Dodai projectの紹介
Osamu Habuka
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
LDD13is 先行告知
LDD13is 先行告知
Panda Yamaki
ネットワークトラブルシューティング ~自端末編~
ネットワークトラブルシューティング ~自端末編~
creaism
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話
terurou
自社サービスでDurable Functionsを採用した話
自社サービスでDurable Functionsを採用した話
terurou
Mais conteúdo relacionado
Semelhante a IronRuby on Silverlight っておいしいの?
20141115グンマーのヤボー
20141115グンマーのヤボー
Akihiko Kigure
Trailheadでサクサク!新人研修
Trailheadでサクサク!新人研修
Satoru Ishikawa
Java script testing framework for around html5 studies-
Java script testing framework for around html5 studies-
Jun Saeki
Gitのすすめ
Gitのすすめ
Yuichi Yoshida
tnct.Seminar9.03#1
tnct.Seminar9.03#1
Daichi Onodera
20130714 eucalyptus habuka036
20130714 eucalyptus habuka036
Osamu Habuka
Llでゆるふわプログラミングのすすめ
Llでゆるふわプログラミングのすすめ
mizcki
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
Satoru Abe
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
Masahito Zembutsu
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介
K Moneto
Conversation as a Platform 大全
Conversation as a Platform 大全
Daiyu Hatakeyama
What is ahiruyaki?
What is ahiruyaki?
ahiru3
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
yo-to
OLにもわかるRDF(トリプル編)
OLにもわかるRDF(トリプル編)
Hitomi Yamagishi
とある Perl Monger の働き方
とある Perl Monger の働き方
Yusuke Wada
Dodai projectの紹介
Dodai projectの紹介
Osamu Habuka
Nodeにしましょう
Nodeにしましょう
Yuzo Hebishima
LDD13is 先行告知
LDD13is 先行告知
Panda Yamaki
ネットワークトラブルシューティング ~自端末編~
ネットワークトラブルシューティング ~自端末編~
creaism
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Hirokazu Kutsu
Semelhante a IronRuby on Silverlight っておいしいの?
(20)
20141115グンマーのヤボー
20141115グンマーのヤボー
Trailheadでサクサク!新人研修
Trailheadでサクサク!新人研修
Java script testing framework for around html5 studies-
Java script testing framework for around html5 studies-
Gitのすすめ
Gitのすすめ
tnct.Seminar9.03#1
tnct.Seminar9.03#1
20130714 eucalyptus habuka036
20130714 eucalyptus habuka036
Llでゆるふわプログラミングのすすめ
Llでゆるふわプログラミングのすすめ
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
202012 Volt開発をiPhoneで_tektech volt_develop_iphone
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
私がMuninに恋する理由 - インフラエンジニアでも監視がしたい! -
音声合成ライブラリ「AquesTalk」の紹介
音声合成ライブラリ「AquesTalk」の紹介
Conversation as a Platform 大全
Conversation as a Platform 大全
What is ahiruyaki?
What is ahiruyaki?
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
JavaScript初心者が紹介するデバイスやアプリで楽しむIoT: #jsfes
OLにもわかるRDF(トリプル編)
OLにもわかるRDF(トリプル編)
とある Perl Monger の働き方
とある Perl Monger の働き方
Dodai projectの紹介
Dodai projectの紹介
Nodeにしましょう
Nodeにしましょう
LDD13is 先行告知
LDD13is 先行告知
ネットワークトラブルシューティング ~自端末編~
ネットワークトラブルシューティング ~自端末編~
「自動化...か、かっこいいタル」(憧れ)から始める自動化
「自動化...か、かっこいいタル」(憧れ)から始める自動化
Mais de terurou
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話
terurou
自社サービスでDurable Functionsを採用した話
自社サービスでDurable Functionsを採用した話
terurou
Computation Expressions for Haxe
Computation Expressions for Haxe
terurou
デンキヤギの採用の考え方
デンキヤギの採用の考え方
terurou
Vue.jsをhaxeで
Vue.jsをhaxeで
terurou
MQTTとAMQPと.NET
MQTTとAMQPと.NET
terurou
altJSの選び方
altJSの選び方
terurou
DataGridを自前実装する話
DataGridを自前実装する話
terurou
動的なILの生成と編集
動的なILの生成と編集
terurou
FIRST STEP to Haxe/JavaScript
FIRST STEP to Haxe/JavaScript
terurou
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
terurou
大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou
Metro Style AppsでMSILver.2012/06/09
Metro Style AppsでMSILver.2012/06/09
terurou
Metro Style AppsでMSIL
Metro Style AppsでMSIL
terurou
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
CommonJSの話
CommonJSの話
terurou
Scala×silverlight
Scala×silverlight
terurou
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
terurou
Mais de terurou
(20)
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話
自社サービスでDurable Functionsを採用した話
自社サービスでDurable Functionsを採用した話
Computation Expressions for Haxe
Computation Expressions for Haxe
デンキヤギの採用の考え方
デンキヤギの採用の考え方
Vue.jsをhaxeで
Vue.jsをhaxeで
MQTTとAMQPと.NET
MQTTとAMQPと.NET
altJSの選び方
altJSの選び方
DataGridを自前実装する話
DataGridを自前実装する話
動的なILの生成と編集
動的なILの生成と編集
FIRST STEP to Haxe/JavaScript
FIRST STEP to Haxe/JavaScript
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
大規模なJavaScript開発の話
大規模なJavaScript開発の話
Metro Style AppsでMSILver.2012/06/09
Metro Style AppsでMSILver.2012/06/09
Metro Style AppsでMSIL
Metro Style AppsでMSIL
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
CommonJSの話
CommonJSの話
Scala×silverlight
Scala×silverlight
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
Último
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
Sadaomi Nishi
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
atsushi061452
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
Ayachika Kitazaki
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
瑛一 西口
情報を表現するときのポイント
情報を表現するときのポイント
onozaty
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
iPride Co., Ltd.
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
iwashiira2ctf
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
Akihiro Kadohata
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
Toru Tamaki
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
Satoshi Makita
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
kokinagano2
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
keikoitakurag
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperleger Tokyo Meetup
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
Toru Tamaki
Último
(14)
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
部内勉強会(IT用語ざっくり学習) 実施日:2024年5月17日(金) 対象者:営業部社員
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
研究紹介スライド: オフライン強化学習に基づくロボティックスワームの制御器の設計
20240523_IoTLT_vol111_kitazaki_v1___.pdf
20240523_IoTLT_vol111_kitazaki_v1___.pdf
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
5/22 第23回 Customer系エンジニア座談会のスライド 公開用 西口瑛一
情報を表現するときのポイント
情報を表現するときのポイント
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その1) 2024/05/17の勉強会で発表されたものです。
Intranet Development v1.0 (TSG LIVE! 12 LT )
Intranet Development v1.0 (TSG LIVE! 12 LT )
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
クラウド時代におけるSREとUPWARDの取組ーUPWARD株式会社 CTO門畑
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
論文紹介:ViTPose: Simple Vision Transformer Baselines for Human Pose Estimation
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
ロボットマニピュレーションの作業・動作計画 / rosjp_planning_for_robotic_manipulation_20240521
Keywordmap overview material/CINC.co.ltd
Keywordmap overview material/CINC.co.ltd
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Amazon Cognitoで実装するパスキー (Security-JAWS【第33回】 勉強会)
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
Hyperledger Fabricコミュニティ活動体験& Hyperledger Fabric最新状況ご紹介
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
論文紹介:Deep Occlusion-Aware Instance Segmentation With Overlapping BiLayers
IronRuby on Silverlight っておいしいの?
1.
I ronRuby on
Silverlight っておいしいの? ⼋⽊照朗 / terurou 株式会社コスモルート DSTokai / FLOSS桜⼭ / DeLLa.JS / Python東海
2.
はじめに。
3.
資料作りに本気を出しすぎた。
だいぶ削ったが・・・。 ,. -‐'''''""¨¨¨ヽ (.___,,,... -ァァフ| 本題にはいる前に⾔っておくッ! |i i| }! }} //| |l、{ j} /,,ィ//| 『おれはLTの資料を作っていたと思ったら i|:!ヾ、_ノ/ u {:}//ヘ いつのまにか30分は話せる資料ができていた』 |リ u' } ,ノ _,!V,ハ | /´fト、_{ル{,ィ'eラ , タ人 な… 何を⾔ってるのか わからねーと思うが /' ヾ|宀| {´,)⌒`/ |<ヽトiゝ おれも何をしたのかわからなかった ,゙ / )ヽ iLレ u' | | ヾlトハ〉 |/_/ ハ !ニ⊇ '/:} V:::::ヽ 頭がどうにかなりそうだった… // 二二二7'T'' /u' __ /:::::::/`ヽ /'´r -―一ァ‐゙T´ '"´ /::::/-‐ \ ⾼橋メソッドとか「続きはWebで」だとか / // 广¨´ /' /:::::/´ ̄`ヽ ⌒ヽ そんなチャチなもんじゃあ 断じてねえ ノ ' / ノ:::::`ー-、___/:::::// ヽ } _/`丶 /::::::::::::::::::::::::::  ̄`ー-{:::... イ もっと恐ろしいものの⽚鱗を味わったぜ…
4.
では、⾃⼰紹介します。
5.
お仕事 � 株式会社コスモルート勤務のRIA屋。 �
JavaScript, Silverlightが得意。 � 研究開発要員(社内ニート?) � だったはずが、現在はSilverlight案件で 東京に⾶ばされている。
6.
個⼈的な活動 � DSTokaiっていう、東海地⽅の メタコミュニティの管理⼈やってます。 �
いまいち登録⼈数が増えてきてないので 登録お願いします><
7.
個⼈的な活動(半分仕事とも) � Microsoft Tech
Fielders Interview #23 � IronPython + Silverlightで業務アプリ � PHP逆引きレシピ(共著) � おかげさまで増刷!
8.
本題に⼊るまえに ちょっと予習しましょう。
9.
Silverlight?
簡単に⾔えば、Microsoft版のFlash。
10.
Silverlight? � Flashよりもレンダリングが速い。 � .NET
FrameworkのサブセットAPIが ⽤意されている。Threadも使⽤できる。 � クロスプラットフォームだけど、実際は Windows XP以降+Intel Mac のみ、 Opera以外のモダンブラウザで動作する。
11.
I ronRuby?
.NET Framework上で動作するRuby。 Microsoftが作ってます。
12.
I ronRuby? � 2009/10時点の最新バージョンは
0.9.1 � まだ標準ライブラリが完動しない。 � Silverlight上での動作もサポート。 � DLR(Dynamic Language Runtime)と いうステキな機構を利⽤している。
13.
DLR(Dynamic Language Runtime)?
.NET Framework上で動作する動的⾔語 (オレオレ⾔語)を作るための共通基盤。
14.
DLR(Dynamic Language Runtime)? �
コンパイラフレームワークや対話シェル などの機能を提供。 � IronRubyの他にIronPython, IronScheme などがDLRを利⽤している。 � Silverlight上の動作もDLRのなかの⼈が よきに計らってくれる。
15.
予習ができたので やっと本題に⼊れます。
16.
時間もないので結論から。 IronRuby on Silverlightってどうなのよ?
17.
正直、微妙。
18.
なんで?
19.
微妙な理由(1) IronRubyが⾃体こなれてない。 まだ仕事で使えるレベルではない。
20.
微妙な理由(2) Silverlight配布パッケージ(.xap)の サイズが⾮常に⼤きくなる。
例)Hello Worldのファイルサイズ � C#だと50KBぐらい � IronRubyだと1MB越え
21.
.xapファイルが肥⼤化する原因は パッケージ内にIronRubyのエンジンを 同梱しているため。
22.
これは解決策がありそうなんだけど、 まだ調査していない…。
23.
微妙な理由(3) IronRuby(DLR⾔語)からはDataBinding することができない。けっこう痛い。 ※がんばればできなくもないが…(後述)
24.
DataBindingとはViewとModelを 連携させるための.NET Frameworkが ⽤意している機能のひとつ。
25.
DataBindingでできること。 � Modelのプロパティの値が変わると ⾃動でその値がViewに反映される。 �
Viewで⼊⼒した値が⾃動でModelに 反映される。 � 要はView-Model間のGet/Setを ⾃動でやってくれるもの。
26.
DataBindingのコード例。 かなり省略してます。 � View定義 <TextBox x:Name="NameTextBox"
Value="{Binding Name}" /> � Viewに結合(バインディング) NameTextBox.DataContext = person;
27.
DataBindingの内部実装はリフレクションで オブジェクトを操作しているだけ。 ※厳密にはリフレクションじゃないんだけど イメージとして。
28.
リフレクションなので.NET Framework上の 静的型(クラス)が必要。
29.
ここで問題となるのが、 IronRuby上のオブジェクトと .NET Framework上のオブジェクトが 等価ではないこと。
30.
IronRuby上で、Nameというプロパティを 持ったPersonクラスを定義したとしても、 .NET FrameworkからはIRubyObjectという ラップされたオブジェクトにしか⾒えない。
31.
なので、IronRuby上のオブジェクトは そのままBindingすることができない。
32.
別にDataBinding使わなくても 単純に代⼊できればプログラムは 動くんですが…。代⼊さえできれば…。
33.
Silverlightのけっこうな数のコントロールは DataBindingが必須。 � DataGridの場合、セルを直接操作する ことができない。 �
バインドしているModelの⽅を操作する 必要がある。
34.
どうしてもIronRubyからDataGridなどを 使いたい場合 � C#などでバインドするクラスを⽤意し、 それをIronRubyから参照する �
実⾏時に動的に.NET Frameworkの クラスを⽣成する。 � MSIL(.NET マシンコード)の知識が 必要になる。
35.
めんどくさいですね。
36.
散々DISったけど、 いいところもありますよ。
37.
いいところ(1)
コンパイルしなくてもいい。
38.
C#なんかで開発する場合だと、 細かい修正をして動作確認を繰り返す場合、 「F5押す→コンパイル待ち」となるので そこらへんはムカついてくる。
39.
以上。
40.
今⽇のまとめ。
41.
DLR⾔語でSilverlightをやりたいなら、 素直にI ronPythonにしとけ。
42.
特別な感情(愛など)がないなら、 C#で開発したほうが無難ですよ? はまらないし。
43.
I love DLR.
44.
ご清聴ありがとうございました。
Baixar agora