SlideShare a Scribd company logo
某RSS収集アプリ
めとべや東京 #6
大田 一希
自己紹介
 HN:かずき
 Twitter:@okazuki
 Blog:http://okazuki.hatenablog.com
 Microsoft MVP for Windows Platform Development
 犬派?猫派?:犬派
 アプリ作り:そんなに好きではない
お約束事項
このセッションの内容は、個人の見解であり、所属する組織を代表するもの
ではありません。
このセッションの目的
Tipsを1つ持ち帰ってもらう
ことの発端
なぜ、アプリを作ることになったのか
ある日某所に集められて…
 MS MVPのBlogを閲覧するアプリが欲しい
– カテゴリわけをしたい
– MSアカウントでログインして紐づくBlogの所有者が自分のBlogに関する情報を編集
したい
– 検索をしたい
– 記事のレーティングをしたい
– 人気記事を見たい(もちろんカテゴリ単位と全体で)
– 記事を書いてる人の紹介ページが欲しい
– 記事のレコメンドもしたい(こんな記事を見てる人は、こんな記事も見ています)
– etc…
チームメンバー
 デザイナー担当Mさん
Windows store appのデザインにとても詳しい
 サーバー担当Tさん
色々詳しい
 インフラ担当Hさん
Azure詳しい。Windows store appに詳しい。
 クライアント担当Kさん
俺。XAML関係が好き
役割分担
一貫したデザイン・プロトタイピング(Mさん)
デザインを実装に落とし込む(Kさん)
サーバーサイドの機能を実装に落とし込む(Tさん)
クラウド環境の準備・構築etc…(Hさん)
今回の範囲
一貫したデザイン・プロトタイピング(Mさん)
デザインを実装に落とし込む(Kさん)
サーバーサイドの機能を実装に落とし込む(Tさん)
クラウド環境の準備・構築etc…(Hさん)
一貫したデザイン
要求仕様
 MS MVPのBlogを閲覧するアプリが欲しい
– カテゴリわけをしたい
– MSアカウントでログインして紐づくBlogの所有者が自分のBlogに関する情報を編集
したい
– 検索をしたい
– 記事のレーティングをしたい
– 人気記事を見たい(もちろんカテゴリ単位と全体で)
– 記事を書いてる人の紹介ページが欲しい
– 記事のレコメンドもしたい(こんな記事を見てる人は、こんな記事も見ています)
– etc…
本当にやりたいことのヒアリング
 ユーザーにBlogの更新をわかりやすく見てほしい。
– 全体を俯瞰する
– カテゴリ単位に見る
– 検索して見る
 すぐ記事にたどり着けて見れるようにしたい。
コア機能をベースにプロトタイピング
 カテゴリ単位に見る流れ。ハブ → セクション → 詳細
Windows ストア アプリのハブ コントロールのガイドライン
http://msdn.microsoft.com/ja-jp/library/windows/apps/dn449149.aspx
カテゴリを横断した情報の閲覧
カテゴリ単位での閲覧
記事単位での閲覧
コア機能をベースにプロトタイピング
 検索して見る流れ。ハブ → セクション → 詳細
Windows ストア アプリのハブ コントロールのガイドライン
http://msdn.microsoft.com/ja-jp/library/windows/apps/dn449149.aspx
カテゴリを横断した情報の検索
カテゴリ単位での検索
記事単位での閲覧
プロトタイピングでやったこと
基本的なWindows store appの流れに乗せて機能をそぎ落とす
v1.0としての合意形成
 新着記事の表示
 人気記事の表示
 カテゴリごとの新着記事・人気記事の表示
 記事の閲覧機能
 検索機能
設計
こんな感じで
クライアント
Prism + ReactiveProperty
サーバー
MicrsofotAzure Mobile
Services
REST
API
表示に徹する 難しいこと
画面
実際の画面
実際の画面
実際の画面
実際の画面
実際の画面
実際の画面
実際の画面
機能を作りこむ中で困ったこと
Tips
困ったこと
 要件
– HubSectionコントロールのヘッダーにComboBoxを置く
 実際
– HubSectionにComboBoxを置いても操作に反応しない
解法
 HubSectionのIsHeaderInteractive=Trueにする
 問題点
– “>”というグリフがついてしまう
解法
 HubSectionのControlTemplateを差し替える
– HubSectionのControlTemplateを開く
– HeaderButtonのControlTemplateを開く
– IsHeaderInteractiveMarkerコントロールを削除
 ヘッダーに置いたコントロールの操作が出来て邪魔なグリフも消える
 参考
– HubSectionのヘッダーのグリフを消したい
 http://okazuki.hatenablog.com/entry/2014/09/24/225413
困ったこと
 要件
