SlideShare uma empresa Scribd logo
1 de 59
アプリデザインの
共通言語
http://akiyama.akiroom.com/
秋山博紀
@akiroom
はじめに
• 今日話す内容について
はじめに
デザイン
はじめに
デザイン プログラミング
はじめに
デザイン プログラミング
はじめに
デザイン プログラミング
Wireframe
Design Spec
はじめに
デザイン プログラミング
☝
今日扱うところ
Wireframe
Design Spec
はじめに
デザイン プログラミング
☝
今日扱うところ
= 共通言語(勝手に定義)
Wireframe
Design Spec
アプリデザインの共通言語
• デザイナとエンジニアのやり取りに
必要な概念(=共通言語)について説明します
• 目的:アプリ開発をより円滑にする
こんな感じのサンプ
ルアプリを例にやり
ます
☜ iPhone5の
画面サイズを想定
アプリデザインの共通言語
• 大きくわけて3つ話します
構造 単位 色
アプリデザインの共通言語
• 大きくわけて3つ話します
構造 単位 色
構造
• 基本はHTMLと一緒と思ってOK
• <div>や<button>のような箱をどう敷き詰めるか
• 意識してほしい3点
• 1.要素
• 2.階層
• 3.繰り返し
構造1. 要素
• 表示要素のプログラム上の特性を理解する
• どんな種類があるか(ボタン・スライダー・セルなど)
• どのような性質のものか
• デフォルトでアイコンが中央揃えされる
• 内容に応じてサイズが変化する
• Enabled/Disabled, Selected/Unselectedなどのステータス変化
• etc...
• 分からないうちはエンジニアに聞く
• 要素の境界を意識する
• どこまでが要素なのか分かると
表示要素の本当のx, y, width, heightが指定できる
要素の境界を考え
ないと…
☜ 実装が
超ムズい
パッと見、
白地がほとんどに
見えるけれど、
要素の境界
(≒Clickableな領域)を
考える
要素の境界を基準に
MarginとPaddingを考える
構造2. 階層
• すべての表示要素は入れ子になってる
• Window
• View
• Button
• Button
• Slider
• View
• Button
• 親要素や兄弟要素との関係を規定すれば
すべての位置・サイズが決まる
☜ さすがにありえない例
要素の境界+入れ子を
考える
テーブルの中にセルが
あって
セルの中に
画像、ラベル、ボタンが
入ってる
構造3. 繰り返し
• 同じような表示をする表示要素は
共通のデザイン仕様を持たせるべき
• 同じ意味の部品はなるべく共通化する
厳密に書くとキリがない
1カ所あれば分かる時は
そこだけ書けばOK
☜ 同じような部品の時
は比率でサイズを指定し
てもいいかもね
構造. まとめ
• 要素の境界、親子・兄弟関係、共通性を意識
アプリデザインの共通言語
• 大きくわけて3つ話します
構造 単位 色
単位
• 1. 絶対
• 2. 相対
単位: 1.絶対
• Pixel(px) 色情報の最小単位(常識)
• Point(pt) デバイスごとに異なるピクセル数
• Retinaの場合
「44ポイント=88ピクセルで、
画面上は44ピクセルで表示するもの」(出典)
• 画面の設計はPointで考える
• png/jpeg画像はPixelで考える
• iOSの場合は img.png / img@2x.png / img@3x.png の3
種類の画像が必要(それぞれ1,2,3倍サイズ)
単位: 1.絶対
• The Ultimate Guide To iPhone Resolutionsが超便
利
今まで使ってきた図も
ホントは間違い
☜ ptを使う!
単位: 2.相対
• %
• 1:1, 4:3, 16:9, x:y, etc...
• 可変長なデザイン(≒伸び縮み)
この例、大事な数字が
抜けてる
☝セルの高さ
☝ 相対値として定義
iPhone5の例
iPhone6Plusの例
iPhone6Plusの例
👈
👈👈
👈
比率と可変長な要素を使ったので
解像度が広がっても
「👈」で示した部分が適切に広がった
単位まとめ
• ピクセルとポイントの違いを理解して
ワイヤフレーム・デザイン仕様書はptで書く
• 相対的な単位と可変長な要素をうまく利用し
デバイスサイズの変化に強いアプリをつくる
アプリデザインの共通言語
• 大きくわけて3つ話します
構造 単位 色
色
• 1) 16進数で指定すればOK
• #FF0000=赤
• 2) カラーパレットを用意しよう
• 3) α値を使う場合は処理速度に注意
• 4) Blurも使えるよ
色: 1) 16進数
• HTMLと同じく16進数の色指定でOKです
• どの環境でも16進数の色指定を使いたいひとがい
て、たいていスニペットがある
色: 2) カラーパレット
• 複数の画面で同じような色を使う場合
カラーパレットを定義して色の名前があると
便利です
• コードのあちこちに色の指定が分散すると
修正が困難なので
• すでに使っている色のうち意味のある色はまとめ
ましょう
色: 3) α値
• 半透明も、もちろん使えます
• スクロールする場所に使うのは控える
• モバイル端末は非力なので使いすぎるとカクカクする
• 本当に半透明が必要か?先に混ぜた色を使えば済む
のではないか?といった検討を必ずする
☜ こんな感じでスクロール領域の外に
半透明な要素を設置するのは問題ない
☜ 「灰色に見えるけど実は黒25%の
半透明」とかやると重くなるリスクが
色: 4) Blur
• いわゆる「すりガラス」効果
も実装できます
• が、処理が重かったり古い
iOSでの実装がキツかった
りAndroidで実装がしんどい
可能性があるので、効果的
に機能する場合のみ使うべ
き
色: まとめ
• 1) 16進数で指定すればOK
• #FF0000=赤
• 2) カラーパレットを用意しよう
• 3) α値を使う場合は処理速度に注意
• 4) Blurも使えるよ
アプリデザインの共通言語
• 今日は3つの共通言語について話しました
構造 単位 色
アプリデザインの共通言語
• 今日は3つの共通言語について話しました
• 分からないことがあればサッと聞いてしまった方が
早いです
構造 単位 色
アプリデザインの共通言語
• 今日は3つの共通言語について話しました
• 分からないことがあればサッと聞いてしまった方が
早いです
• 共通言語を使いつつ密なコミュニケーションで円滑
なアプリ開発を実現しましょう!👍
著作権表示
• このスライドでは以下の画像を利用しています。
• https://thenounproject.com/search/?q=design&i=57458
• https://thenounproject.com/search/?q=programming&i=128591
• https://thenounproject.com/search/?q=talk&i=80157
• https://thenounproject.com/search/?q=boxes&i=110313
• https://thenounproject.com/search/?q=ruler&i=39879
• https://thenounproject.com/search/?q=palette&i=93104
• https://thenounproject.com/search/?q=wireframe&i=21874
• https://thenounproject.com/search/?q=long&i=27905
• https://thenounproject.com/search/?q=document&i=453
• https://flic.kr/p/9qixXv
• https://flic.kr/p/85tiXG
• https://flic.kr/p/c5xQvs
• https://flic.kr/p/3et52r

