windows phone 7 用の 2ch ブラウザーを c# で作ってみた

18

Click here to load reader

Upload: shinichiaoyagi

Post on 30-Jun-2015

6.007 views

Category:

Technology


6 download

DESCRIPTION

プログラミング生放送勉強会 第9回@大阪のセッション資料です。

TRANSCRIPT

Page 1: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

Windows Phone 7 用の2ch ブラウザーをC# で作ってみた

青柳 臣一

プログラミング生放送勉強会 第 9 回 @大阪

2011/06/11

Page 2: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

自己紹介• 職業– ソフトウエア開発 @ 大阪 淀屋橋

WPF 、 Silverlight 、 C# 、 VB 、 Windows( Android 、 iOS )

• 連絡先– @ShinichiAoyagi などなど– ネット上でも本名なので ggr

Page 3: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

生態• 自転車

ロードバイク最近ぜんぜん乗れてない orz

• ニコニコ動画「アイドルマスター」タグ「中村繪里子」タグ

の 1 日 1 回の新着チェックは欠かせない

Page 4: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

Windows Phone 7

• Microsoft のスマートフォン– 2010 年 9 月 1 日 欧米でリリース– 2011 年 3 月後半から NoDo– 2011 年秋? Mango

• 特徴Windows Mobile とは別物ぬるぬる

Page 5: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

開発環境• Windows Phone Developer Tools– Visual Studio 2010 Express for Windows Phone– Expression Blend for Windows Phone– エミュレーター

などなど

必要なものはひと通り揃う!無料!(でも今は英語版のみ)

Page 6: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

App Hub

• http://create.msdn.com/– 実機への配置・デバッグ– Marketplace での配布(有料・無料)

9,800 円 / 年!

Page 7: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

WP7 アプリ• Silverlight です!

• C# 、 VB など

• まぁ、けど、デスクトップ版とまったく同じってことはありません

Page 8: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

HTC 7 Trophy ゲットだぜ!• うれしかった

• なにか作ってみたくなった

• スマフォの使用目的の 1 位、 2 位がTwitter と 2ch だったので、とりあえず 2chブラウザ作ってみることにした

Page 9: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

作り始めてみたら• WPF/Silverlight の知識は使える!

• 標準機能は結構貧弱

• とりあえず Silverlight for Windows Phone Toolkit は入れとけ– http://silverlight.codeplex.com/

Page 10: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

細々とした違い• スプラッシュスクリーンが勝手に表示さ

れたり

• ChildWindow が無かったり– Popup か非表示要素で– PopupView を作った– 戻るボタンに注意

Page 11: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

いろいろ足りないものも• 文字コード変換– Silverlight / WP7 は utf-8 、 utf-16 だけ– Shift_JIS とかは自分で何とかする必要あり

• HttpWebRequest– Referer は書き換えられない– If-Modified-Since は使えない

Page 12: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

なんか ListBox ばっかり• ItemsPanel– 縦スクロールだけじゃない!

• イマイチぬるぬる感が足りない

Page 13: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

ScrollViewer で作ってみた• でかい Canvas を ScrollViewer でスクロール– それなりにうまくいく

– スクロール位置を取るには VerticalOffset に添付プロパティをアタッチする必要あり

• 欠点– でかい Canvas に描画するのに時間がかかる– そもそも ListBox とやってることは同じ

Page 14: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

Canvas で作ってみた• Canvas に自前で描画– 全部自分で描く– それなりにうまくいく

• 欠点– コード量多し– そもそも ListBox とやってること同じでは?

Page 15: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

WriteableBitmap で...• ビットマップにお絵かき– XAML の内容を Render– CodePlex の WriteableBitmapEx

• 欠点– 巨大な WriteableBitmap を作ると落ちる– そこそこの WriteableBitmap を複数作ると落

ちる• 用途によってはおもしろい– 本気でやるなら XNA でいいんじゃね?

Page 16: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

結局のところ...• 普通に ListBox 使うのとあまり変わらない– 仮想化など気にしてあげた方がいいところは

ある

• Mango では ListBox 、 ScrollViewer のパフォーマンスが向上するらしい

Page 17: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

デザインガイドライン• 戻るボタン– 検索ボタンは取れない?

• Execution Model– Deactivated 、 Activated イベント

Page 18: Windows Phone 7 用の 2ch ブラウザーを C# で作ってみた

プログラミング生放送勉強会 第 9 回 @ 大阪 2011/06/11

さいごに• さぁ、がんばって完成させようw

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