# !Arrarray!
##### Drupal Theming
##### DrupalCamp Quito 2015
####### Martes 20 Octubre 2015
#### James Wilson
![James Wilson](img/james.png "James")
##### [@jwilson3](https://twitter.com/jwilson3)
## Diapositivos
[bit.ly/arrarray](http://bit.ly/arrarray)
![backgrounds](img/constant-change.jpg "background")
####### Lo único constante
es el cambio
## Browser Support
- ≥IE9
- SVG (no Android 2.3)
# ☹
[d.o/project/ie8](https://www.drupal.org/project/ie8)
(por si lo necesitas)
## HTML(5)
- formato schema.org (RDFa)
- Mejor accessibilidad.
- Atributos WAI-ARIA.
- Atributos _data_.
- Niveles DOM: D7 17, D8 17
## CSS(3)
- Menos \#IDs
- SMACSS & BEM
- Clases definidos en TWIG
- [d.o/coding-standards/css](https://www.drupal.org/coding-standards/css)
## Javascript
- jQuery v2.x
- Modernizr - detección
- Backbone.js - MVC
- Underscore.js - utilidades
## Templating
- _PHPTemplate_ => _Twig_
- `theme_*` y `*.tpl.php` => `*.html.twig`
- Mas limpio.
- Mas seguro.
- Mas facil.
## Performance
- _Agregación de CSS y JavaScript_ por defecto.
## Components
- Mejor experiencia admin
- Nuevos elementos
- Botones desplegables
- Dialogos modales
## Responsivo
- Themes, toolbar, imagenes, y tablas
- Breakpoint media queries
## SVG
- Druplicon
- Throbbers/Spinners
- Icono RSS
![backgrounds](img/sunset.jpg "background")
######## Más Allá
## Metas
- Reducir repeticion
- Codigo más eficiente
- Reducir tamaño de recursos
## SASS
- Extender la sintaxis de CSS con:
- `$variables`
- `.reglas{.encajadas{}}`
- inline `@imports`
- `@mixins` (funciones)
## Compass
- caja de herramientas
- vendor prefixes
## Autoprefixer
Crear CSS prefijos automaticamente
según datos de caniuse.com
[caniuse.com/svg](http://caniuse.com/svg)
![caniuse.com/svg](img/caniuse.png "SVG Support Oct 2015")
a {
display: flex;
}
a {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex
}
## NPM, Grunt, Gulp
- concatenar archivos
- mejorar sintaxis (js/css hint)
- correr pruebas
- minificar js, css, svg
- monitorear cambios
## Optimización front-end
- Drupal
- CDN
- ImageAPI Optimize (Yahoo! SmushIt)
- CSSTidy
- Non-drupal
## Divitis D7
No hay una bala mágica
Mothership
## Divitis D8
Classy o Stable
## Classy
Favorite horses
Black Stallion
Shadowfax
Hidalgo
## Stable
Favorite horses
Black Stallion
Shadowfax
Hidalgo
## Recursos
- [#57563: modulos de optimizacion front-end](https://groups.drupal.org/node/57563)
- [caniuse.com](http://caniuse.com/svg)
- [d.o/documentation/theme](https://www.drupal.org/documentation/theme)
- [#2356951: Diferencias de Theming 6,7, y 8](https://www.drupal.org/node/2356951)
#### Gracias!!
James Wilson [@jwilson3](https://twitter.com/jwilson3)
## Diapositivos [bit.ly/arrarray](http://bit.ly/arrarray)