Mais conteúdo relacionado

Destaque (11)

Resume
ResumeResume
Resume
 
Why Invest in Asphalt Roof?
Why Invest in Asphalt Roof?Why Invest in Asphalt Roof?
Why Invest in Asphalt Roof?
 
Top 8 optical consultant resume samples
Top 8 optical consultant resume samplesTop 8 optical consultant resume samples
Top 8 optical consultant resume samples
 
April 2015 2nd Department Updates
April 2015 2nd Department UpdatesApril 2015 2nd Department Updates
April 2015 2nd Department Updates
 
ใบงานที่ 1 แบบสำรวจตัวเอง
ใบงานที่ 1 แบบสำรวจตัวเองใบงานที่ 1 แบบสำรวจตัวเอง
ใบงานที่ 1 แบบสำรวจตัวเอง
 
Top 8 field consultant resume samples
Top 8 field consultant resume samplesTop 8 field consultant resume samples
Top 8 field consultant resume samples
 
Top 8 dispatchers resume samples
Top 8 dispatchers resume samplesTop 8 dispatchers resume samples
Top 8 dispatchers resume samples
 
Duha Shehadeh CV
Duha Shehadeh CVDuha Shehadeh CV
Duha Shehadeh CV
 
Top 8 retail store owner resume samples
Top 8 retail store owner resume samplesTop 8 retail store owner resume samples
Top 8 retail store owner resume samples
 