– FlipViewのTappedイベントを処理しつつ、マウス操作時の左右移動ボタンも有効に
したい
 実際
– マウス操作時の左右移動ボタンを押すとTappedイベントが実行されてしまう
解法
 FlipViewのLoadedイベントで以下の処理をする
– VisualTreeからButtonをとってきてTappedイベントのHandledをTrueに設定する。
– Behaviorとして実装すると再利用が効く
 参考
– FlipViewの上下移動のボタンをクリックしたときにTappedイベントが発生してしまうの
をどうにかしたい
 http://okazuki.hatenablog.com/entry/2014/09/29/165615
困ったこと
 要件
– GridViewの要素が空のときにメッセージを出したい
 実際
– GridViewにそんな機能はない
解法
 コレクションを監視するBehaviorを作る
– コレクションが空のときと空じゃないときでVisualStateを切り替える
要素が空のとき
EmptyState
要素が空じゃないとき
FillState
まとめ
まとめ
 デザイン関係について
– コア機能の絞り込み大事
 といっても仕事では、なかなかやりづらいですが…
– プロトタイピングによるイメージの共有大事
 画面の作りこみについて
– ControlTemplateいじるのは強力
– ちょっとした機能はBehaviorで部品化するといい感じ
 ボタンを押してもTappedイベントが発行されないFlipView
 コレクションの状態に応じてVisualStateを切り替える
 etc…

More Related Content

PPTX
プログラミングのきっかけ
PPTX
Prism for windows runtime入門
PPTX
Universal Windows app 入門
PDF
めとべや東京10 Universal Windows Platform appの新しいバインディング
PDF
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
PDF
Prism.Formsについて
PPTX
20140531 めとべや東京4 ユニバーサル アプリ入門
PDF
とあるギークのキーボード遍歴
プログラミングのきっかけ
Prism for windows runtime入門
Universal Windows app 入門
めとべや東京10 Universal Windows Platform appの新しいバインディング
Visual Studio 2015 リリース記念 勉強会 universal windows platform app
Prism.Formsについて
20140531 めとべや東京4 ユニバーサル アプリ入門
とあるギークのキーボード遍歴

What's hot (20)

PPTX
Blend for visual studio 2013の新機能
PDF
人類は如何にして大切な データベースを守るべきか
PDF
20150530 めとべや東京8 universal windows platform appの画面開発
PDF
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
PDF
リレーショナルデータベースとの上手な付き合い方 long version
PPTX
Movable Typeの権限と承認フロー
PDF
WordPressの権限・承認フロー
PDF
簡単なプラグインの管理方法とプラグインのご紹介
PDF
Uno Platform 触ってみた
PDF
MySQLアーキテクチャ図解講座
PDF
レスポンシブ対応 をサポートするプラグイン
PDF
Bot Framework 最新情報 2017
PDF
C# で QnA Bot
PDF
オープンソースによるイノベーションの継続
PDF
Yohoushi
PDF
これらのプラグインとエディタでブログをスタートしよう! #contents758 #AWM #aichi_wpm
PDF
RDBにおけるバリデーションをリレーショナルモデルから考える
PDF
老舗大企業からスタートアップへの挑戦
PDF
あなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
PDF
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
Blend for visual studio 2013の新機能
人類は如何にして大切な データベースを守るべきか
20150530 めとべや東京8 universal windows platform appの画面開発
私は如何にして詳解 MySQL 5.7を執筆するに至ったか
リレーショナルデータベースとの上手な付き合い方 long version
Movable Typeの権限と承認フロー
WordPressの権限・承認フロー
簡単なプラグインの管理方法とプラグインのご紹介
Uno Platform 触ってみた
MySQLアーキテクチャ図解講座
レスポンシブ対応 をサポートするプラグイン
Bot Framework 最新情報 2017
C# で QnA Bot
オープンソースによるイノベーションの継続
Yohoushi
これらのプラグインとエディタでブログをスタートしよう! #contents758 #AWM #aichi_wpm
RDBにおけるバリデーションをリレーショナルモデルから考える
老舗大企業からスタートアップへの挑戦
あなたも出来る!webエンジニアがSwiftでリリースするためにやったこと
データモデルについて知っておくべき7つのこと 〜NoSQLに手を出す前に〜
Ad

Viewers also liked (20)

