Material Design
Let's get back in Time !
http://fabianburghardt.de/webolution/
Qu'est-ce qu'un bon design ?
Donne une identité Sert l'UX Simple à faire évoluer
BON DESIGN = DESIGN SIMPLE
La simplicité apporte de la clarté Un design complexe est coûteux Quelle valeur business ajoutée ?
google vs apple
Principal atout d'iOS
UX et design unifiés
Image de marque
Google et le design
UX avant identité graphique Applications indépendantes Pas d'équipe design centralisée
Comment c'est arrivé
Modifications incrémentales de Gmail
Refonte en 2014
Open source pour devancer Apple
dES CONVENTIONS POUR LES UNIR
Ensemble de règles design UX unifiée = prise en main rapide
Unification des applications Android
Pourquoi "Material Design" ?
penser material
Effets de lumières et de mouvement
Associations de couleurs précises
Animations représentent les actions
Composants = materiaux
Papier opaque
Effets de lumière et pas traversable
https://www.materialpalette.com/
colors et icons = identité graphique
animer les interactions
Élément actionnables au centre
Rapides et dynamiques
YOur turn to code !
bootstrap your app
Composants réutilisables et paramétrables
Nombreuses implémentation
jquery with materialize
Similaire à Bootstrap
Templates Symfony à venir !
https://staging.espace-patient.com/preadmission/cmc
jquery with materialize
{% extends 'form_div_layout.html.twig' %}
{% block form_row -%}
<div class="row{% if (not compound or force_error|default(false)) and not valid %} has-error{% endif %}">
<div class="input-field col s12">
{{- form_widget(form) -}}
{{- form_label(form) -}}
{{- form_errors(form) -}}
</div>
</div>
{%- endblock form_row %}
{% block form_label -%}
{%- set label_attr = label_attr|merge({class: (label_attr.class|default(''))|trim}) -%}
{{- parent() -}}
{%- endblock form_label %}
{% block checkbox_row -%}
<div class="row {% if not valid %} has-error{% endif %}">
{{- form_widget(form) -}}
{{- form_label(form) -}}
{{- form_errors(form) -}}
</div>
{%- endblock checkbox_row %}
angular material
Très rapide si utilisé tel quel
Difficile d'implémenter un design par dessus
https://app.scrumble.io/#!/
angular material
<md-dialog flex="80">
<md-toolbar>
<div class="md-toolbar-tools">
<h2>Edit Problem</h2><span flex="flex"></span>
<md-button ng-click="cancel()" class="md-icon-button">
<md-icon md-svg-src="close" aria-label="Close dialog"></md-icon>
</md-button>
</div>
</md-toolbar>
<md-dialog-content>
<div class="md-padding">
<md-content layout="column" class="fix-tags-input">
<div layout="row" layout-align="center center">
<md-datepicker ng-model="problem.happenedDate" md-placeholder="Date"></md-datepicker>
</div>
<md-input-container>
<label>Description</label>
<md-icon md-svg-src="clipboard-text"></md-icon>
<input ng-model="problem.description"/>
</md-input-container>
<md-input-container>
<label>Link (such as the Trello ticket link)</label>
<md-icon md-svg-src="link"></md-icon>
<input ng-model="problem.link"/>
</md-input-container>
material ui
Implémentation pour React
Mêmes avantages et inconvénients
material ui
class Sidebar extends Component {
render () {
let _props = this.props
return (
<div className='sidebar'>
<Drawer
docked={false}
open={_props.opened}
onRequestChange={(open) => _props.toggleMenu({ open })}
>
<Link to='/'>
<MenuItem
leftIcon={<ActionHome />}
onTouchTap={this.props.closeMenu}
>
Home
</MenuItem>
</Link>
<Divider />
<MenuItem
leftIcon={<ActionInfo />}
onTouchTap={this.props.closeMenu}
>
Information
</MenuItem>
</Drawer>
</div>
)
}
}
export default Sidebar
Polymer js
Language composant de Google
Open Source
Implémentation d'animations
Polymer js
<link rel="import" href="../bower_components/polymer/polymer.html">
<link rel="import" href="shared-styles.html">
<dom-module id="my-view2">
<template>
<style include="shared-styles">
:host {
display: block;
padding: 10px;
}
</style>
<div class="card">
<div class="circle">2</div>
<h1>View Two</h1>
<p>Ea duis bonorum nec, falli paulo aliquid ei eum.</p>
<p>Id nam odio natum malorum, tibique copiosae expetenda mel ea.Detracto suavitate repudiandae no eum. Id adhuc minim soluta nam.Id nam odio natum malorum, tibique copiosae expetenda mel ea.</p>
</div>
</template>
<script>
Polymer({
is: 'my-view2'
});
</script>
</dom-module>
Merci de votre attention
questions ?
Material Design
By Nicolas Ngô-Maï
Material Design
- 338