Material Design and HTML5
#3 HTML5 minutes! ~ triton-js ~
@yoheiMune
2014/9/26
Slide 2
Slide 2 text
about me
✓ फఆ ༸ฏʢ@yoheiMuneʣ
✓ (ג)αΠόʔΤʔδΣϯτ
✓ ϑϩϯτΤϯυΤϯδχΞ
✓ blog -> http://www.yoheim.net
Slide 3
Slide 3 text
Agenda
1. Material Design
2. Polymer
3. Material Design in HTML5
4. Tasting a Paper Element
Slide 4
Slide 4 text
1. Material Design
https://www.google.com/events/io#wtLJPvx7-ys
Slide 5
Slide 5 text
Material Design is …
✓ Google IO 2014Ͱൃද͞Εͨ
✓ GoogleࣾͷϓϩμΫτʹ͓͚Δڞ௨ͷϏδϡΞϧݴޠ
✓ Android L ͳͲ͜Ε͔ΒͷGoogleʹࡌ͞ΕΔ༧ఆ
✓ ʹͳ͍ͬͯΔ͕ɺผʹੈքڞ௨ͱ͍͏༁Ͱͳ͍
Slide 6
Slide 6 text
http://www.google.com/design
Google Design
Slide 7
Slide 7 text
·ͣ Material Design Λ
ମݧͯ͠Έ·͠ΐ͏
https://www.youtube.com/watch?v=Q8TXgCzxEnw#t=21
Slide 8
Slide 8 text
No content
Slide 9
Slide 9 text
From Video
✓ ৭ʑͳཁૉ͕Β͔ʹಈ͍͍ͯΔ
✓ ༷ʑͳը໘αΠζ͕͋Δ
✓ ࢴͷ্ʹཁૉ͕ஔ͞Ε͍ͯΔײ͡Λड͚Δ
✓ etc
✓ ΠϯΫΛਫ໘ʹམͱͨ͠Α͏ͳͷΤϑΣΫτ
Slide 10
Slide 10 text
Goal of Material Design
Develop a single underlying system that
allows for a unified experience across
platforms and device sizes
ଟ༷ͳϓϥοτϑΥʔϜσόΠεαΠζͰ
౷Ұͨ͠ମݧΛఏڙ͢Δ
Slide 11
Slide 11 text
Concept of Material Design
Material
is the metaphor
Bold,
graphic, intentional
Motion
provides meaning
Slide 12
Slide 12 text
Material is the metaphor
ϚςϦΞϧϝλϑΝʔͰ͋Δ
✓ ϚςϦΞϧσβΠϯૉΒ͍͠ݱ࣮ੈքΛݩʹ͍ͯ͠Δ
✓ ߹ཧతͳۭؒηΦϦʔͱϞʔγϣϯݪཧΛ౷߹͍ͯ͠Δ
✓ ݱ࣮ੈքͱ͍͍ۙ͠৺Λఏڙ͢Δ͜ͱͰ
Ϣʔβʔ͙͢ʹͦͷΞϑΥʔμϯεΛཧղ͢Δ͜ͱ͕Ͱ͖Δ
✓ ࢴΠϯΫͷੈքΛࢀߟʹ͍ͯ͠Δ
Re: Concept of Material Design
ݱ࣮ੈքΛݩʹ͍ͯͯ͠
େʹɺੜ͖ੜ͖ͱɺҙਤతʹɺσβΠϯͯ͠
ಈ͖ʹҙຯΛ࣋ͨͤΔ
Slide 16
Slide 16 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
http://www.google.com/design/spec/material-design/introduction.html
Slide 17
Slide 17 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Authentic Motion
-Responsive Interaction
-Meaningful Transitions
-Delightful Details
Slide 18
Slide 18 text
No content
Slide 19
Slide 19 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Color
-Typography
-Icons
-Imagery
Slide 20
Slide 20 text
No content
Slide 21
Slide 21 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Principles
-Metrics and Keylines
-Structure
Slide 22
Slide 22 text
✓ z-space
✓ step
✓ seam
Slide 23
Slide 23 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Bottom Sheets
-Buttons
-Cards
-Chips
-Dialogs etc…
Slide 24
Slide 24 text
No content
Slide 25
Slide 25 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Selection
-Gestures
-Promoted Actions
-Settings
-Image Treatment etc…
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Parts of Material Design
✓ Animation
✓ Style
✓ Layout
✓ Components
✓ Patterns
✓ Usability
-Accessibility
Slide 28
Slide 28 text
https://www.youtube.com/watch?v=Q8TXgCzxEnw#t=21
ݱ࣮ੈքΛݩʹ͍ͯͯ͠
େʹɺੜ͖ੜ͖ͱɺҙਤతʹɺσβΠϯͯ͠
ಈ͖ʹҙຯΛ࣋ͨͤΔ
͏Ұ Material Design Λ
ମݧͯ͠Έ·͠ΐ͏
Slide 29
Slide 29 text
No content
Slide 30
Slide 30 text
Learn More …
✓ Google I/O 2014 Keynote
https://www.google.com/events/io#wtLJPvx7-ys
✓ Material Design Specification
http://www.google.com/design/spec/material-design
✓ Material Design Overview
http://static.googleusercontent.com/media/www.google.com/en//design/material-design.pdf
Slide 31
Slide 31 text
Material Design to the Web
✓ Material Design ΛͲͷΑ͏ʹWebʹద༻͢Δ͔
✓ Polymer ͕ Material Design Λ࣮͍ͯ͠Δ
✓ ಛʹ Animation ෦͔ͳΓͦ͠͏
Slide 32
Slide 32 text
2. Polymer
Slide 33
Slide 33 text
What is Polymer ?
✓ Web Components Λϕʔεͱͨ͠ະདྷΛ࡞ΔϥΠϒϥϦ
✓ Google
✓ Material Design αϙʔτ
Slide 34
Slide 34 text
What is Polymer ?
✓ Web Components Λϕʔεͱͨ͠ະདྷΛ࡞ΔϥΠϒϥϦ
✓ Google
✓ Material Design αϙʔτ
Slide 35
Slide 35 text
Polymer
vs
jQuery, Backbone,
Bootstrap, etc
What is the difference between
͘ීٴٕͨ͠ज़Λར༻
৽ٕज़Λར༻
Point1: ར༻ٕज़
Slide 36
Slide 36 text
Polymer
vs
jQuery, Backbone,
Bootstrap, etc
What is the difference between
ར༻ٕज़ΛΑΓศརʹ͏
৽ٕज़ͷར༻ͷΛ͍ͪૣ͘ఏڙ͠
ϑΟʔυόοΫΛฦ͢
Point2: త
Slide 37
Slide 37 text
✓ Web Components
✓ Web Animations
✓ Pointer Events
✓ Data Binding
What Polymer depends on ?
Slide 38
Slide 38 text
- HTML Imports
- HTML Template
- Custom Elements
- Shadow DOM
UIίϯϙʔωϯτͷඪ४Խ
✓ Web Components
✓ Web Animations
✓ Pointer Events
✓ Data Binding
What does Polymer use ?
Slide 39
Slide 39 text
- CSS3 Transitions
- CSS3 Animations
- SVG Animations
- requestAnimationFrame
நԽ͞ΕͨAnimationϞσϧ
✓ Web Components
✓ Web Animations
✓ Pointer Events
✓ Data Binding
What does Polymer use ?
Slide 40
Slide 40 text
What does Polymer use ?
- Object.observe
- MutationObserver
DOMͱJSͱͷσʔλ࿈ܞ
✓ Web Components
✓ Web Animations
✓ Pointer Events
✓ Data Binding
Slide 41
Slide 41 text
What does Polymer use ?
- polymer-gestures
σόΠεґଘ͠ͳ͍δΣενϟ
✓ Web Components
✓ Web Animations
✓ Pointer Events
✓ Data Binding
Slide 42
Slide 42 text
No content
Slide 43
Slide 43 text
How is Polymer related to material design ?
Polymer played a key role in material
design’s development: it is used to quickly
prototype and iterate on design concepts.
Polymer Material Design ͷϓϩτλΠϓͱͯ͠
ར༻͞Ε͍ͯͯɺͦͷσβΠϯίϯηϓτ͕
܁Γฦ͠ద༻͞Ε͍ͯΔ
http://www.polymer-project.org/resources/faq.html
Slide 44
Slide 44 text
3. Material Design in HTML5
Slide 45
Slide 45 text
Core Elements
Paper Elements
Slide 46
Slide 46 text
Core Elements Paper Elements
✓ core-header-panel
✓ core-toolbar
✓ core-drawer-panel
✓ core-icon
✓ core-ajax
✓ etc… about 40 items
✓ paper-button
✓ paper-icon-button
✓ paper-tab
✓ paper-ripple
✓ paper-shadow
✓ etc… about 20 items
http://www.polymer-project.org/docs/elements/layout-elements.html