My Career Path
My Career PathMy Career Path
My Career Path
 
Assignment 4 Redo
Assignment 4 RedoAssignment 4 Redo
Assignment 4 Redo
 

Semelhante a アプリデザインの共通言語

Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
満徳 関
 
iii_SGMI #5 "OOP & Design Patterns"
iii_SGMI #5 "OOP & Design Patterns"iii_SGMI #5 "OOP & Design Patterns"
iii_SGMI #5 "OOP & Design Patterns"
Ryohei Suzuki
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
Mori Keita
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
Katsutoshi Makino
 

Semelhante a アプリデザインの共通言語 (20)

Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
 
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
Visual Studio 2019 / Visual Studio Code + Live Shareではじめるモブ・プログラミング #vs2019
 
PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料PhoneGapユーザー会@大阪 講演資料
PhoneGapユーザー会@大阪 講演資料
 
デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発デザイン領域へiOS / Android開発
デザイン領域へiOS / Android開発
 
Windows Phone 8 アプリ開発 02.デザイン
Windows Phone 8 アプリ開発 02.デザインWindows Phone 8 アプリ開発 02.デザイン
Windows Phone 8 アプリ開発 02.デザイン
 
C#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnetC#でアプリを作ってみよう! #ngtnet
C#でアプリを作ってみよう! #ngtnet
 
iii_SGMI #5 "OOP & Design Patterns"
iii_SGMI #5 "OOP & Design Patterns"iii_SGMI #5 "OOP & Design Patterns"
iii_SGMI #5 "OOP & Design Patterns"
 
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
ABC2013 Spring デザインナーとエンジニアの連携プレイのコツ
 
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
ex-Workshop06『three.jsを使ってモデリングソフトを試作する』
 
普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。普段こういうこと気にしながら、こんな風に作ってます。
普段こういうこと気にしながら、こんな風に作ってます。
 
A Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design frameworkA Framework for integrating software design patterns with game design framework
A Framework for integrating software design patterns with game design framework
 
プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会プログラミング同好会とすごい合同勉強会
プログラミング同好会とすごい合同勉強会
 
ワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作るワイヤーフレームを高速にXDらしく作る
ワイヤーフレームを高速にXDらしく作る
 
Uno Platform か Blazor
Uno Platform か BlazorUno Platform か Blazor
Uno Platform か Blazor
 
主婦でもできる Android Layout
主婦でもできる Android Layout主婦でもできる Android Layout
主婦でもできる Android Layout
 
プログラミングを早くする方法
プログラミングを早くする方法プログラミングを早くする方法
プログラミングを早くする方法
 
フラットデザインってなに?
フラットデザインってなに?フラットデザインってなに?
フラットデザインってなに?
 
プログラマが欲しい仕様書とは
プログラマが欲しい仕様書とはプログラマが欲しい仕様書とは
プログラマが欲しい仕様書とは
 
会話型UI事始め
会話型UI事始め会話型UI事始め
会話型UI事始め
 
ど素人向け エンジニア勉強会
ど素人向け エンジニア勉強会ど素人向け エンジニア勉強会
ど素人向け エンジニア勉強会
 

アプリデザインの共通言語