SlideShare una empresa de Scribd logo
1 de 145
Descargar para leer sin conexión
Diseñar webs rápidas, flexibles y potentes
twitter.com/manz
¿Qué idea tenemos de
una web?
> emezeta.com
?
> pero… ¿qué ocurre aquí?
¿Cómo funciona una web
por dentro ?
> front-end
> front-end > back-end
> back-end> front-end
> back-end
> servidores web
Apache, nginx, LiteSpeed...
> back-end
> servidores web
Apache, nginx, LiteSpeed...
> bases de datos
MySQL, PostgreSQL, MongoDB...
> back-end
> servidores web
Apache, nginx, LiteSpeed...
> bases de datos
MySQL, PostgreSQL, MongoDB...
> lenguajes
PHP, NodeJS, Python, Ruby, Java...
Pero en esta ocasión vamos a
hablar de front-end...
> front-end > Lenguaje HTML
Estructura y contenido web
> front-end > Lenguaje HTML
Estructura y contenido web
> Lenguaje CSS
Diseño y aspecto visual
> front-end > Lenguaje HTML
Estructura y contenido web
> Lenguaje CSS
Diseño y aspecto visual
> Lenguaje JS
Programación web en front-end
Antes de empezar,
varios detalles...
> Hay 3 formas de hacer una web
> Hay 3 formas de hacer una web
Llamar al que sabe
> Hay 3 formas de hacer una web
Pagar al que sabe
> Hay 3 formas de hacer una web
Hacer que Chuck Norris se
sienta orgulloso de nosotros
Canary Chrome
Firefox Dev Opera Dev
> Chrome Dev Tools
[CTRL+SHIFT+I]
> Aprende a a la terminal
> nodejs >
(Javascript en el servidor) Node Package Manager
¿Cuál es la peor pesadilla de un
diseñador/desarrollador web?
¿Cuál es la peor pesadilla de un
diseñador/desarrollador web?
(A parte de Internet Explorer)
> ¿Consumo de RAM? [SHIFT+ESC]
Bueno, podría... pero no...
> Fragmentación web
En un navegador se ve genial,
pero cuando intentamos verlo en otro...
> Fragmentación web
> Fragmentación web
> CanIUse.com
HTML TEST.COM
CSS TEST.COM
> DoIUse.com
> objetivos > Rápida
Debe cargar lo más rápido posible.
> objetivos > Rápida
Debe cargar lo más rápido posible.
> Flexible
Debe ser fácil de mantener.
> objetivos > Rápida
Debe cargar lo más rápido posible.
> Flexible
Debe ser fácil de mantener.
> Potente y eficiente
Usar los recursos a tu alcance.
HTML5
Estructura y contenido
> HTML5
<div id="panel">
<h3>Selecciona tu opción:</h3>
<select id="tipo" class="flat">
<option value="1">Opción #1</option>
<option value="2">Opción #2</option>
<option value="3">Opción #3</option>
</select>
</div>
lenguajehtml.com
> HTML5
> Minificación de código
Objetivo: Reducir el peso del archivo.
Minify, Uglify (minificadores)
Prettify, Beautify (desminificadores)
> Minificación de código
<div class="text">
<h3>Información</h3>
<a href="http://twitter.com/Manz">@Manz</a>
<a href="http://www.emezeta.com/">Web</a>
</div>
...
<div class="text"><h3>Infor
mación</h3><a href="http://
twitter.com/Manz">@Manz<
/a><a href="http://www.eme
zeta.com/">Web</a></div>
...
11KB32KB
> Minificación de código
- Eliminar (colapsar) espacios y/o saltos de línea.
- Eliminar comentarios.
- Reducir código (borrar redundancias, usar alternativas...).
- Reagrupar selectores CSS.
- Redondear unidades a “X” decimales.
Objetivo: Reducir el peso del archivo.
Minify, Uglify (minificadores)
Prettify, Beautify (desminificadores)
> npm install -g html-minifier
> html-minifier index.html
--minify-css --minify-js --remove-script-
type-attributes --remove-style-link-type-
attributes --use-short-doctype --remove-
comments
--collapse-whitespace -o index.min.html
> cat index.html | html-minifier
> Minificación HTML
Minifica el CSS o el
JS “inline” (requiere
cleancss / uglifyjs)
Elimina atributos
“type” o simplifica
DocType (HTML5)
Elimina los
comentarios HTML
del documento
Elimina (colapsa)
los espacios en
blanco del HTML
> Selectores CSS
div#info
div.flat
ul.links a
<div id="info">Info</div>
<div class="flat">...</div>
<ul class="links">
<li>
<a href="#link">enlace</a>
</li>
</ul>
> EMMET
select#tipo>option[value=$]{Opción #$}*3
bit.ly/emmetcheat
<select id="tipo">
<option value="1">Opción #1</option>
<option value="2">Opción #2</option>
<option value="3">Opción #3</option>
</select>
TAB
> HAML > JADE > Slim
slim-lang.comjade-lang.comhaml.info
> HAML
#panel
%h3 Selecciona tu opción:
%select#tipo.flat
%option{:value => "1"} Opción #1
%option{:value => "2"} Opción #2
%option{:value => "3"} Opción #3
haml.info
> JADE
#panel
h3 Selecciona tu opción:
select#tipo.flat
option(value='1') Opción #1
option(value='2') Opción #2
option(value='3') Opción #3
jade-lang.com
> JADE
include info.include.jade
- var title = "Selecciona tu opción"
#panel
h3= title
select#tipo.flat
ul
each val in [1, 2, 3]
option(value=val) Opción ##{val}
jade-lang.com
Incluir código HTML
de forma muy
organizada.
Variables
personalizadas
con contenido.
Estructuras de
control, bucles o
facilidades.
> APIS de HTML5
WebStorage
API MultimediaGeolocalización
Vibración
michelacosta.com
> APIS de HTML5
La web debe ser rápida
...para los usuarios
...para los buscadores
> emezeta.com
DNS ConexiónSSL Subida Espera Descarga
Dominio Alojamiento Contenido
html
Redirección
Backend ¿Depende
del usuario?
Se puede optimizar
> Velocidad
> Fuente: Google Analytics
Dominio
Conexión
Redirección
Respuesta
Descarga
Total
Restante
0,02s
0,10s
0,24s
0,30s
0,15s
5,69s
4,88s
DominioAlojamientoWeb
CSS
html
PNG
PNG
JPG
JPG
JS
> esto ocurre por cada recurso de la web
al principio
al final
> Chrome Dev Tools
> Pingdom Tools
> Google PageSpeed
> Web Page Test
http://tools.pingdom.com/fpt/
https://developers.google.com/speed/pagespeed/
http://www.webpagetest.org/
> Reducir número de peticiones
zerosprites.com
> Reducir número de peticiones
spritecow.com
> Reutilizar peticiones
cdnjs.com jsdelivr.com
caché
> Tipo datos
> Fuente: http://httparchive.org/
Imágenes
Scripts
Videos
Fuentes
CSS
HTML
1332KB
337KB
227KB
100KB
64KB
54KB
> Imágenes
> Fuente: http://httparchive.org/
JPG
PNG
GIF
Otros
WebP
46%
29%
23%
2%
~1%
> Fuentes
> Fuente: http://httparchive.org/
Fuentes
Sin fuentes
53%
47%
¿Hay otra forma de reducir
peticiones?
> FontAwesome
fontawesome.io
> WebFont
PNG
A B C
> WebFonts
> No pierden resolución al ampliar/reducir
> Son fuentes, puedes tratarlas con CSS
> WebFonts
> No pierden resolución al ampliar/reducir
> Son fuentes, puedes tratarlas con CSS
> Desventaja: Sólo un color
> Desventaja: Quiero un icono específico
> ¿Solución?
> ¿Solución?
> IcoMoon
icomoon.io/app
> Reducir tiempo de descarga
Reducir tamaño
¿¿Cómo??
> Utilizar compresión HTTP (GZip)
GZip? GZip?
15KB
85KB
html
GZip!
85KB
html
> curl -L -H Accept-encoding:gzip -I emezeta.com
HTTP/1.1 200 OK
Server: nginx
Date: Thu, 02 Jul 2015 03:28:17 GMT
Content-Type: text/html; charset=UTF-8
Content-Length: 20
Connection: keep-alive
Vary: Accept-Encoding
Content-Encoding: gzip
> ¿Usa compresión HTTP?
El sitio web
comprime en gzip
los documentos
Sólo algunos
formatos pueden
usar compresión
HTTP: html, json,
css, js, xml, svg...
Pregunto si el sitio
web soporta
compresión HTTP
> npm install -g imagemin
gifsicle@3.0.1 postinstall
√ gifsicle pre-build test passed successfully
jpegtran-bin@3.0.2 postinstall
√ jpegtran pre-build test passed successfully
optipng-bin@3.0.2 postinstall
√ optipng pre-build test passed successfully
imagemin@3.2.0
├── get-stdin@4.0.1
├── path-exists@1.0.0
├── optional@0.1.3
...
> Optimización de imágenes
> ls -lh image.png
-rw-r--r-- Manz 447k image.png
> imagemin image.png
> ls -lh buildimage.png
-rw-r--r-- Manz 369k image.png
> Optimización de imágenes
> npm install -g jpgo
> jpgo image.jpg
image.jpg before=153.6 kB after=144.93 kB
reduced= 8.67 kB
> Optimización de imágenes
CSS3
Diseño y apariencia
> CSS3
button.flat {
border: 0;
border-radius: 25px;
padding: 10px;
background: RGBA(0,0,0, 0.5);
color: white;
transition: all 2s ease-in-out;
}
button.flat:hover {
background: #A00;
cursor: pointer;
transition: all 1s ease;
}
lenguajecss.com
> CSS3
lenguajecss.com/css/
#contenedor {
border: 4px solid white;
padding: 10px;
display: flex;
}
.item {
width: 25px;
}
.item-1 { background: red; order: 1 }
.item-2 { background: green; order: 2 }
.item-3 { background: blue; order: 3 }
1 2 3
> FlexBox
#contenedor {
border: 4px solid white;
padding: 10px;
display: flex;
}
.item {
width: 25px;
}
.item-1 { background: red; order: 3 }
.item-2 { background: green; order: 2 }
.item-3 { background: blue; order: 1 }
3 12
> FlexBox
#contenedor {
border: 4px solid white;
padding: 10px;
display: flex;
flex-direction: column;
}
.item {
width: 25px;
}
.item-1 { background: red; order: 3 }
.item-2 { background: green; order: 2 }
.item-3 { background: blue; order: 1 }
> FlexBox
3
1
2
img {
border: 2px solid white;
width: 300px;
margin: .4em;
}
.original { }
.sepia { filter: sepia(1) }
.brillo { filter: brightness(1.5) }
.contraste { filter: contrast(1.5) }
.grayscale { filter: grayscale(1) }
.hue { filter: hue-rotate(150deg) }
> Filtros CSS
Codepen: RPMbbx
> CSS es muy potente
http://i.imgur.com/47xkq4v.jpg
#earth {
width: 300px;
height: 300px;
border-radius: 50%;
background: url(http://i.imgur.com/47xkq4v.jpg);
background-repeat: repeat-x;
margin: 5em auto;
animation: rotacion 6s linear infinite;
box-shadow: inset 0 0 25px 5px #000;
}
@keyframes rotacion {
0% { background-position: 620px }
100% { background-position: 0 }
}
> CSS es muy potente
Codepen: OVQYEY
> Animaciones CSS
bit.ly/animacionescss
> npm install -g clean-css
> cleancss index.css
--keep-line-breaks --rounding-precision 1
--s0 --skip-shorthand-compacting
--skip-advanced -o index.min.css
> cat index.css | cleancss
> Minificación CSS
Respeta los saltos
de línea (no une en
una sola línea)
Elimina
comentarios CSS.
Redondea
unidades CSS a 1
decimales (def: 2)
Desactiva
optimizaciones
(shorthands,
compresión...)
> EMMET
animps:r
bit.ly/emmetcheat
animation-play-state: running;|
TAB TABmr
margin-right: |;
TAB
margin-right: 5px;|
mr:5
> LESS > SASS > Stylus
bit.ly/styluscsssass-lang.comlesscss.org
> LESS
@import "core.less";
.transition(@time: 1s) {
transition: all @time ease;
-webkit-transition: all @time ease;
}
button.flat {
border: 0;
border-radius: 25px;
padding: 10px;
background: RGBA(0,0,0, 0.5);
color: white;
.transition(2s);
&:hover {
background: #A00;
cursor: pointer;
.transition;
}
}
lesscss.org
> autoprefixer
img#mario {
image-rendering: -webkit-optimize-contrast;
image-rendering: -moz-crisp-edges;
image-rendering: -o-pixelated;
image-rendering: pixelated;
}
bit.ly/aprefixer
img#mario {
image-rendering: pixelated;
}
(ahora forma parte de postcss)
> cssnext
a:hover {
color: color( red blackness(80%) ); // Oscurecer colores
background-color: #44556677; // Soporta c. alfa en hex
}
:root {
--mainColor: red; // Define variable CSS “mainColor”
}
a {
color: var(--mainColor); // Usa variable CSS
}
img.sepia {
filter: sepia(1); // Organiza código (autoprexifer, minify…)
}
cssnext.io
> npm install -g uncss
> uncss http://www.emezeta.com/ > out.css
> CSS no utilizado
Elimina estilos
CSS sin utilizar.
Guarda los
cambios en el
archivo out.css
> SVG
<svg xmlns="http://www.w3.org/2000/svg">
<path d="M9.43 206.88
l35-145 30.7 75.72 30.73-72.86 25.7 139.28
42.15-135.7 42.87 137.85v
-135L308 202.6V71.17h
102.14l-89.28 134.28 121.43-.7" />
</svg>
> Inkscape
2,1KB
> Optimización de SVG
> npm install -g svgo
> svgo -i manz.svg -p 2 --pretty -o manz.min.
svg
Done in 72 ms!
2.113 KiB - 88.3% = 0.247 KiB
Redondea a 2 decimales
las unidades utilizadas.
Respeta los saltos
de línea y usa
indentaciones.
0,2KB
> SVG
path {
fill: none; /* Trazos sin relleno */
stroke: #222;
stroke-dasharray: 2000px 2000px; /* line,space */
stroke-dashoffset: 2000px; /* Desplazamiento */
stroke-width: 8px;
}
/* Al mover sobre la región SVG... */
svg:hover path {
stroke-dashoffset: 0;
transition: stroke-dashoffset 8s linear;
}
> SVG+CSS
codepen.io/manz/pen/OVQLbG
(¡con apenas 4 líneas de
código HTML y 9 de CSS!)
responsivelogos.co.uk
d3js.org
> d3
Javascript
Programación en cliente
> JavaScript var nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
fives = []
nums.forEach(v => {
if (v % 5 === 0)
fives.push(v)
})
console.log(fives)
lenguajejs.com
> npm install -g uglifyjs
> uglifyjs index.js
--comments all --compress --lint
-o index.min.js
> cat index.min.js | uglifyjs --beautify 2>null
> Minificación JS
Preserva todos los
comentarios JS
(permite RegExp)
Activa el
compresor de
código JS.
Parsea y avisa de
errores Javascript.
Des-minifica el
código Javascript
mostrado con cat.
> CoffeeScript
var i, j;
for (i = j = 0; j <= 10; i = ++j) {
alert(i);
}
coffeescript.org
alert i for i in [0..10]
También tenemos fragmentación...
=
Estándar ECMAScript
ES5 ES6 ES7
JUN/2015DIC/2009 En progreso
kangax.github.io/compat-table/es6
> babel
const PI = 3.14
let func = e => console.log(e)
func(5)
func(`El valor de PI es ${PI}.`)
babeljs.io
"use strict"
var PI = 3.14
var func = function(e) {
return console.log(e)
}
func(5)
func("El valor de PI es " + PI + ".")
> JQuery
jquery.com
var request = new XMLHttpRequest();
request.open('GET', '/url', true);
request.onreadystatechange = function() {
if (this.readyState === 4)
if (this.status >= 200 && this.status < 400)
var data = JSON.parse(this.responseText);
};
request.send();
$.getJSON('/url', function(data) {
// código
});
> Rendimiento
codepen.io/manz/pen/JdEXKW
youmightnotneedjquery.com
$('#users li')
document.querySelectorAll('#users li')
Datos
Formatos ligeros
> XML
w3.org/XML/
<?xml version="1.0" encoding="UTF-8" ?>
<root>
<array>1</array>
<array>2</array>
<array>3</array>
<array>4</array>
<array>5</array>
<booleano>true</booleano>
<objeto>
<a>4</a>
<b>Texto</b>
<c />
</objeto>
</root>
> JSON
json.org
{
"array": [1, 2, 3, 4, 5],
"booleano": true,
"objeto": {
"a": 4,
"b": "Texto",
"c": null
}
}
ejemplo.json
1 2 3 4 5
4
Texto
Compatible con JS
bit.ly/chromejsonview
> YAML
yaml.org
---
array: [1, 2, 3, 4, 5]
booleano: true
objeto:
a: 4
b: 'Texto'
c: null
jekyllrb.com
---
layout: post
category: tecnología
tags: [web, blogs]
---
# Título
Esto es un **pequeño
ejemplo** de un artículo
escrito con *markdown*
y *YAML Front Matter*.
Nuevos CMS:
Generadores estáticos
JSON
0,09KB0,1KB0,3KB
¡Quiero algo más cómodo!
¡Pero todo esto es mucho trabajo!
sitioweb
src
index.jade
menu.include.jade
css
index.less
js
index.js
lazyload-plugin.js
img
logo.psd
logo.png
sitioweb
dist
index.html
css
index.css
index.min.css
js
index.js
index.min.js
img
logo.png
src: Carpeta fuente dist: Carpeta destino
Editores
Programas flexibles
> Atom
atom.io
> Sublime Text
sublimetext.com
> Sublime > Atom > Brackets
brackets.ioatom.iosublimetext.com
Task Runners
Programadores de tareas
> Grunt > Gulp > Broccoli
broccolijs.comgulpjs.comgruntjs.com
> Gulp
gulpjs.com
GULP
GULP
> Gulp
gulpjs.com
CSS
MIN.CSS
LESS
> Gulp
gulpjs.com
> gulp
TIDY
> gulpfile.js
gulpjs.com
var gulp = require('gulp')
var minifycss = require('gulp-minify-css')
var autoprefixer = require('gulp-autoprefixer')
var rename = require('gulp-rename')
gulp.task('default', function() {
return gulp.src('index.css')
.pipe(autoprefixer())
.pipe(minifycss())
.pipe(rename('index.min.css'))
.pipe(gulp.dest('dist/css'))
})
Requiere instalar previamente:
npm install -g gulp
npm install --save-dev gulp gulp-minify-css
gulp-autoprefixer gulp-rename
> gulp
> plugins
gulpjs.com/plugins/
> gulp-minify-css
> gulp-autoprefixer
> gulp-concat
> gulp-coffee
> gulp-webserver
> gulp-image
> gulp-htmlmin
> gulp-run
> gulp-less
> gulp-jade
> gulp-babel
> gulp-newer
(con livereload)
(jpg, png, svg...)
> ¿Mucha información?
bit.ly/aprendehtml5bit.ly/aprendecss3
> Cursos de CSS3 y HTML5
Próximamente
> Curso de Javascript
> ¡Gracias!

