23
.NET Framework 2014/09/06 小尾 智之(Ahf) .NET Compact Framework to / from

Clrh 20140906 lt

Embed Size (px)

DESCRIPTION

2014/09/06 に行った CLR/H in TOKYO #4 で利用した LT スライド

Citation preview

Page 1: Clrh 20140906 lt

.NET Framework

2014/09/06 小尾 智之(Ahf)

.NET Compact Framework

to / from

Page 2: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

self introduction VB 使い

WF メイニア

CLR/H スタッフ

てすとぶろぐ http://blogahf.blogspot.jp/

@twit_ahf

Tomoyuki.Obi @IT エンジニアライフ

地方からの戯言

プロレス好き DDT / BJW / K-DOJO みちのくプロレス

Page 3: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

Page 4: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

.NET Compact Framework

• .NET Framework のサブセット

–組込端末などリソースの少ない環境用に

縮小・削減している

–双方に存在する機能のみ利用しているなら

デスクトップ上でも動作する

– Windows CE や Embedded 環境でよく利用

CE 5.0 CE 6.0 Embedded

Compact 7

Embedded

Compact 2013

Page 5: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

こんな端末が発売されてます

Page 6: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

ユニバーサルアプリ?

Page 7: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

知らない子ですね…

Page 8: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

しばらくは Embedded

• Embedded 機器メーカーでの主流は

CE6.0 と Embedded Compact 7

– 2013 はあるメーカー曰く「まだ検討中」

–元々 Embedded 系は外での利用など

PC 以外での機器が対象

• 一度購入するとしばらくは買い替えない

• ファクトリコンピュータに近い

–ハードが出ないのでまだしばらくは…

• 一般用タブレットとか弱すぎて使えない…

Page 9: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

開発できるアプリ

• Windows Forms(VB / C#)

• Silverlight for Windows Embedded(C++)

.NET 開発で培った

スキルが役に立つ

Page 10: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

どちらも .NET だから移植は楽

Page 11: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

まったくもって そんなことは なかった

Page 12: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

MSDN が不親切

一番最後に

「サポート外です」

と書いてある!

Page 13: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

微妙な制御の違い

Dim req = TryCast(WebRequest.Create("http://kuma.go.jp/"), HttpWebRequest) Using reqStream = req.GetRequestStream req.ContentLength = 0 Dim encStrings = "クマー"

Dim enc = New UTF8Encoding Dim sendBytes = enc.GetBytes(encStrings) req.ContentLength = sendBytes.Length reqStream.Write(sendBytes, 0, sendBytes.Length) End Using

Compact Framework では

エラーにならない

Compact Framework では雑にコードを記述

していてもエラーにならないケースがある

Page 14: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

イベントの違い

Load Shown

GotFocus Enter

Leave LostFocus

Compact Framework では存在しない

Page 15: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

UI 制御の違い

パネル

パネル

TabIndex: 0

TabIndex: 1

TabIndex: 1

TabIndex: 0

Compact Framework での初期位置

.NET Framework での初期位置

Compact Framework では Load イベント中

に初期項目の設定ができる

Page 16: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

UI の基本制御

• Form_Load で初期表示・設定

• Control_GotFocus でコントロールのフォーカス取得時制御

• Control_LostFocus でコントロールのフォーカス喪失時制御

• Form_Unload で終了処理

.NET Framework に移植する場合は

イベントの変更が必要

Page 17: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

( ˘⊖˘)。o(まてよ、これどこかで……)

Page 18: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

|技術負債| ┗(☋` )┓三

Page 19: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

▂▅▇█▓▒░(‘ω’)░▒▓█▇▅▂ これ VB6 といっしょだぁぁぁぁぁぁ

Page 20: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

( ◠‿◠ )☛ 気づいてしまったようだな

Page 21: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

VB6 など非 .NET 開発をやっている人には意外ととっつきやすいかも

Page 22: Clrh 20140906 lt

2014/09/06 CLR/H in TOKYO #4

まとめ

• UI は基本つくりなおし

–解像度違いすぎ。拡大縮小レベルじゃない

• 移植時はコード書き直しを覚悟

– CF へ移植:オーバーロードがなくて死ぬ

– CF から移植:雑に書いていると死ぬ

• ビジネスロジックは割とそのまま

–クラス設計大事!

Page 23: Clrh 20140906 lt

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