Enviar búsqueda
Cargar
Metro Style AppsでMSILver.2012/06/09
•
2 recomendaciones
•
789 vistas
T
terurou
Seguir
Salud y medicina
Denunciar
Compartir
Denunciar
Compartir
1 de 31
Descargar ahora
Descargar para leer sin conexión
Recomendados
Metro Style AppsでMSIL
Metro Style AppsでMSIL
terurou
Scala×silverlight
Scala×silverlight
terurou
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LT
terurou
Önemli Olan, Nelere Değer Verdiğin ve Neleri Önemsediğindir..
Önemli Olan, Nelere Değer Verdiğin ve Neleri Önemsediğindir..
Kref.net
Silverlight 4 のはなし
Silverlight 4 のはなし
terurou
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
terurou
FIRST STEP to Haxe/JavaScript
FIRST STEP to Haxe/JavaScript
terurou
Recomendados
Metro Style AppsでMSIL
Metro Style AppsでMSIL
terurou
Scala×silverlight
Scala×silverlight
terurou
Tech Fielders 2009/9/18 LT
Tech Fielders 2009/9/18 LT
terurou
Önemli Olan, Nelere Değer Verdiğin ve Neleri Önemsediğindir..
Önemli Olan, Nelere Değer Verdiğin ve Neleri Önemsediğindir..
Kref.net
Silverlight 4 のはなし
Silverlight 4 のはなし
terurou
Yet Another DLR for Silverlightの試作
Yet Another DLR for Silverlightの試作
terurou
Iron Python / Iron Ruby で .NET Programming
Iron Python / Iron Ruby で .NET Programming
terurou
FIRST STEP to Haxe/JavaScript
FIRST STEP to Haxe/JavaScript
terurou
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
Masaki Suzuki
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
yamahige
Devsumi2013 community
Devsumi2013 community
Developers Summit
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
Takuya Kitamura
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
Ryo RKTM
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
典子 松本
さくらのIoT Platformを使ってみよう
さくらのIoT Platformを使ってみよう
法林浩之
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki
使ってみよう、WebMatrix3
使ってみよう、WebMatrix3
Narami Kiyokura
ちょっとした冬休み準備をしよう
ちょっとした冬休み準備をしよう
はなずきん Hana
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから
Takuya Nishimoto
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
Daiyu Hatakeyama
X pages day発表_20141118 final
X pages day発表_20141118 final
Fumiko Yamamoto
NTTデータグループウェブサイトのマルチデバイス対応
NTTデータグループウェブサイトのマルチデバイス対応
力也 伊原
東京では語れないHTML5[仮題]
東京では語れないHTML5[仮題]
Yu Morita
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
非プログラマ指向学生向けのアプリ作成演習
非プログラマ指向学生向けのアプリ作成演習
Kimiya Fujisawa
LODとシビックテック
LODとシビックテック
Shun Shiramatsu
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
yohei iwakura
Webブラウザ上で動作する帳票エンジンを作る話
Webブラウザ上で動作する帳票エンジンを作る話
terurou
自社サービスでDurable Functionsを採用した話
自社サービスでDurable Functionsを採用した話
terurou
Más contenido relacionado
Similar a Metro Style AppsでMSILver.2012/06/09
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
Masaki Suzuki
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
yamahige
Devsumi2013 community
Devsumi2013 community
Developers Summit
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Tsukasa Kato
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
Takuya Kitamura
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
Ryo RKTM
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
典子 松本
さくらのIoT Platformを使ってみよう
さくらのIoT Platformを使ってみよう
法林浩之
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
Hironori Washizaki
使ってみよう、WebMatrix3
使ってみよう、WebMatrix3
Narami Kiyokura
ちょっとした冬休み準備をしよう
ちょっとした冬休み準備をしよう
はなずきん Hana
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから
Takuya Nishimoto
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
Daiyu Hatakeyama
X pages day発表_20141118 final
X pages day発表_20141118 final
Fumiko Yamamoto
NTTデータグループウェブサイトのマルチデバイス対応
NTTデータグループウェブサイトのマルチデバイス対応
力也 伊原
東京では語れないHTML5[仮題]
東京では語れないHTML5[仮題]
Yu Morita
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
法林浩之
非プログラマ指向学生向けのアプリ作成演習
非プログラマ指向学生向けのアプリ作成演習
Kimiya Fujisawa
LODとシビックテック
LODとシビックテック
Shun Shiramatsu
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
yohei iwakura
Similar a Metro Style AppsでMSILver.2012/06/09
(20)
開発チーム管理で役立ったVSCode拡張機能
開発チーム管理で役立ったVSCode拡張機能
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
クラウドコンピューティング時代のタブレットコンピューター向けマトリックス型ワードプロセッシングシステムの試作
Devsumi2013 community
Devsumi2013 community
マイクロサービスとそれを支えるアーキテクチャー
マイクロサービスとそれを支えるアーキテクチャー
Swiftにおけるclassとstructの使い分けをDDDから考える
Swiftにおけるclassとstructの使い分けをDDDから考える
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
20130202 ドメイン駆動設計読書会at名古屋のお誘い β
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
自社でつくれる生産性向上ツール 必要だと思ったらすぐに作れるビジネスアプリ
さくらのIoT Platformを使ってみよう
さくらのIoT Platformを使ってみよう
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
新しいソフトウェアエンジニアリングのためのパターンランゲージに向けて
使ってみよう、WebMatrix3
使ってみよう、WebMatrix3
ちょっとした冬休み準備をしよう
ちょっとした冬休み準備をしよう
210917 オープンセミナー@広島のこれまでとこれから
210917 オープンセミナー@広島のこれまでとこれから
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
キャリアコンサルタント向け「企業で求められるITスキルの実態」と実践スキル向上研修
X pages day発表_20141118 final
X pages day発表_20141118 final
NTTデータグループウェブサイトのマルチデバイス対応
NTTデータグループウェブサイトのマルチデバイス対応
東京では語れないHTML5[仮題]
東京では語れないHTML5[仮題]
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
さくらのIoTプラットフォーム「sakura.io」を使ってみよう
非プログラマ指向学生向けのアプリ作成演習
非プログラマ指向学生向けのアプリ作成演習
LODとシビックテック
LODとシビックテック
香川支部キックオフ 香川支部について
香川支部キックオフ 香川支部について
Más 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
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
terurou
動的なILの生成と編集
動的なILの生成と編集
terurou
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
terurou
大規模なJavaScript開発の話
大規模なJavaScript開発の話
terurou
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
terurou
CommonJSの話
CommonJSの話
terurou
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
terurou
クラウドGPS(仮)
クラウドGPS(仮)
terurou
IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?
terurou
Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発
terurou
Más de terurou
(18)
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を自前実装する話
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
オブジェクト指向の皮をかぶった関数型プログラミング言語 Haxe
動的なILの生成と編集
動的なILの生成と編集
大規模なギョームシステムにHaxeを採用してみた話
大規模なギョームシステムにHaxeを採用してみた話
大規模なJavaScript開発の話
大規模なJavaScript開発の話
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
スマートフォン×Cassandraによるハイパフォーマンス基盤の構築事例
CommonJSの話
CommonJSの話
DLR言語によるSilverlightプログラミング
DLR言語によるSilverlightプログラミング
クラウドGPS(仮)
クラウドGPS(仮)
IronRuby on Silverlight っておいしいの?
IronRuby on Silverlight っておいしいの?
Dynamic Language による Silverlight2 アプリケーション開発
Dynamic Language による Silverlight2 アプリケーション開発
Metro Style AppsでMSILver.2012/06/09
1.
Metro Style AppsでMSIL ver.
2012/06/09 terurou
2.
自己紹介
3.
自己紹介 どうもこんにちわ、 terurou です。
4.
DSTokaiの管理人やってます。 • 東海地方のメタコミュニティ –
複数コミュニティへの共通連絡窓口 – IT系イベント情報の共有 – DSTokaiカレンダー – http://go.dstokai.info/ • クロスコミュニティイベントの企画 – NGK:名古屋 合同 懇親会
5.
Web技術を広く浅くやってます。 • フロントエンド –
Silverlight, JavaScript, Android – Tech Fielders Member(ページ消滅) – 最近 Metro Style Apps始めました。 • バックエンド – Cassandra, 自作KVS, AWS • フロント寄りのアーキテクチャ設計を 割と得意としてます。
6.
今から話すネタについて
7.
ML名古屋の発表スライドの流用です。 • ML名古屋? –
5/26に開催されたイベント – なごやこわい • 6/1のWindows8 RPのリリースに 合わせ、最新情報に更新しました。
8.
このLTのゴール地点 Metro Style AppでEXE生成するよ、 デスクトップアプリ用のやつ。
9.
過去の類似犯行 • Silverlight上でScalaプログラムを実行 –
Scala→MSIL + アセンブリバイナリ改変 • Silverlightアプリ(XAP)を動的に 生成するWebサーバの作成 – DSL→MSIL→XAP化
10.
Metro Style Appsとは?
11.
Metro Style Apps •
Windows 8から導入される 新しいアプリケーションの種別 – 旧来型アプリ=Desktop Apps
12.
WinRT • Metro Style
Apps専用API – Win32 API と .NET Framework 共に Metro用のサブセットAPIとなっている。 • いろんなものが非同期API – File I/O APIとかDialogとか • サンドボックスモデル – ユーザの同意なしには全てのファイルや デバイスを自由に操作できません。
13.
MSILとは?
14.
MSIL • CLI(.NETのVM)用の機械語 –
コンパイルするとCIL用のバイトコードに • MicroSoft Intermediate Language – Intermediate Language = 中間言語 • ECMA CIL(Common IL)としても 標準化されている – MSILはCIL準拠/拡張という位置づけ
15.
Metro Style AppsでMSIL生成
16.
Reflection.Emit! • .NETでMSILといえばReflection.Emit –
Reflection.Emitを使うとプログラム内で 動的にMSIL/アセンブリを生成できる。 • さっそくコードを書こう!
17.
Reflection… Emit…? え、AssemblyBuilderが存在しない…?
18.
Reflection… Emit…? がっつりAPIが削られてしまっていて、 ぺんぺん草すら生えていない…!
19.
Reflection.Emit 完全終了のお知らせ • Reflection.Emit(低レベルAPI)が
隠ぺいされ、高レベルAPIのみ利用可 – System.Linq.ExpressionTree – System.Dynamic • でも、Reflection.EmitがないとEXEの 出力/保存ができないのだけど…。
20.
詰んだ?
21.
そんなところに颯爽とMono.Cecilが!
22.
Mono.Cecil • Cecil is
a library written by Jb Evain to generate and inspect programs and libraries in the ECMA CIL format. • 要はCIL(MSIL)をごにょごにょする 素敵ライブラリ。
23.
Mono.Cecilが使われているところ • Mono Debugger
– Cecil自体がMonoプロジェクトだしね。 • ILSpy – .NET逆アセンブリツール – SharpDevelopのグループが作ってます。 • 各種weaving/AOPツール
24.
Mono.CecilをMetroに移植しよう • Mono.CecilはMetroに対応してない。 –
Metro用の.NETはサブセット版だしね。 • Metro用クラスライブラリとして移植 – 既存の.NETプロジェクトではMetroを ビルドターゲットに指定できないので、 Metro用にプロジェクトを作り直す。 – Portable Class Libraryでは多分無理。 • Reflection APIが違いすぎる
25.
Mono.Cecil 移植のポイント • Reflection
APIの差異を埋める – GetTypeInfo()への置き換えなど • System.Security.Cryptography → Windows.Security.Cryptography • File I/Oはサポートしない – StreamでのI/Oに限定
26.
Mono.Cecil for Metro •
ソースをGitHubに置いておいた – https://github.com/terurou/cecil – とりあえずコンパイルを通したレベル – まだテストコードを移植してない • Windows8 製品版で動作しなくなる 可能性があるので注意。
27.
デモ • Metro Style
AppsからDesktop用の コンソールアプリを動的生成します。 – Hello World的なことするだけです。
28.
まとめ
29.
Metro Style Appsで EXE出力して何が嬉しいのかは 私にもよくわからないですね。
30.
少し真面目に利用用途を考える • 動的生成したアセンブリをキャッシュ –
都度生成では性能問題が出るケースに • Metro用DSL/コンパイラを実装 – Metroアプリ内DSL – Desktopアプリの生成 – Silverlightアプリ(XAP)の生成 • SilverlightでXAP生成はできたので、 9割方実現できるはず
31.
ご清聴ありがとうございました
Descargar ahora