PPTX
ReactiveProperty
PDF
Reactive Extensionsはじめました
PDF
20150905 stream analytics
PDF
XAML入門
PDF
20160416 Azure Data Lakeのはまりどころ
PDF
Prism + ReactiveProperty入門
PPTX
めとべや東京5_XAML
PDF
Xamarin.forms入門
PDF
WPF4.5入門
PDF
Reactive extensions入門v0.1
PDF
かずきのUWP入門
PPTX
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
PPTX
人工知能に何ができないか
PDF
これからのコンピューティングとJava(Hacker Tackle)
PDF
今さらWPF? いいえ、今こそWPF!
PPTX
Visual studio 2013 Overview
PDF
はじめての UWP アプリ開発
PPTX
Uwpアプリケーション開発入門
PPTX
C#/WPFで作るデスクトップマスコット入門
PPTX
未来のプログラミング技術をUnityで -UniRx-
ReactiveProperty
Reactive Extensionsはじめました
20150905 stream analytics
XAML入門
20160416 Azure Data Lakeのはまりどころ
Prism + ReactiveProperty入門
めとべや東京5_XAML
Xamarin.forms入門
WPF4.5入門
Reactive extensions入門v0.1
かずきのUWP入門
XAML + C#で開発するときの Visual Studio 2013(とBlend)の 便利機能
人工知能に何ができないか
これからのコンピューティングとJava(Hacker Tackle)
今さらWPF? いいえ、今こそWPF!
Visual studio 2013 Overview
はじめての UWP アプリ開発
Uwpアプリケーション開発入門
C#/WPFで作るデスクトップマスコット入門
未来のプログラミング技術をUnityで -UniRx-
Ad

Similar to 某rss収集アプリ (11)

PPTX
Windows ストア アプリの上手な作り方
PPTX
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
PDF
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
PDF
Xamarin.Forms アプリケーション 設計パターン
PPTX
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
PPT
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
PDF
//build/ 2016現地で感じたクライアント開発の潮流
PPTX
メトロスタイルアプリ開発 最初の一歩
PPTX
Vantan shinsuke miyaki_upload
PPTX
20150530 めとべや東京 Reactive Property + Livetで作るWPFアプリ
PDF
僕がやったXaml戦略
Windows ストア アプリの上手な作り方
XAMLで業務アプリがこんなに変わる!デザイン志向による業務アプリの事例紹介
XAML と C# を使った Windows ストアアプリ(LOB)構築のためのtips Prism 4.5 & Kona project 等のご紹介
Xamarin.Forms アプリケーション 設計パターン
仙台IT文化祭(2017年) ユニバーサル windows プラッ トフォーム (uwp) アプリ開発概要
Windows ストアアプリを作ろう ~Metroスタイルアプリ入門~ (2012/09/29)
//build/ 2016現地で感じたクライアント開発の潮流
メトロスタイルアプリ開発 最初の一歩
Vantan shinsuke miyaki_upload
20150530 めとべや東京 Reactive Property + Livetで作るWPFアプリ
僕がやったXaml戦略

More from 一希 大田 (20)

PDF
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
PDF
Power Apps + C#
PDF
Azure Static Web Apps を試してみた!
PDF
Visual studio 2019 updates pickup!
PPTX
.NET 5 and Windows app dev
PDF
WPF on .NET Core 3.1 で Windows 10 アプリ開発
PDF
.NET Core 3.0 + Windows 10 で WPF 開発
PDF
はじめよう Azure Functions
PDF
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
PDF
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
PPTX
WPF on .NET Core 3.0
PDF
Visual Studio 2019 の個人的なお勧め機能(発表時点)
PDF
Visual Studio 2019 の個人的なお勧め機能
PDF
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
PDF
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
PDF
スマートスピーカーのバックエンドで Azure を使う方法
PPTX
Visual Studio App center 概要
PDF
はじめての HoloLens セッションの集大成お見せします!
PDF
ペッパソン東の陣 Microsoft 提供 API のご紹介
PDF
Xamarin でのモバイルアプリ開発 周辺基礎知識
.NET 7 での ASP.NET Core Blazor の新機能ピックアップ
Power Apps + C#
Azure Static Web Apps を試してみた!
Visual studio 2019 updates pickup!
.NET 5 and Windows app dev
WPF on .NET Core 3.1 で Windows 10 アプリ開発
.NET Core 3.0 + Windows 10 で WPF 開発
はじめよう Azure Functions
Windows 10 対応のデスクトップアプリを作る技術(事前公開版v2)
Windows 10 対応のデスクトップアプリを 作る技術(事前公開版)
WPF on .NET Core 3.0
Visual Studio 2019 の個人的なお勧め機能(発表時点)
Visual Studio 2019 の個人的なお勧め機能
Windows 10 に対応した デスクトップ アプリを作る技術(事前公開版 v2)
事前公開版 Windows 10 に対応したデスクトップ アプリを作る技術 v1
スマートスピーカーのバックエンドで Azure を使う方法
Visual Studio App center 概要
はじめての HoloLens セッションの集大成お見せします!
ペッパソン東の陣 Microsoft 提供 API のご紹介
Xamarin でのモバイルアプリ開発 周辺基礎知識

某rss収集アプリ