わんくま同盟 東京勉強会 #61

2011/7/23に新宿で"わんくま同盟 東京勉強会 #61"がありましたので参加しました。
そこでウチが聞いた内容についてフィードバックしたいと思います。

わんくま同盟 東京勉強会 #61
http://www.wankuma.com/seminar/20110723tokyo61/



■「Windows Phone アプリケーション開発概要」by 高橋 忍さん Lv.2くまー
> トロデザインフレームワーク
視認性
統一されたUIとインタラクション
カラーバリエーションとの親和性

> ライブタイル
Windows Phoneのトップ画面は”タイル”で表示する規約になっている
タイルの使用数に制限がなくなっている(以前は3つまでだった)

mangoからタイルは表・裏の表示が可能になった
 切り替えは自動でおこなわれる

タイルに表示できるもの
 表:172*172のpngjpeg画像、右上に○数字、下にテキスト
 裏:文字

タイルは最短で15分更新(アプリケーションからのアクセス)

> ハブ
クラウドと連携した6つの標準機能

> peopleハブ
グループ化することができるようになった
人を認識(タグをつける)することができる

SNSとの連携
 Twitter,facebook

OSでのSNS対応
 peopleハブでの連携(アドレス帳)が可能になる
 メッセンジャーコネクトの仕組みを持っている ⇒拡張性が高い

> 他のスマートフォンとの違い
タイルで情報更新
SNSがOSに統合されている

> ブラウザ
IE9がベースになったコアエンジン
IE9で崩れるサイトは、mangoでも崩れる

> マルチタイル
Shelltitle?というAPIを呼ぶことで、アプリケーションの途中をタイルに追加できる

> バックグラウンドエージェント
表と裏の1つとして、パッケージにすることで、バックグラウンドになった際にも、動き続けることができる
ただし、バックグラウンドエージェントは、スケジュール間隔で動く
バッテリーセーバとも連携しているので、電源容量でスケジュール間隔も変わってくる

> Silverlight4
mangoからベースになっている

> カメラハードウェア
カメラのデータを直接取得することができる
リアルタイム画像を取得できるようになったことで、ARなどのアプリケーションも可能になった

> モーションAPI
「ジャイロ+加速度+電子コンパス」を統合したAPIがある
ジャイロは端末によってある場合とない場合があるが、このAPIを使うことで
開発者はジャイロ搭載端末かどうかを気にせずに開発することができる
 ⇒ ジャイロがある場合は精度があがる

> marketplace
アプリDLはmarketplaceからのみになる

アプリ数は2011/7/22現在で25,000本

> App Hub
アプリケーションに審査規約がある
 ⇒ http://blogs.msdn.com/b/shintak/archive/2011/06/10/10172955.aspx

ユーザビリティ的な審査もある

> ベータ配布
アプリケーションの審査なし(公開なし)
MarketPlaceでは表示されない
開発者がテスターをリスト化
特定ユーザだけ、審査なしでアプリをDLできる
最高100名
90日間限定

> プライベート配布
審査はある(Marketplace同様)
MarketPlaceでは表示されない
開発者が送付したメールにあるリンクからDL



■ライトニングトーク
橋本さん
 コミケについて

こくぶんさん
 MCP
  Windows Phone のテスト(70-599)もある

インフラジステックス 池原さん
 netadvantage(製品紹介)



■「WP7におけるSilverlightXNAの相互運用」by 橋本 資弘さん Lv.1くまー
http://www.moto-square.com/2011/07/11/wankuma_tokyo61_detail/

> SiliverlightとXNAの相互運用
 mangoから追加される新機能

> Sliverlight
 イベントドリブン型の開発手法
 画面(XAML)の描画は自動で実施

> XNA
 ゲームループ型の開発手法
 画面の描画は手動で実施

 XAMLファイルはない ⇒ Game1.csにあるUpdate()とDraw()がある

> 2つ(SL、XNA)のテンプレートについて
A:Windows Phone 3D Graphics Application
B:Windows Phone Silverlight and XNA Application
GamePageの実装内容が違う
 Aはサンプルがある
 Bは最低限のみ

Aは、SliverLight上でXNAが動作する
 XNA上でSLをよびだすことで、両立できる

ゲームはXNAで作成し、設定画面などはSilverlightで実装する

SL+XNAをするには
 GameTilerクラス
 SetSharingModeメソッド
を用いる

> 3Dモデルの作成
3Dモデリングソフト:Metasequoia

モデリングを作成したのち、保存(.xファイル)する

Contentsプロジェクトに作成したxファイルとテクスチャをコピーする
 contentManajer.load.("アセットネーム");

ワールド行列:3Dモデルの行列
 Vecter3.Zero, Vecter3.Forword, Vecter3.Up
