Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Material Design 守破離〜えこよみ編〜
Search
HiroYUKI Seto
March 28, 2018
Programming
1.5k
5
Share
Material Design 守破離〜えこよみ編〜
2018/3/28
Androidエンジニア デザイン部 #1
HiroYUKI Seto
March 28, 2018
More Decks by HiroYUKI Seto
See All by HiroYUKI Seto
Androidアプリの 安全なリファクタリングを行うパターン集
seto_hi
2
5k
UI TestやVisual Regression Testを コスパ良くやる
seto_hi
3
1.9k
事業支援というお仕事
seto_hi
0
440
MDCの内部実装から学ぶ 表現力の高いViewの作り方
seto_hi
5
1.8k
CoordinatorLayoutのBehaviorを使い倒す
seto_hi
1
450
Jetpack Compose
seto_hi
2
870
UI改善に繋がるエンジニアの立ち回り
seto_hi
2
4.8k
MDCのButtonのCorner Family
seto_hi
1
240
MDCのBottomAppBarのShadowの実現方法
seto_hi
0
1k
Other Decks in Programming
See All in Programming
RailsのValidatesをSwift Macrosで再現してみた
hokuron
0
140
AIコードレビューの導入・運用と AI駆動開発における「AI4QA」の取り組みについて
hagevvashi
0
580
LM Linkで(非力な!)ノートPCでローカルLLM
seosoft
0
290
それはエンジニアリングの糧である:AI開発のためにAIのOSSを開発する現場より / It serves as fuel for engineering: insights from the field of developing open-source AI for AI development.
nrslib
1
700
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
450
Coding as Prompting Since 2025
ragingwind
0
560
Codexに役割を持たせる 他のAIエージェントと組み合わせる実務Tips
o8n
4
1.4k
ポーリング処理廃止によるイベント駆動アーキテクチャへの移行
seitarof
3
1.3k
「速くなった気がする」をデータで疑う
senleaf24
0
110
「効かない!」依存性注入(DI)を活用したAPI Platformのエラーハンドリング奮闘記
mkmk884
0
280
PHP でエミュレータを自作して Ubuntu を動かそう
m3m0r7
PRO
2
150
Ruby and LLM Ecosystem 2nd
koic
1
1.4k
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
4
500
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
500
The Curious Case for Waylosing
cassininazir
0
280
Designing Powerful Visuals for Engaging Learning
tmiket
1
320
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
260
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
Faster Mobile Websites
deanohume
310
31k
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Statistics for Hackers
jakevdp
799
230k
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
260
Become a Pro
speakerdeck
PRO
31
5.9k
Agile that works and the tools we love
rasmusluckow
331
21k
Transcript
Material Design 守破離 〜えこよみ編〜 Androidエンジニア デザイン部 #1 株式会社ノハナ 瀬戸優之 @seto_hi
自己紹介 • 瀬戸優之 Seto HiroYUKI @seto_hi • Androidエンジニア & アプリデザイン
• 株式会社ノハナ ◦ 一組でも多くの家族に笑顔を届ける ◦ 絶賛採用中 • Material Design大好き • 好きなAPIはCanvas#saveとViewGroup#layout
2018/2/22
2018/2/22 Release
None
えこよみ と Material Design
ガイドラインを守れば 必ず 使いやすいのか
ガイドラインを守れば 必ず 売れるのか
そうとは言い切れない
もう少し発展が必要
守破離
守破離 守破離(しゅはり)は、日本での茶道、武道、芸術等における師弟 関係のあり方の一つ。 守:支援のもとに作業を遂行できる(半人前)。 ~ 自律的に作業を遂行できる(1人前)。 破:作業を分析し改善・改良できる(1.5人前)。 離:新たな知識(技術)を開発できる(創造者)。 https://ja.wikipedia.org/wiki/%E5%AE%88%E7%A0%B4%E9%9B%A2
Material Designと守破離 守:ガイドラインを覚える ガイドラインを厳密に守る 破:ガイドラインの意図を理解して ガイドラインにないコンポーネントの作成 離:既存のガイドラインを破る 新たなガイドラインの作成
Material Design 守破離 〜えこよみ編〜
守
守
守
守
守
守
守 • 大前提:Material Designは素晴らしいガイドライン • ガイドラインを忠実に守った設計 ◦ 8dpのgrid ◦ Shadow
& Elevation ◦ Accent ColorとPrimary Color • 重要でない画面には有用 ◦ 工数削減 ▪ エンジニアもデザイナーも
破
破
破:CardViewの使い方 • CardViewのレイアウト ◦ 画像比率 • トップ画面をエモくしたい ◦ カードを作らなくても使われるアプリが理想 •
ポストカードの画像を有効活用する ◦ フォトブックアプリでも同様のアプローチ • 思い出は個別事象なのでリストでなくカード
破
破:中央ボタン • カードの裏表を切り替えるボタン • 独自Viewコンポーネント • 左右と時間軸の話 ◦ FABはなぜ画面右下か http://seto-hi.hatenablog.com/entry/2017/12/04/084404
▪ 左が過去・否定、右が未来、肯定 • 否定でも肯定でもない、そこそこ重要なボタン ◦ 画面中央に白ベースでFloating • まだ改善点がある
破:Progress • Progress Dialogがひとつもない(守) ◦ 全画面でProgressBar表示も2カ所だけ • ボタンと円形Progressの切り替え • まだ改善点がある
◦ チラつき、連続性など
離
離
離:プレビュー画面 • 現実世界を意識させた画面 ◦ ポストカードを買ってもらうためのアプリ ◦ Material Designの世界だけでは不十分 ◦ 背景、影、サイズなど調整
• 「バーンとエモくしてください」 ◦ ランディングページ、GooglePlayと共通の背景、配色 • まだまだ発展途上
エンジニアは デザインに どのように 向き合うか
エンジニアが武器にする Material Design (p13~) https://speakerdeck.com/seto_hi/enziniagawu-qi-nisurumaterial-design
実装 • 実装できるものを増やす • Viewの実装に関する知識 ◦ どんなViewコンポーネントがある ◦ 描画、レイアウト、アニメーション •
逆引きで実装できるようになる ◦ 「◦◦したら××になる」ではなく 「××を実現するのには◦◦したら良い」という知識 ◦ 実現力
カスタムViewの勘所 • Drawable ◦ LayerDrawable、GradientDrawable • アニメーション ◦ beginDelayedTransition +
Transition(ChangeBounds, Fade, Slide) ◦ ValueAnimator, ObjectAnimator, StateListAnimator • Canvas ◦ clipPath, translate, rotate, scale ◦ save, restoreToCount
オススメの実装資料 • Android Support Libraryのコード ◦ 特にdesignライブラリ
オススメの資料(Animation系) • サポートライブラリを支える技術 ◦ http://yaraki.github.io/slides/gdg-kobe-2016q3 • 動かす ◦ http://yaraki.github.io/slides/devfest-kansai-2016 •
In transition ◦ https://goo.gl/photos/puv99eA7nz98Nkku9 • How to implement material design animation ◦ https://speakerdeck.com/takahirom/how-to-implement-material-design-animation
デザインへの貢献 • デザインの実現可能性の判断 ◦ 工数の見積もり ▪ 工数は守<破<離 ▪ エンジニアがデザインをやると 画面設計と工数見積もりが同時にできる
◦ 理想と妥協点の折り合い ▪ デザインの意図のくみ取り ▪ 実現可能なUIを提案 • Viewの知識がプロダクトの効率を高める!
まとめ • ガイドラインと守破離 ◦ 守:記憶・実践 ◦ 破:理解・応用 ◦ 離:独立 •
エンジニアは実装の知識で貢献 ◦ 実現可能性の判断 ◦ 実装工数
以上