Más contenido relacionado

Destacado

Flujos de trabajo para la web moderna
Flujos de trabajo para la web modernaFlujos de trabajo para la web moderna
Flujos de trabajo para la web modernaMarcos Gonzalez
 
Mejores practicas front end
Mejores practicas front endMejores practicas front end
Mejores practicas front endSoftware Guru
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendLeonidas Esteban González
 
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)Román Hernández
 
El Club de los Developers: Back to the future #TLP2016
El Club de los Developers: Back to the future #TLP2016El Club de los Developers: Back to the future #TLP2016
El Club de los Developers: Back to the future #TLP2016Román Hernández
 
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)Román Hernández
 
Subtitular videos con Aegisub
Subtitular videos con AegisubSubtitular videos con Aegisub
Subtitular videos con AegisubRomán Hernández
 
Chicisimo App Móvil
Chicisimo App MóvilChicisimo App Móvil
Chicisimo App MóvilGertrumm
 
Optimización de imágenes (mejor calidad y menor tamaño)
Optimización de imágenes (mejor calidad y menor tamaño)Optimización de imágenes (mejor calidad y menor tamaño)
Optimización de imágenes (mejor calidad y menor tamaño)Román Hernández
 
Brand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoBrand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoAthento
 
Slide 1
Slide 1Slide 1
Slide 1y2k_mx
 