ビュー行列:カメラの行列
 Vecter3(0, 50, 100), ...
プロジェクション行列:カメラのレンズの行列

> 3Dモデリングの要点
メッシュ
マテリアル

> パフォーマンス・アナリシス(Windows Phone Performance Analysis)
CPUやメモリのアプリパフォーマンスを視覚化することができるツール



■「Windows MobileプログラマWindows Phone 7開発をやってみた」by こげつさん Lv.2くまー
> Windows Mobile
マルチタスクと戻るボタンがある

アプリは起動したら、バックグラウンドにいるのが基本となっている

> マルチタスクとシングルタスクの違い
どの画面からでも復帰できないといけない
意外と制御がめんどくさい

> Siliverlight ≠ Windows Form

> デザイナーさんとBlend
XAML Hell(要約:難しいよ)

デザイナーが絵を書く
 ↓
XAMLコーダや、プログラマが実装する

> その他のプラットフォームとの違い(iPhoneAndroid
プログラミング
 ネイティブコードを書かなくて良い
 端末依存の挙動の違いが少ない
 情報が少ない/ノイズが多い
 IDEの質は断然にいい
 非同期処理は楽ちん

デザイン
 テーブルビューがない
 タブバーがない
 メニューに使える領域が少ない
 階層構造が分かり辛い
 スタートボタン

> スマートフォン勉強会
http://sumaben.jp/



■「WP7、ランタイム周りの更新」by 岩永信之(++C++; 管理人)さん Lv.4くまー
> Windows Phone 7 mangoから改善されたもの
世代別GCやIL Emitが導入された

> Siliverlightの新機能
Siliverlight3 → 4

コントロール
 RichTextBox,Viewbox,WebBrowser

データバインディング
 コマンド、StringFormat、暗黙スタイル
 グルーピング(GroupDescriptions)
 データ検証(INotifyDataErrorInfo)

CompositTransform

> XNAの新機能
Visual Basicサポート
Silverlightへの埋め込みサポート

> OS機能
スケジュールタスク/バックグラウンド音楽
アプリケーションスイッチ
 必要があるまでサスペンドしない
カメラ&マイク
クリップボード
センサー
 コンパス、ジャイロ

> ランタイム、基本クラスライブラリ
GC(Garbage Collection)性能改善
IL Emit、Expression.Compile
SQL Server Compact、LINQ to SQL
OData
ソケット、UDPマルチキャスト
暗号化

> 7.0と7.1のGC
世代別GCに対応することで性能改善

> 世代別GCとは
ほとんどのオブジェクトは短命 ⇒ 1部のオブジェクトは長寿
 ↓
 短命なオブジェクトを早急に回収(Gen0)
 生き残ったものは、長寿として判定する(Gen1)

2世代(Gen0,Gen1) ※ デスクトップ版は3世代ある
Background/Incrementalなし
Large Object Heapなし
Code-Pitching(JIT済みネイティブコードの破棄)あり
GC.Collect()で世代指定不可

> ローカルデータベース
SQL Server Compact Edition
 アプリ内データベース
 ファイル形式はsdfファイル
 保存場所は、アプリの起動フォルダーor分離ストレージ

LINQのみ記述できる
 T-SQL直接書けない
 DataSetとかなし

用途
 キャッシュ
 ローカル設定の記憶や、Tombstoning時のデータ回避

スキーマ
 コードで定義

注意
 Tombstoning時に接続切れるので注意
 バックグラウンドタスク側からの同時アクセスが可能
 ※ 単一アプリしかアクセスできないと言っても、同時実行制御は必要

 書き込みができるのは分離ストレージのみ
 ※ アプリ内では読み取り専用



■「パネルディスカッション」by スピーカー各位+割と普通さん Lv.1
> ネイティブアプリ/WEBアプリ
SLとXNAは画面単位で切り分けながら作ったほうが開発効率はいい

> SL4とWP7のSLの違い
あまり違いはない(多少あるかもしれないけど)

> 通常のIE9とWP7版IE9の違い
まだmangoは正式ではないので、分からない


【告知】
WP7アプリケーション「MetroGnome」を作られたMOTOSQUAREさんがきたる2011年8月13日(土)のコミックマーケット80にサークル参加します!

http://www.moto-square.com/2011/07/05/c80/
WindowsPhone7がテーマの同人誌を創られることで、『WP7の概要を紹介する感じのマンガ』になっているらしいです★
「ぜひお越しの際は、お立ち寄りください」とのことでしたー
場所は東地区 S-21bです!

画像は勝手に拝借してしまったので、怒られたら消します><

http://www.st-hatena.com/users/sa/samril/user_p.gifはじめてのわんくま