Experimentos Growth Hacking (#1)
Experimentos Growth Hacking (#1)Experimentos Growth Hacking (#1)
Experimentos Growth Hacking (#1)Román Hernández
 
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + Demo
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + DemoAlfresco Day Brussels 2016 - Alfresco One Product Suite Update + Demo
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + DemoAlfresco Software
 
Scio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parteScio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parteScio Consulting
 

Destacado (20)

Flujos de trabajo para la web moderna
Flujos de trabajo para la web modernaFlujos de trabajo para la web moderna
Flujos de trabajo para la web moderna
 
Mejores practicas front end
Mejores practicas front endMejores practicas front end
Mejores practicas front end
 
Las Herramientas de un Frontend
Las Herramientas de un FrontendLas Herramientas de un Frontend
Las Herramientas de un Frontend
 
Flujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontendFlujos de trabajo para un desarrollador web frontend
Flujos de trabajo para un desarrollador web frontend
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
 
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)
Introducción al Growth Hacking (TLP Tenerife - TLP Innova 2014)
 
El Club de los Developers: Back to the future #TLP2016
El Club de los Developers: Back to the future #TLP2016El Club de los Developers: Back to the future #TLP2016
El Club de los Developers: Back to the future #TLP2016
 
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)
Novedades de Front-end 2016 (CSS3, HTML5 y APIs Javascript)
 
Subtitular videos con Aegisub
Subtitular videos con AegisubSubtitular videos con Aegisub
Subtitular videos con Aegisub
 
Chicisimo App Móvil
Chicisimo App MóvilChicisimo App Móvil
Chicisimo App Móvil
 
Optimización de imágenes (mejor calidad y menor tamaño)
Optimización de imágenes (mejor calidad y menor tamaño)Optimización de imágenes (mejor calidad y menor tamaño)
Optimización de imágenes (mejor calidad y menor tamaño)
 
Brand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con AthentoBrand Asset Management y Gestión Documental con Athento
Brand Asset Management y Gestión Documental con Athento
 
Slide 1
Slide 1Slide 1
Slide 1
 
Presentación de Alkaid - Compañía de Software
Presentación de Alkaid - Compañía de SoftwarePresentación de Alkaid - Compañía de Software
Presentación de Alkaid - Compañía de Software
 
Experimentos Growth Hacking (#1)
Experimentos Growth Hacking (#1)Experimentos Growth Hacking (#1)
Experimentos Growth Hacking (#1)
 
Novedades en Alfresco One 5.0
Novedades en Alfresco One 5.0Novedades en Alfresco One 5.0
Novedades en Alfresco One 5.0
 
Arquitectura en Alfresco
Arquitectura en AlfrescoArquitectura en Alfresco
Arquitectura en Alfresco
 
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + Demo
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + DemoAlfresco Day Brussels 2016 - Alfresco One Product Suite Update + Demo
Alfresco Day Brussels 2016 - Alfresco One Product Suite Update + Demo
 
Chicisimo
ChicisimoChicisimo
Chicisimo
 
Scio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parteScio Talks - Gobierna el Frontend 1er parte
Scio Talks - Gobierna el Frontend 1er parte
 

Similar a Front-end: Diseñar webs rápidas, flexibles y potentes

High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web SitesopenfinanceDev
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLLorena Fernández
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bdJulio Pari
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front endDavid Hurtado
 
WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17Javier Agudo
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoFernando Serer
 
Html5 y css3: Introducción y aplicación desde hoy
Html5 y css3: Introducción y aplicación desde hoyHtml5 y css3: Introducción y aplicación desde hoy
Html5 y css3: Introducción y aplicación desde hoyParadigma Digital
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Asier Marqués
 

Similar a Front-end: Diseñar webs rápidas, flexibles y potentes (20)

High performance Web Sites
High performance Web SitesHigh performance Web Sites
High performance Web Sites
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
Html5 g@tv
Html5 g@tvHtml5 g@tv
Html5 g@tv
 
Php07 consultas bd
Php07 consultas bdPhp07 consultas bd
Php07 consultas bd
 
Programacion web
Programacion webProgramacion web
Programacion web
 
Fundamentos del diseño web front end
Fundamentos del diseño web front endFundamentos del diseño web front end
Fundamentos del diseño web front end
 
HTML5-Aplicaciones web
HTML5-Aplicaciones webHTML5-Aplicaciones web
HTML5-Aplicaciones web
 
WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17WPO - Murcia Meetup Day #MMD17
WPO - Murcia Meetup Day #MMD17
 
Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014Carlos Pascual #WPvalladolid 2014
Carlos Pascual #WPvalladolid 2014
 
HTML5 y CSS3 ¿Imprescindibles?
HTML5 y CSS3 ¿Imprescindibles?HTML5 y CSS3 ¿Imprescindibles?
HTML5 y CSS3 ¿Imprescindibles?
 
Presentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del MediterráneoPresentación Congreso Internet del Mediterráneo
Presentación Congreso Internet del Mediterráneo
 
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScriptFull-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
Full-stack JavaScript: Desarrollo integral de aplicaciones Web con JavaScript
 
Html5
Html5Html5
Html5
 
In 10
In 10In 10
In 10
 
ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3ASP.NET MVC Workshop Día 3
ASP.NET MVC Workshop Día 3
 
Curso HTML y CSS, parte 2
Curso HTML y CSS, parte 2Curso HTML y CSS, parte 2
Curso HTML y CSS, parte 2
 
De HTML a Express
De HTML a ExpressDe HTML a Express
De HTML a Express
 
HTML5
HTML5HTML5
HTML5
 
Html5 y css3: Introducción y aplicación desde hoy
Html5 y css3: Introducción y aplicación desde hoyHtml5 y css3: Introducción y aplicación desde hoy
Html5 y css3: Introducción y aplicación desde hoy
 
Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2Rendimiento en aplicaciones web con Symfony2
Rendimiento en aplicaciones web con Symfony2
 

Más de Román Hernández

Emezeta: De blog personal a blog profesional
Emezeta: De blog personal a blog profesionalEmezeta: De blog personal a blog profesional
Emezeta: De blog personal a blog profesionalRomán Hernández
 
FONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidFONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidRomán Hernández
 
Jornada Opendata: España webcam
Jornada Opendata: España webcamJornada Opendata: España webcam
Jornada Opendata: España webcamRomán Hernández
 
Optimización del rendimiento web
Optimización del rendimiento webOptimización del rendimiento web
Optimización del rendimiento webRomán Hernández
 

Más de Román Hernández (9)

Emezeta: De blog personal a blog profesional
Emezeta: De blog personal a blog profesionalEmezeta: De blog personal a blog profesional
Emezeta: De blog personal a blog profesional
 
FONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en AndroidFONTIC: Introducción al desarrollo en Android
FONTIC: Introducción al desarrollo en Android
 
Jornada Opendata: España webcam
Jornada Opendata: España webcamJornada Opendata: España webcam
Jornada Opendata: España webcam
 
Optimización del rendimiento web
Optimización del rendimiento webOptimización del rendimiento web
Optimización del rendimiento web
 
Ganar dinero con Android
Ganar dinero con AndroidGanar dinero con Android
Ganar dinero con Android
 
Introducción a Android
Introducción a AndroidIntroducción a Android
Introducción a Android
 
Entendiendo android
Entendiendo androidEntendiendo android
Entendiendo android
 
Android conference
Android conferenceAndroid conference
Android conference
 
Gestión web con éxito
Gestión web con éxitoGestión web con éxito
Gestión web con éxito
 

Último

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y maslida630411
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskbydaniela5
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaYeimys Ch
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersIván López Martín
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfJoseAlejandroPerezBa
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaElizabethLpezSoto
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024u20211198540
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalEmanuelCastro64
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024anasofiarodriguezcru
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdflauralizcano0319
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888ElianaValencia28
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 

Último (20)

Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
PROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y masPROYECCIÓN DE VISTAS planos de vistas y mas
PROYECCIÓN DE VISTAS planos de vistas y mas
 
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjskTrabajo de Tecnología .pdfywhwhejsjsjsjsjsk
Trabajo de Tecnología .pdfywhwhejsjsjsjsjsk
 
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guiaORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
ORIENTACIONES DE INFORMÁTICA-2024.pdf-guia
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
CommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 TestcontainersCommitConf 2024 - Spring Boot <3 Testcontainers
CommitConf 2024 - Spring Boot <3 Testcontainers
 
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdfTENDENCIAS DE IA Inteligencia artificial generativa.pdf
TENDENCIAS DE IA Inteligencia artificial generativa.pdf
 
Tecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestríaTecnología Educativa- presentación maestría
Tecnología Educativa- presentación maestría
 
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
Inteligencia Artificial. Matheo Hernandez Serrano USCO 2024
 
Trabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamentalTrabajo de tecnología liceo departamental
Trabajo de tecnología liceo departamental
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024Trabajo de tecnología primer periodo 2024
Trabajo de tecnología primer periodo 2024
 
La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdftecnologiaactividad11-240323205859-a9b9b9bc.pdf
tecnologiaactividad11-240323205859-a9b9b9bc.pdf
 
TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888TECNOLOGIA 11-4.8888888888888888888888888
TECNOLOGIA 11-4.8888888888888888888888888
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 

Front-end: Diseñar webs rápidas, flexibles y potentes