<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>ex^2</title>
	<atom:link href="http://blog.extrema-sistemas.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.extrema-sistemas.com</link>
	<description>El blog de Extrema Sistemas</description>
	<lastBuildDate>Wed, 08 May 2013 06:58:20 +0000</lastBuildDate>
	<language>es</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.extrema-sistemas.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/3e790d0f0229da8173014a7c99fd3932?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>ex^2</title>
		<link>http://blog.extrema-sistemas.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.extrema-sistemas.com/osd.xml" title="ex^2" />
	<atom:link rel='hub' href='http://blog.extrema-sistemas.com/?pushpress=hub'/>
		<item>
		<title>ExtremaLeaks: el estado de la web en 2011</title>
		<link>http://blog.extrema-sistemas.com/2013/05/08/extremaleaks-el-estado-de-la-web-en-2011/</link>
		<comments>http://blog.extrema-sistemas.com/2013/05/08/extremaleaks-el-estado-de-la-web-en-2011/#comments</comments>
		<pubDate>Wed, 08 May 2013 06:58:17 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.extrema-sistemas.com/?p=321</guid>
		<description><![CDATA[Todo el mundo invierte un esfuerzo considerable en redactar sus propuestas a clientes. En Extrema con los años hemos ido acumulando propuestas de las que nos sentimos orgullosos, hayan salido adelante o no. Igual que los gobiernos desclasifican información con el tiempo, hay cosas que ya no se pueden considerar ventaja competitiva y sin embargo siguen pudiendo [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=321&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Todo el mundo invierte un esfuerzo considerable en redactar sus propuestas a clientes. En Extrema con los años hemos ido acumulando propuestas de las que nos sentimos orgullosos, hayan salido adelante o no.</p>
<p>Igual que los gobiernos desclasifican información con el tiempo, hay cosas que ya no se pueden considerar ventaja competitiva y sin embargo siguen pudiendo considerarse interesantes para la comunidad. En enero de 2012 introdujimos un análisis de tendencias de navegación como parte de una propuesta integral para un banco. En aquel momento integramos un compendio de estudios reflejando por qué los dispositivos móviles deberían ser el foco de atención en el desarrollo de una estrategia de presencia en Internet. Una cosa es saber que todas las empresas están orientándose al móvil, otra es saber por qué.</p>
<p>Algunas partes de este informe ya han quedado antiguas pero otras son todavía aplicables: informes de Morgan Stanley, Google e IDC, extractos del Chief Design Architect de Yahoo! y un largo etcétera que pueden servir como punto de partida para que otros redacten sus propios informes.</p>
<p>Welcome to ExtremaLeaks.</p>
<div><a href="http://extremasistemas.files.wordpress.com/2013/05/estado_de_la_web_2012.pdf"><img class="aligncenter size-full wp-image-326" alt="estado-thumb" src="http://extremasistemas.files.wordpress.com/2013/05/estado-thumb.png?w=640"   /></a></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/321/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/321/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=321&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2013/05/08/extremaleaks-el-estado-de-la-web-en-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2013/05/estado-thumb.png" medium="image">
			<media:title type="html">estado-thumb</media:title>
		</media:content>
	</item>
		<item>
		<title>HTML5 en las Naciones Unidas</title>
		<link>http://blog.extrema-sistemas.com/2012/11/27/html5-en-las-naciones-unidas/</link>
		<comments>http://blog.extrema-sistemas.com/2012/11/27/html5-en-las-naciones-unidas/#comments</comments>
		<pubDate>Tue, 27 Nov 2012 09:30:32 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.extrema-sistemas.com/?p=284</guid>
		<description><![CDATA[Durante el pasado mes de Octubre, tuvimos el subidón de impartir nuestro curso de HTML5 y CSS3 nada menos que en la ONU &#8211; específicamente, el equipo de IT de la Oficina para el Alto Comisionado de los Derechos Humanos en Ginebra. La propia Oficina nos contactó después de buscar cursos de desarrollo web en [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=284&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Durante el pasado mes de Octubre, tuvimos el subidón de impartir nuestro curso de HTML5 y CSS3 nada menos que en la ONU &#8211; específicamente, el equipo de IT de la <a href="http://ohchr.org">Oficina para el Alto Comisionado de los Derechos Humanos</a> en Ginebra. La propia Oficina nos contactó después de buscar cursos de desarrollo web en toda Europa, lo cual parece que nos deja en buen lugar. Como es obvio, después de mantener la conversación inicial como auténticos profesionales, colgamos y dedicamos los siguientes quince minutos a nuestro momento de colegialas gritando &#8220;OHMYGAWD-OHMYGAWD-OHMYGAWD&#8221; por toda la oficina.</p>
<p>Además de ser una oportunidad excitante para nosotros, también fue la prueba de fuego para la última versión del curso. Todo el material <a href="http://github.com/instructormatters/html5css3">ha sido portado a HTML</a>. Así que estamos usando HTML5 y CSS3 en toda su gloria para enseñar HTML5 y CSS3 (¡ajá! se cierra el círculo), lo que nos permite usar ejemplos de código en vivo que se pueden manipular con las dev tools. El número de capturas de pantalla se ha desplomado: ¡ya no nos hacen falta!</p>
<p style="text-align:center;"><a href="http://html5.instructormatters.com"><img class="aligncenter  wp-image-302" title="Nuevas slides interactivas" alt="Nuevas slides interactivas" src="http://extremasistemas.files.wordpress.com/2012/11/screenshot-from-2012-11-14-112747.png?w=410&#038;h=218" height="218" width="410" /></a></p>
<p>Esta adaptación no ha sido solo un cambio de formato, sino que además <a href="http://html5.instructormatters.com/license.html">hemos abierto el material en GitHub</a>  para toda la comunidad, como parte de la plataforma de <a href="http://instructormatters.com">instructormatters.com</a>. Estamos muy satisfechos con su calidad, y creemos que podemos aportar más aún compartiendolo a la vez que formando instructores.</p>
<p style="text-align:center;"><a href="http://instructormatters.com"><img class="aligncenter  wp-image-306" title="Instructor Matters" alt="Instructor Matters" src="http://extremasistemas.files.wordpress.com/2012/11/screenshot-from-2012-11-14-113125.png?w=410&#038;h=234" height="234" width="410" /></a></p>
<p>La respuesta de Ginebra al curso fue muy positiva. El ambiente y el trato con el equipo fueron inmejorables, nos hicieron una visita guiada a la sede de las Naciones Unidas, ¡hasta nos regalaron chocolate! (ignorantes de la vida, que no sabíamos que Lindt tuviera ediciones limitadas). El momento cumbre del curso fue cuando nos enteramos de que durante el módulo de optimización de CSS <strong>uno de los asistentes estaba cambiando en caliente el website de la ONU</strong> con el contenido de los labs. Agilismo A Muerte.</p>
<p>En definitiva, volvimos muy contentos con la experiencia y con ganas de repetir. Cosa que parece que va a suceder, porque cuando nos bajamos del avión ya teníamos un correo pidiendo un segundo round.</p>
<p>Toca desembarcar en Ginebra&#8230;</p>
<p style="text-align:center;"><img class="aligncenter" title="Roberto, en la foto obligada. " alt="" src="https://lh4.googleusercontent.com/-LNVsOmqpADA/UKOFS0HJeMI/AAAAAAAAApE/UwR2qG5ezGc/w507-h676-p-k/2012-10-11%2B14.05.35.jpg" height="541" width="406" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/284/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/284/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=284&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/11/27/html5-en-las-naciones-unidas/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/11/screenshot-from-2012-11-14-112747.png" medium="image">
			<media:title type="html">Nuevas slides interactivas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/11/screenshot-from-2012-11-14-113125.png" medium="image">
			<media:title type="html">Instructor Matters</media:title>
		</media:content>

		<media:content url="https://lh4.googleusercontent.com/-LNVsOmqpADA/UKOFS0HJeMI/AAAAAAAAApE/UwR2qG5ezGc/w507-h676-p-k/2012-10-11%2B14.05.35.jpg" medium="image">
			<media:title type="html">Roberto, en la foto obligada. </media:title>
		</media:content>
	</item>
		<item>
		<title>Trucos de Sublime Text Editor para desarrolladores web</title>
		<link>http://blog.extrema-sistemas.com/2012/10/02/trucos-de-sublime-text-editor-para-desarrolladores-web/</link>
		<comments>http://blog.extrema-sistemas.com/2012/10/02/trucos-de-sublime-text-editor-para-desarrolladores-web/#comments</comments>
		<pubDate>Tue, 02 Oct 2012 09:36:23 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.extrema-sistemas.com/?p=253</guid>
		<description><![CDATA[El sábado 22 de septiembre estuvimos en la Apache Barcamp Spain con una charla sobre herramientas molonas para desarrolladores web. Un aparte: si tienes que elegir un sólo evento nacional al que ir para todo el año, que sea este. La Barcamp Spain ha encontrado su propia alma, con una experiencia de cerveza más networking [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=253&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>El sábado 22 de septiembre estuvimos en la <a href="http://barcampspain.com/">Apache Barcamp Spain</a> con una charla sobre herramientas molonas para desarrolladores web.</p>
<p>Un aparte: si tienes que elegir un sólo evento nacional al que ir para todo el año, que sea este. La Barcamp Spain ha encontrado su propia alma, con una experiencia de cerveza más networking muy divertida. ¡Solo la comida justifica el viaje!</p>
<p>La gente nos preguntó por una transcripción de la tercera parte de la charla, nuestro propio conjunto de trucos para potenciar Sublime Text Editor en el desarrollo web. Así que aquí está:</p>
<h2>Ponte cómodo</h2>
<p>Es posible que Sublime Text Editor no sea tu primer editor. Problablemente en una vida pasada ya eras eficiente con algún otro como Eclipse, Bean, TextMate,&#8230; el que sea. Esto se trata de meter las manos en la masa, por lo que es recomendable configurar Sublime con los atajos típicos que ya estén hard-coded en tu cerebro. En Extrema estamos acostumbrados a los <a href="http://icoloma.blogspot.com.es/2011/10/eclipse-shortcuts-for-sublime-text-2.html">atajos de Eclipse</a>.</p>
<p>La idea es estar cómodo, así que haz lo necesario para que Sublime se adapte a ti tan bien como tu editor previo. Ahora puede comenzar lo bueno.</p>
<h2>Maximiza el espacio</h2>
<p>No soy un gran fan del modo distraction-free de Sublime, pero sí me interesa maximizar el espacio que uso en pantalla (el data-ink ratio, para fans de Tufte). De modo que aquí teneis:</p>
<ul>
<li>Activar/desactivar la barra lateral: <strong>Ctrl + K</strong>, <strong>Ctrl + B</strong>. Esto es útil si raramente la usas.</li>
<li>Mostrar varios archivos a la vez: <strong>Shift + Alt + [1234589]</strong> (a elegir uno). Puedes compararlos uno al lado del otro, uno encima y otro debajo, etc. Una vez que termines, <strong>Shift + Alt + 1</strong> te devuelve al modo normal.</li>
</ul>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/two-columns.png"><img class="alignnone size-full wp-image-272" title="Dos columnas" src="http://extremasistemas.files.wordpress.com/2012/10/two-columns.png?w=640&#038;h=272" alt="" width="640" height="272" /></a></p>
<h2>Rodear con un tag: Shift + Ctrl + W</h2>
<p>Este es un atajo útil para tags inline (b, em, a), y no tanto para tags de elementos de tipo bloque (divs, p, etc.). Pruébalo:</p>
<ul>
<li>Escribe un texto cualquiera.</li>
<li>Selecciona una palabra, presiona <strong>Shift + Ctrl + W </strong>y después <strong>b</strong>.</li>
</ul>
<h2><a href="http://extremasistemas.files.wordpress.com/2012/10/foo.png"><img class="alignnone size-full wp-image-271" title="foo" src="http://extremasistemas.files.wordpress.com/2012/10/foo.png?w=640" alt=""   /></a></h2>
<h2>Seleccionar bloque: Shift + Clic derecho arrastrando</h2>
<p>Esto es genial cuando necesitas insertar tags al principio de cada línea (p, li).</p>
<ul>
<li>Prepara tu lista de datos.</li>
<li>Selecciona el código y pulsa Tab para identarlo un poco</li>
<li>Presionando la tecla <strong>Shift</strong>, haz <strong>clic derecho y arrastra</strong> para seleccionar una sección rectangular del mismo.</li>
<li>Ahora escribe el tag inicial para que se inserte al principio de cada línea.</li>
</ul>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/block-select.png"><img class="alignnone size-full wp-image-269" title="Seleccionar bloque" src="http://extremasistemas.files.wordpress.com/2012/10/block-select.png?w=640" alt=""   /></a></p>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/block-select-after.png"><img class="alignnone size-full wp-image-270" title="Editar en bloque" src="http://extremasistemas.files.wordpress.com/2012/10/block-select-after.png?w=640" alt=""   /></a></p>
<h2>Cursores múltiples</h2>
<p>Los ejemplos previos son solo casos concretos del uso de cursores múltiples. Para entendernos, digamos que puedes tener diversas instancias de una clase SublimeCursor (no tengo ni idea del código fuente, pero me parece una manera sencilla de entenderlo). Esta es una lista condensada de las cosas que puedes hacer, elaborada a base de prueba y error:</p>
<ul>
<li><strong>Ctrl + clic</strong>: crear un nuevo cursor</li>
<li><strong>Ctrl + doble clic</strong>: crear un nuevo cursor con la palabra cliqueada ya seleccionada</li>
<li><strong>Shift + clic</strong>: seleccionar usando el último cursor (así que ctrl + clic y después shift + clic para añadir la selección al conjunto de cursores)</li>
<li><strong>Cualquier input del teclado</strong>: actuar en todos los cursores a la vez. Las combinaciones de teclas como Ctrl + V funcionarán, así como la escritura normal (como pulsar para escribir el tag de cierre en cada línea).</li>
</ul>
<p>Esto se entiende mejor con una serie de ejemplos:</p>
<ul>
<li>Escribe un texto cualquiera.</li>
<li><strong>Ctrl+clic</strong> al principio de cada línea.</li>
<li>Escribe &lt;p&gt; o &lt;li&gt;</li>
</ul>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/beforectrlclick.png"><img class="alignnone size-full wp-image-267" title="Antes de ctrl+clic" src="http://extremasistemas.files.wordpress.com/2012/10/beforectrlclick.png?w=640" alt=""   /></a></p>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/afterctrlclick.png"><img class="alignnone size-full wp-image-263" title="Después de ctrl+clic" src="http://extremasistemas.files.wordpress.com/2012/10/afterctrlclick.png?w=640" alt=""   /></a></p>
<p>¿Olvidaste entrecomillar los atributos de un tag?</p>
<ul>
<li><strong>Ctrl + doble clic</strong> en cada atributo</li>
<li>Pulsa <strong>&#8220;</strong></li>
</ul>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/afterctrldblclick.png"><img class="alignnone size-full wp-image-264" title="Después de ctrl+doble clic" src="http://extremasistemas.files.wordpress.com/2012/10/afterctrldblclick.png?w=640" alt=""   /></a></p>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/afterquotes.png"><img class="alignnone size-full wp-image-265" title="Comillas" src="http://extremasistemas.files.wordpress.com/2012/10/afterquotes.png?w=640" alt=""   /></a></p>
<ul>
<li><strong>Ctrl + doble clic</strong> en palabras que quieras poner en negrita.</li>
<li>Si quieres seleccionar más de una, <strong>Ctrl+Clic al principio</strong> y después <strong>Shift+Clic al final</strong>.</li>
<li>Pulsa <strong>Shift + Alt + W</strong> y después <strong>b</strong>.</li>
</ul>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/beforeshiftaltw.png"><img class="alignnone size-full wp-image-268" title="Antes de shift+ctrl+W" src="http://extremasistemas.files.wordpress.com/2012/10/beforeshiftaltw.png?w=640" alt=""   /></a></p>
<p><a href="http://extremasistemas.files.wordpress.com/2012/10/aftershoftaltw.png"><img class="alignnone size-full wp-image-266" title="Después de shift+ctrl+W" src="http://extremasistemas.files.wordpress.com/2012/10/aftershoftaltw.png?w=640" alt=""   /></a></p>
<p>Hay una tonelada de posibles aplicaciones, y lo cierto es que nos descubrimos a nosotros mismos haciendo cosas muy funkies. ¿Qué trucos utilizás tú?</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/253/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/253/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=253&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/10/02/trucos-de-sublime-text-editor-para-desarrolladores-web/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://extremasistemas.files.wordpress.com/2012/10/two-columns.png?w=150" />
		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/two-columns.png?w=150" medium="image">
			<media:title type="html">Dos columnas</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/two-columns.png" medium="image">
			<media:title type="html">Dos columnas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/foo.png" medium="image">
			<media:title type="html">foo</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/block-select.png" medium="image">
			<media:title type="html">Seleccionar bloque</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/block-select-after.png" medium="image">
			<media:title type="html">Editar en bloque</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/beforectrlclick.png" medium="image">
			<media:title type="html">Antes de ctrl+clic</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/afterctrlclick.png" medium="image">
			<media:title type="html">Después de ctrl+clic</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/afterctrldblclick.png" medium="image">
			<media:title type="html">Después de ctrl+doble clic</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/afterquotes.png" medium="image">
			<media:title type="html">Comillas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/beforeshiftaltw.png" medium="image">
			<media:title type="html">Antes de shift+ctrl+W</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/10/aftershoftaltw.png" medium="image">
			<media:title type="html">Después de shift+ctrl+W</media:title>
		</media:content>
	</item>
		<item>
		<title>Cómo sacarle el máximo partido a WebView en aplicaciones Android</title>
		<link>http://blog.extrema-sistemas.com/2012/07/30/como-sacarle-el-maximo-partido-a-webview-en-aplicaciones-android/</link>
		<comments>http://blog.extrema-sistemas.com/2012/07/30/como-sacarle-el-maximo-partido-a-webview-en-aplicaciones-android/#comments</comments>
		<pubDate>Mon, 30 Jul 2012 09:06:58 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://blog.extrema-sistemas.com/?p=216</guid>
		<description><![CDATA[Para conseguir la máxima comodidad en la autenticación de usuarios, la lista de opciones no es demasiado amplia. Nosotros nos decantamos por OAuth, que tiene el inconveniente de dar por sentado el uso de un navegador para ejecutar la autenticación. En una aplicación Android nativa esto puede ser un problema. En Koliseo Checkpoint Charlie soportamos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=216&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Para conseguir la máxima comodidad en la autenticación de usuarios, la lista de opciones no es demasiado amplia. Nosotros nos decantamos por OAuth, que tiene el inconveniente de dar por sentado el uso de un navegador para ejecutar la autenticación. En una aplicación Android nativa esto puede ser un problema.<img class="alignnone size-full wp-image-241" title="Algo de web para alegrar la vida" src="http://extremasistemas.files.wordpress.com/2012/07/little-green-robot-thingie.jpg?w=640" alt="Algo de web para alegrar la vida"   /></p>
<p>En <a href="http://help.koliseo.com/android/">Koliseo Checkpoint Charlie</a> soportamos 6 proveedores de OAuth. En Android esto solo es posible integrando un WebView encargado de manejar todo el flujo de OAuth, con el efecto práctico de que hemos embebido un navegador completo en nuestra aplicación nativa.</p>
<p>Lo importante aquí es, ¿Como podemos sacar el máximo provecho a este WebView? ¿Dónde podemos meter nuestro código para que trabaje junto con este widget?</p>
<p>Para quien nunca lo haya utilizado, lo primero es declarar el WebView en nuestro layout. En este caso, vamos a declararlo en un fichero xml (que es lo recomendado para los layouts, aunque puede hacerse también con Java):</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    style="@style/CodeFont"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" &gt;

    &lt;WebView android:id="@+id/web_view" android:layout_width="fill_parent" android:layout_height="fill_parent"/&gt;

&lt;/RelativeLayout&gt;</pre>
<p>En solo 4 líneas de código tenemos disponible una vista para mostrar páginas webs con Webkit como motor de render. Este componente requiere solicitar al usuario permiso para acceder a Internet desde el MANIFEST:</p>
<pre>&lt;uses-permission android:name="android.permission.INTERNET" /&gt;</pre>
<p>Ya dentro de nuestra Activity será donde tendremos que recuperar el widget y trabajar con él.</p>
<pre>private WebView webView;

@Override
protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
   webView = findViewById(R.id.web_view);
}</pre>
<p>Introducimos un layout que nos dará la posibilidad de mostrar un spinner mientras se está cargando una url:</p>
<pre>&lt;LinearLayout
    android:id="@+id/loading_oauth_layout"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" android:layout_alignParentRight="true"
    android:layout_margin="10dip"&gt;

    &lt;ImageView
        android:id="@+id/loading_oauth_service"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical|center_horizontal"
        android:layout_marginRight="@dimen/oauth_margin"
        android:contentDescription="@string/oauth_loading" 
    /&gt;

    &lt;ProgressBar
        android:layout_width="@dimen/oauth_height" 
        android:layout_height="@dimen/oauth_height"
        android:layout_gravity="center_vertical"
        android:layout_marginRight="@dimen/oauth_margin" 
    /&gt;
&lt;/LinearLayout&gt;</pre>
<p>La parte más importante para poder interferir en el funcionamiento del WebView consiste en declarar una clase que extienda de WebViewClient. Ésta será la que nos dará los callbacks:</p>
<ul>
<li><code>onLoadResource(WebView view, String url)</code>: Notifica a la aplicación de que un recurso especificado por la página va a ser cargado.</li>
<li><code>onPageFinished(WebView view, String url)</code>: Notifica que la carga de una url ha sido completada.</li>
<li><code>onPageStarted(WebView view, String url, Bitmap favicon)</code>: Notifica que la carga de una url va a comenzar.</li>
<li><code>onReceivedError(WebView view, int errorCode, String description, String failingUrl)</code>: Notifica un error de conexión con una &#8220;failingUrl&#8221;.</li>
<li><code>onReceivedSslError(WebView view, SslErrorHandler handler, SslError error)</code>: Notifica un error de SSL.</li>
<li><code>shouldOverrideUrlLoading (WebView view, String url)</code>: Nos permite modificar el comportamiento de carga de una URL devolviendo false.</li>
</ul>
<p>Anidaremos esta subclase dentro de nuestra Activity para tener acceso a todos los recursos (Views especialmente), y no tener que andar manejando handlers o intents para visualizar u ocultar una View:</p>
<pre>private class LoginWebViewClient extends WebViewClient {

	@Override
	public void onPageFinished(WebView view, String url) {
		showLoadingImage(View.GONE);
	}

	@Override
	public void onPageStarted(WebView view, String url,
		android.graphics.Bitmap favicon) {
		showLoadingImage(View.VISIBLE);
	}

	@Override
	public void onReceivedError(WebView view, int errorCode,
		String description, String failingUrl) {
		showErrorMessage(getString(R.string.error_trying_to_connect) + ": " + description);
	}

}</pre>
<p>Para que todo esto funcione solo nos queda realizar la petición a la URL que queramos:</p>
<pre>webview.setWebViewClient(new CustomWebViewClient());
webview.loadUrl(url);</pre>
<p>En este punto tenemos acceso completo al navegador: desde interceptar URLs para que no se descarguen, habilitar JavaScript o no, o recibir notificaciones con cada página descargada en el cliente. Los límites los pone el desarrollador.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/216/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/216/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=216&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/07/30/como-sacarle-el-maximo-partido-a-webview-en-aplicaciones-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:thumbnail url="http://extremasistemas.files.wordpress.com/2012/07/little-green-robot-thingie1.jpg?w=150" />
		<media:content url="http://extremasistemas.files.wordpress.com/2012/07/little-green-robot-thingie1.jpg?w=150" medium="image">
			<media:title type="html">little-green-robot-thingie</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/07/little-green-robot-thingie.jpg" medium="image">
			<media:title type="html">Algo de web para alegrar la vida</media:title>
		</media:content>
	</item>
		<item>
		<title>¿Quieres una plaza gratis para HTML5+CSS3?</title>
		<link>http://blog.extrema-sistemas.com/2012/07/13/quieres-ganar-una-plaza-para-el-curso-html5css3/</link>
		<comments>http://blog.extrema-sistemas.com/2012/07/13/quieres-ganar-una-plaza-para-el-curso-html5css3/#comments</comments>
		<pubDate>Fri, 13 Jul 2012 10:51:19 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.extrema-sistemas.com/?p=221</guid>
		<description><![CDATA[Aprovechando el lanzamiento de nuestra nueva web hemos pensado sortear una plaza para el curso HTML5 y CSS3 que tendrá lugar en nuestras oficinas de Madrid la próxima semana, del miércoles 18 al viernes 20 de Julio. Para los que sientan curiosidad por este tipo de cosas, la nueva web está basada en node, express, less, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=221&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid4.png"><img class="aligncenter size-full wp-image-229" title="Como críos..." src="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid4.png?w=640" alt="Como críos..."   /></a><a href="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid3.png"><br />
</a>Aprovechando el lanzamiento de <a href="http://extrema-sistemas.com">nuestra nueva web</a> hemos pensado sortear una plaza para el curso HTML5 y CSS3 que tendrá lugar en nuestras oficinas de Madrid la próxima semana, del miércoles 18 al viernes 20 de Julio.</p>
<p>Para los que sientan curiosidad por este tipo de cosas, la nueva web está basada en node, express, less, HTML5 y CSS3. Salvo node, todo lo demás son herramientas de las que <a href="http://extrema-sistemas.com/courses/html5">hablaremos la semana que viene</a>.</p>
<p>¿Qué tienes que hacer para ganar tu plaza? Pues algo muy sencillo: basta con responder en Twitter quién no tiene relación con la persona que aparece en su foto de perfil.</p>
<p>En nuestra <a href="http://extrema-sistemas.com/team">nueva página del equipo</a> hemos puesto nuestras fotos de cuando éramos niños pero hay alguien que puso una foto que no guarda relación. ¿Quién crees que es?</p>
<p>Manda tu respuesta y el lunes, entre todos los que han adivinado, sortearemos el ganador y lo anunciaremos en Twitter. ¡No dejes de intentarlo! El cierre del plazo es el Lunes 16 a las 12:00 (GMT+1, para los que se vean listos).</p>
<p>Durante los próximos tres días iremos descartando gente que no es en <a href="http://twitter.com/extremasistemas">nuestro perfil de Twitter</a>.</p>
<p>¡Buena suerte!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/221/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/221/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=221&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/07/13/quieres-ganar-una-plaza-para-el-curso-html5css3/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:thumbnail url="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid2.png?w=150" />
		<media:content url="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid2.png?w=150" medium="image">
			<media:title type="html">feel-like-a-kid</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/07/feel-like-a-kid4.png" medium="image">
			<media:title type="html">Como críos...</media:title>
		</media:content>
	</item>
		<item>
		<title>Utilizar LiveReload con Linux</title>
		<link>http://blog.extrema-sistemas.com/2012/05/31/utilizar-livereload-con-linux/</link>
		<comments>http://blog.extrema-sistemas.com/2012/05/31/utilizar-livereload-con-linux/#comments</comments>
		<pubDate>Thu, 31 May 2012 15:00:04 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://extremasistemas.wordpress.com/2012/05/16/utilizar-livereload-con-linux/</guid>
		<description><![CDATA[La vida es demasiado corta para estar actualizando tu navegador. LiveReload es una aplicación que te permite actualizar tu navegador automáticamente cada vez que se modifica un archivo, incluso compilando desde Sass / Less / CoffeeScript. En pocas palabras, te ahorra el tedioso a muerte &#8220;Alt-Tab F5&#8243;. Instalación y configuración La instalación en Mac OS [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=10&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://extremasistemas.files.wordpress.com/2012/05/boromir6.jpg"><img class="size-medium wp-image-134 aligncenter" title="boromir" src="http://extremasistemas.files.wordpress.com/2012/05/boromir6.jpg?w=300&#038;h=176" alt="" width="300" height="176" /></a></p>
<p>La vida es demasiado corta para estar actualizando tu navegador.</p>
<p>LiveReload es una aplicación que te permite actualizar tu navegador automáticamente cada vez que se modifica un archivo, incluso compilando desde Sass / Less / CoffeeScript.</p>
<p>En pocas palabras, te ahorra el tedioso a muerte &#8220;Alt-Tab F5&#8243;.</p>
<h2>Instalación y configuración</h2>
<p>La instalación en Mac OS o Windows es bastante sencilla, aunque la situación se vuelve un poco más delicada con Linux (¡sorpresa, sorpresa!), donde se hace necesario utilizar la versión 1.9 de Ruby:</p>
<pre>sudo apt-get install ruby1.9.1 ruby1.9.1-dev</pre>
<p>Ya puedes utilizar RubyGems para obtener la aplicación. Dentro de tu carpeta de proyecto, ejecuta:</p>
<pre>sudo gem install bundle

sudo gem install guard

sudo gem install guard-livereload

bundle init</pre>
<p>Ahora edita el recién creado Gemfile y añade las siguientes dos líneas:</p>
<pre>gem guard

gem guard-livereload

bundle exec guard init livereload</pre>
<h2>Monitorización de ficheros y extensiones del navegador</h2>
<p>Tu Guardfile generado incluye algunas carpetas predefinidas a través de expresiones regulares que podrías tener que modificar si lo tuyo no es un proyecto Rails.</p>
<p>Arranca el servidor Guard:</p>
<pre>$ bundle exec guard

Guard uses NotifySend to send notifications.

Guard is now watching at '/home/me/workspace/project'

LiveReload 1.6 is waiting for a browser to connect.

&gt;</pre>
<p>En este punto nadie te impide crujir nudillos y empezar a probarlo&#8230;</p>
<p>Descarga la extension LiveReload para tu navegador (<a href="https://chrome.google.com/webstore/detail/jnihajbhpnppcggbcgedagnkighmdlei" target="_blank">Chrome</a>, <a href="https://addons.mozilla.org/en-US/firefox/addon/livereload/" target="_blank">Firefox</a>) y entra en la configuración (click con el botón derecho -&gt; opciones) para especificar el hostname y puerto utilizado por el servidor Guard (por defecto localhost:35729).</p>
<p style="text-align:center;"><a href="http://extremasistemas.files.wordpress.com/2012/05/livereload-options1.png"><img src="http://extremasistemas.files.wordpress.com/2012/05/livereload-options1.png?w=346" alt="Image" /></a></p>
<p>Una vez habilitado, el servidor guard-livereload se conectará:</p>
<pre>&gt; Browser connected.

Browser URL: http://mymachine:myport/</pre>
<h2>¡Disco!</h2>
<p>Si has llegado hasta aquí, todas modificaciones de los archivos monitorizados (CSS stylesheets, imágenes) serán notificadas y aplicadas inmediatamente en el navegador, sin necesidad de refrescar.</p>
<p>Guard viene con muchos <a href="https://rubygems.org/search?utf8=%E2%9C%93&amp;query=guard-" target="_blank">sabores diferentes</a> para automatizar tareas en distintos entornos.</p>
<p>Configura el tuyo o sigue este <a href="http://railscasts.com/episodes/264-guard" target="_blank">interesante screencast</a> de los creadores de la herramienta.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/10/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/10/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=10&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/05/31/utilizar-livereload-con-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:thumbnail url="http://extremasistemas.files.wordpress.com/2012/05/boromir3.jpg?w=150" />
		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/boromir3.jpg?w=150" medium="image">
			<media:title type="html">boromir</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/boromir6.jpg?w=300" medium="image">
			<media:title type="html">boromir</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/livereload-options1.png?w=346" medium="image">
			<media:title type="html">Image</media:title>
		</media:content>
	</item>
		<item>
		<title>Introducción a Responsive Web Design</title>
		<link>http://blog.extrema-sistemas.com/2012/04/16/introduccion-a-responsive-web-design-12/</link>
		<comments>http://blog.extrema-sistemas.com/2012/04/16/introduccion-a-responsive-web-design-12/#comments</comments>
		<pubDate>Mon, 16 Apr 2012 16:00:34 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[responsive design]]></category>

		<guid isPermaLink="false">http://extremasistemas.wordpress.com/2012/05/16/introduccion-a-responsive-web-design-12/</guid>
		<description><![CDATA[Responsive Web Design o, Diseño Web Sensible en la lengua de Cervantes, hace referencia a una metodología de diseño y desarrollo web en la que con una única versión de nuestro website abarcamos cualquier dispositivo donde podrá mostrarse sin tener que hacer versiones paralelas del mismo dependiendo del dispositivo en el que se vaya a visualizar tal [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=39&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-26-395.png"><img class="size-full wp-image-67 aligncenter" title="Captura de pantalla 2012-05-17 a las 16.26.39" src="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-26-395.png?w=640" alt=""   /></a><a href="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-54-12.png"><br />
</a></p>
<p>Responsive Web Design o, Diseño Web Sensible en la lengua de Cervantes, hace referencia a una <strong>metodología de diseño y desarrollo web en la que con una única versión de nuestro website abarcamos cualquier dispositivo</strong> donde podrá mostrarse sin tener que hacer versiones paralelas del mismo dependiendo del dispositivo en el que se vaya a visualizar tal y como pasaba hasta ahora.</p>
<p>Antes solíamos redirigir el tráfico de nuestro sitio en función del dispositivo de visualización, con esta metodología no será necesario hacer esto más ya que haremos todo ese trabajo <strong>utilizando propiedades CSS3.</strong></p>
<p>El precursor de esta metodología es Ethan Marcotte, diseñador y desarrollador web con dilatada experiencia en este campo y colaborador habitual del blog <a href="http://www.alistapart.com/" target="_blank">A list apart</a> entre otros.</p>
<p>No son pocas las ventajas que nos brinda el responsive web design, para empezar <strong>nos ahorramos desarrollar y mantener otro sitio para dispositivos móviles y tampoco será necesario hacer sniffing del user agent</strong>, técnica totalmente desaconsejada porque es relativamente fácil dejarse dispositivos y/o versiones de navegador por fuera y que luego nuestra web no se visualize correctamente si se producen cambios de versión o aparece un navegador nuevo.</p>
<p><strong>Esta metodología se apoya básicamente en</strong> estos tres pilares:</p>
<ul>
<li><strong>Fluid grids.</strong> Se usan porcentajes para las medidas de los contenedores en el layout, esto hace que nuestro diseño se vaya adaptando estirándose o encogiéndose según el tamaño de la ventana del navegador.</li>
<li><strong>Imágenes flexibles.</strong> Esta técnica se basa en utilizar porcentajes en vez de pixeles para determinar las medidas de las imágenes, de esta manera se consigue que estas escalen dependiendo del tamaño de su contenedor</li>
<li><strong>Media queries.</strong> Son introducidos en el estándar CSS3 y sirven para filtrar selectores css dependiendo de determinadas condiciones, en este caso ancho de la pantalla del dispositivo y/o ventana del navegador.</li>
</ul>
<p>Para ilustrar todo esto vamos a definir una página sencilla que se adapte correctamente a diferentes tamaños de pantalla. La página contará con una cabecera, menú superior, contenido principal, lateral y pie. Su código html es este:</p>
<div>
<div id="highlighter_222554">
<pre>&lt;!DOCTYPE html&gt;
	&lt;html lang="es"&gt;
	  &lt;head&gt;
	    &lt;meta charset="utf-8"&gt;
	    &lt;title&gt;Responsive Design Test&lt;/title&gt;
	    &lt;link href="styles.css" rel="stylesheet"&gt;
	  &lt;/head&gt;
	  &lt;body&gt;
	    &lt;header&gt;
	      &lt;h1&gt;Responsive Web Design&lt;/h1&gt;
	    &lt;/header&gt;
	    &lt;nav&gt;
	      &lt;ul&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Inicio&lt;/a&gt;&lt;/li&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Sobre nosotros&lt;/a&gt;&lt;/li&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Qué hacemos&lt;/a&gt;&lt;/li&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Contacto&lt;/a&gt;&lt;/li&gt;
	      &lt;/ul&gt;
	    &lt;/nav&gt;
	    &lt;div &gt;
	      &lt;article&gt;
	        &lt;h1&gt;Proin eu arcu&lt;/h1&gt;
	        &lt;img src="image.png" alt="" /&gt;
	        &lt;p&gt;Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla consequat auctor pretium. Curabitur eget lectus vitae leo dignissim sodales. Vivamus sit amet dui nunc. Duis dapibus ante ac dolor sodales malesuada. Nam varius nibh non lorem bibendum ut fringilla elit tincidunt. Suspendisse quis pellentesque leo. Duis dapibus ante ac dolor sodales malesuada.&lt;/p&gt;
	        &lt;p&gt;&lt;a href="#"&gt;Ver más&lt;/a&gt;&lt;/p&gt;
	      &lt;/article&gt;
	      &lt;article&gt;
	        &lt;h1&gt;Ultricies ante&lt;/h1&gt;
	        &lt;img src="image.png" alt="" /&gt;
	        &lt;p&gt;Praesent pellentesque sem vel nulla lacinia in dignissim augue consequat. Suspendisse potenti. Sed non justo suscipit purus dapibus condimentum. Ut mi mauris, primis in faucibus orci luctus et ultrices posuere cubilia Curae; Fusce auctor ante ut ante cursus mollis. Donec porttitor scelerisque tortor fringilla sodales. Pellentesque vel sem massa. Duis eget est vel leo sodales tristique nec at tortor.&lt;/p&gt;
	        &lt;p&gt;&lt;a href="#"&gt;Ver más&lt;/a&gt;&lt;/p&gt;
	      &lt;/article&gt;
	    &lt;/div&gt;
	    &lt;aside&gt;
	      &lt;h1&gt;Contenido relacionado&lt;/h1&gt;
	      &lt;ul&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Maecenas iaculis tempus&lt;/a&gt;&lt;/li&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Vestibulum quis justo eros&lt;/a&gt;&lt;/li&gt;
	        &lt;li&gt;&lt;a href="#"&gt;Nullam ullamcorper vulputate&lt;/a&gt;&lt;/li&gt;
	      &lt;/ul&gt;
	    &lt;/aside&gt;
	    &lt;footer&gt;
	      &lt;p&gt;© Sit amet consectetur nunc condimentum 2012&lt;/p&gt;
	    &lt;/footer&gt;
	  &lt;/body&gt;
	&lt;/html&gt;</pre>
</div>
<div id="highlighter_222554">Y su CSS este:</div>
<div>
<pre>html {
	background-color: #ccc;
}
body {
	width: 960px;
	margin: 0 auto;
	background-color: #fff;
}
header {
	margin-top: 10px;
	padding: 0 10px 5px 10px;
	font-size: 32px;
	color: #fff;
	background-color: #01477b;
}
header &gt; h1 {
	margin: 0;
}
nav {
	background-color: #0d7cb4; 
}
nav ul {
	margin: 0;
	padding: 0;
}
nav li {
	margin: 3px 10px;
	display: inline-block;
}
nav li:first-child {
	margin-top: 0;
}
nav li:last-child {
	margin-bottom: 0;
}
nav a {
	color: #fff;
	font-size: 26px;
	text-decoration: none;
}
nav a:hover {
	text-decoration: underline;
}
#content {
	float: left;
	width: 70%;
	padding: 0 10px;
	background-color: #fafafa;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}
article {
	padding: 10px 0;
	border-bottom: 1px solid #ccc;
	overflow: hidden;
}
article h1 {
	margin: 0 0 10px 0;
	font-size: 22px;
}
article img {
	float: left;
	margin: 10px 20px 10px 0;
}
article a, aside a {
	color: #000;
	text-decoration: none;
}
article a:hover, aside a:hover {
	text-decoration: underline;
}
aside {
	float: right;
	width: 28%;
	padding: 10px;
	background-color: #edf2f6;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box; 
}
aside h1 {
	margin: 0;
}
aside ul {
	margin: 0;
	padding: 0 0 0 20px;
}
aside li {
	margin-top: 10px;
}
footer {
	clear: both;
	padding: 4px 10px;
	font-size: 18px;
	color: #fff;
	background-color: #000;
}
footer p {
	margin: 0;
}</pre>
<div>
<p>La página resultante se ve así a 1024px o más:</p>
<p><img class="aligncenter" src="http://dl.dropbox.com/u/2857363/post8/page1.jpg" alt="Fixed version" /></p>
<p>El primer paso para adaptarla a responsive web design consistirá en añadir el siguiente meta en el &lt;head&gt; de la misma:</p>
<pre>&lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&gt;</pre>
<p>Con este meta le decimos al navegador de los móviles que se fíe de nosotros y no adapte la web al tamaño de su pantalla escalándola según su criterio.</p>
<p>A continuación añadimos el siguiente selector a nuestra css:</p>
<pre>html {
	-webkit-text-size-adjust: none;
}</pre>
<p>Con este selector le decimos a los dispositivos iOs que no ajusten automáticamente el tamaño de las tipografías y hagan caso al tamaño especificado en la css.</p>
<p>A continuación insertamos un media query para un ancho máximo de 940px. Estamos especificando un “max-width” que afecta al ancho de la ventana del navegador y un “max-device-width” que afecta al ancho de la pantalla del dispositivo, así nos curamos en salud y siempre que se cumpla una de estas condiciones se aplicarán los selectores definidos en el filtro.</p>
<pre>@media only screen and (max-width: 940px), only screen and (max-device-width: 940px) {
	body {
		width: 100%;
	}
	header {
		font-size: 1.5em;
	}
	article img {
		width: 37%;
	}
	aside h1 {
		font-size: 1.2em;
	}
}</pre>
<p>Con estos selectores le proporcionamos un comportamiento fluido a la página para cuando se visualice entre 940px y 481px. El resultado sería así:</p>
<div>
<div id="content">
<div id="banner"></div>
<div></div>
<h1 id="page-title"></h1>
<div id="description">
<div>
<p><img class="aligncenter" src="http://dl.dropbox.com/u/2857363/post8/page2.jpg" alt="Fluid version" /></p>
<div></div>
</div>
</div>
</div>
</div>
<p>Ahora insertamos otro media query para 480px, el tamaño estándar a día de hoy de los teléfonos android.</p>
<pre>@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) {
	header {
		margin-top: 0;
		font-size: 1.2em;
	}
	header h1 {
		text-align: center;
	}
	nav li {
		display: block;
		text-align: center;
		padding: 5px 0;
		border-bottom: 1px solid #fff;
	}
	nav li:last-child {
		border-bottom: none;
	}
	#content, aside {
		float: none;
		width: auto;
	}
	article img {
		margin-right: 10px;
		margin-bottom: 5px;
		width: 96px;
	}
	article a {
		display: inline-block;
		padding: 0 5px;
		text-align: center;
		font-size: 1.2em;
		color: #fff;
		background-color: #0d7cb4;
	}
	aside h1 {
		font-size: 2em;
	}
	aside li {
		padding: 10px 0;
		font-size: 1.2em;
	}
}</pre>
<p>Como aquí contamos con una pantalla de dimensiones reducidas hacemos que las opciones de menú ocupen todo el ancho disponible y cambiamos la ubicación del lateral derecho para colocarlo debajo del contenido principal. También hemos cambiado el aspecto de los enlaces de “Ver más” para que parezcan botones y se aprecien mejor en las pantallas de los móviles.</p>
<p>Así queda la página vista desde un teléfono con Android:</p>
<p><img class="aligncenter" src="http://dl.dropbox.com/u/2857363/post8/page3.jpg" alt="Mobile version" /></p>
<p>Si queremos ver este código en vivo podemos hacer clic <a href="http://dl.dropbox.com/u/2857363/post8/index.html" target="_blank">aquí</a> y probamos a escalar la ventana del navegador para apreciar el comportamiento de la página según el tamaño de la ventana.</p>
<p>Si deseamos verla desde el móvil utilizaremos el código QR mostrado debajo:</p>
<p><img class="aligncenter" src="http://dl.dropbox.com/u/2857363/post8/qr.png" alt="QR code" /></p>
<p><strong>No es necesario que empecemos a crear una página desde cero</strong>, en la actualidad <strong>contamos con varios frameworks</strong>que nos serán de gran ayuda a la hora de aplicar esta técnica. Los más destacados son:</p>
<ul>
<li><a href="http://twitter.github.com/bootstrap" target="_blank">Twitter bootstrap 2</a></li>
<li><a href="http://www.getskeleton.com/" target="_blank">Skeleton</a></li>
<li><a href="http://cssgrid.net/" target="_blank">1140px CSS grid system</a></li>
</ul>
<p>En este <a title="15 responsive css framewroks" href="http://speckyboy.com/2011/11/17/15-responsive-css-frameworks-worth-considering" target="_blank">enlace</a> tenemos más frameworks de este tipo.</p>
<p>Podemos descargarnos el código html5+css3 de la página de ejemplo en este <a href="http://dl.dropbox.com/u/2857363/post8/responsive_web_design_test.zip" target="_blank">enlace</a>.</p>
<p>Si este post ha servido para abrir nuestro apetito por esta novedosa metodología de desarrollo web, recomiendo entonces la lectura del libro “<a href="http://www.abookapart.com/products/responsive-web-design" target="_blank">Responsive Web Design</a>”, escrito por el mismísimo Ethan Marcotte.</p>
</div>
</div>
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=39&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/04/16/introduccion-a-responsive-web-design-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:thumbnail url="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-56-01.png?w=150" />
		<media:content url="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-56-01.png?w=150" medium="image">
			<media:title type="html">Captura de pantalla 2012-05-17 a las 16.56.01</media:title>
		</media:content>

		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/04/captura-de-pantalla-2012-05-17-a-las-16-26-395.png" medium="image">
			<media:title type="html">Captura de pantalla 2012-05-17 a las 16.26.39</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post8/page1.jpg" medium="image">
			<media:title type="html">Fixed version</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post8/page2.jpg" medium="image">
			<media:title type="html">Fluid version</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post8/page3.jpg" medium="image">
			<media:title type="html">Mobile version</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post8/qr.png" medium="image">
			<media:title type="html">QR code</media:title>
		</media:content>
	</item>
		<item>
		<title>La Universidad de Alcalá impartirá nuestro curso HTML5+CSS3</title>
		<link>http://blog.extrema-sistemas.com/2012/03/10/la-universidad-de-alcala-impartira-nuestro-curso-html5css3-3/</link>
		<comments>http://blog.extrema-sistemas.com/2012/03/10/la-universidad-de-alcala-impartira-nuestro-curso-html5css3-3/#comments</comments>
		<pubDate>Sat, 10 Mar 2012 09:22:22 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[training]]></category>
		<category><![CDATA[uah]]></category>

		<guid isPermaLink="false">http://extremasistemas.wordpress.com/2012/05/18/la-universidad-de-alcala-impartira-nuestro-curso-html5css3-3/</guid>
		<description><![CDATA[Nuestro curso HTML5 y CSS3 se impartirá dentro del plan de estudios de la Universidad de Alcalá de Henares a partir del mes de Marzo. Extrema Sistemas y la UAH han llegado a un acuerdo mediante el cual se incluirá el curso HTML5 y CSS3 dentro del plan de estudios de la Universidad. El curso formará [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=75&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="post_content_17367138598">
<p><a href="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-20-47.png"><img class="aligncenter" src="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-20-47.png?w=487" alt="Imagen" /></a></p>
<p><strong>Nuestro curso HTML5 y CSS3 se impartirá dentro del plan de estudios de la Universidad de Alcalá de Henares a partir del mes de Marzo.</strong></p>
<p>Extrema Sistemas y la UAH han llegado a un acuerdo mediante el cual se incluirá el curso HTML5 y CSS3 dentro del <strong>plan de estudios de la Universidad.</strong></p>
<p>El curso formará parte de la oferta académica que tiene la universidad dentro de la modalidad de “Títulos Propios de la Universidad de Alcalá de Henares”. A partir del mes de Marzo habrá un estudio denominado “Formación en HTML5 y CSS3”.</p>
<p>El contenido del curso será proporcionado y actualizado constantemente por Extrema Sistemas e impartido por profesores de la UAH.</p>
<p>Los estudiantes de Ingeniería Superior en Informática de la UAH <strong>obtendrán 3 créditos en su currículo formativo</strong> por el estudio del curso.Estamos muy orgullosos de que nuestro curso esté empezando a ser valorado por varias entidades universitarias e incluido dentro del plan formativo de los alumnos.</p>
<p>Extrema Sistemas imparte desde hace ya dos años, de forma pública e in-house el curso HTML5 y CSS3, que está orientado a maquetadores de HTML y desarrolladores de código servidor (java, .NET, etc.) de capa web.</p>
<p>El curso tiene una duración de 24 horas e incluye 12 horas de ejercicios prácticos con múltiples herramientas, locales y remotas.</p>
<p>HTML5 y CSS3 presenta las mejores prácticas de desarrollo web desde una perspectiva de usabilidad y accesibilidad, con vistas a <strong>producir código más ligero y eficiente en la capa de presentación.</strong></p>
<p>A lo largo del mismo se tratan las nuevas técnicas de desarrollo web basadas en los nuevos estándares del W3C, y al mismo tiempo se repasan las herramientas online para realizar desarrollos soportados en todos los navegadores.</p>
<p>Para conocer todas las convocatorias públicas del curso de HTML5 y CSS3 échale un vistazo a <a href="http://extrema-sistemas.com/es/formacion/html5-y-css3" target="_blank">http://extrema-sistemas.com/es/formacion/html5-y-css3</a></p>
<p>Si estás interesado en contratar este curso en modalidad in-house para que se imparta en las instalaciones de tu empresa ponte en contacto con el Departamento de Formación a la dirección: <a href="mailto:training@extrema-sistemas.com" target="_blank">training@extrema-sistemas.com</a></p>
<div></div>
</div>
<div></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=75&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/03/10/la-universidad-de-alcala-impartira-nuestro-curso-html5css3-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-20-47.png?w=487" medium="image">
			<media:title type="html">Imagen</media:title>
		</media:content>
	</item>
		<item>
		<title>Codemotion: ¡Alguien la va a liar parda en Madrid!</title>
		<link>http://blog.extrema-sistemas.com/2012/02/15/codemotion-alguien-la-va-a-liar-parda-en-madrid-2-2/</link>
		<comments>http://blog.extrema-sistemas.com/2012/02/15/codemotion-alguien-la-va-a-liar-parda-en-madrid-2-2/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 09:31:38 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[codemotion]]></category>
		<category><![CDATA[eui]]></category>
		<category><![CDATA[upm]]></category>

		<guid isPermaLink="false">http://extremasistemas.wordpress.com/2012/05/18/codemotion-alguien-la-va-a-liar-parda-en-madrid-2/</guid>
		<description><![CDATA[Estamos seguros de que ya te ha llegado la noticia: el evento tecnológico más grande de Italia, se celebrará por primera vez en Madrid el próximo 24 de Marzo en la Escuela Universitaria de Informática de la UPM. Te resumimos los aspectos más importantes, ¡para animarte a ir! Codemotion: ¡código y emoción en movimiento! Codemotion es [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=84&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div>
<div><a href="http://extremasistemas.files.wordpress.com/2012/05/code600_azzurro.gif"><br />
</a><a href="http://extremasistemas.files.wordpress.com/2012/05/code600_azzurro1.gif"><img class="size-full wp-image-86 aligncenter" title="code600_azzurro" src="http://extremasistemas.files.wordpress.com/2012/05/code600_azzurro1.gif?w=640" alt=""   /></a></div>
<div></div>
<div></div>
<div>Estamos seguros de que ya te ha llegado la noticia: el evento tecnológico más grande de Italia, se celebrará por primera vez en Madrid el próximo 24 de Marzo en la <a href="http://www.upm.es/institucional" target="_blank">Escuela Universitaria de Informática de la UPM</a>.</div>
</div>
<p>Te resumimos los aspectos más importantes, ¡para animarte a ir!</p>
<div><strong>Codemotion: ¡código y emoción en movimiento!</strong></div>
<p>Codemotion es un evento organizado por las comunidades, para las comunidades.</p>
<p>Este evento es una oportunidad única para mezclar en un mismo recinto comunidades como Java, Rails, JavaScript o Agile. Si estás esperando para conocer alguna tecnología que te saque de tu zona de confort, ¡éste puede ser tu día y Codemotion puede ser tu excusa!</p>
<p>En Extrema Sistemas, como partner certificado de SpringSource en Expaña e Italia tuvimos la oportunidad de patrocinar el Codemotion de Roma del año pasado. La experiencia fue tan increíble que, llenos de ilusión, no tuvimos ninguna duda en proponer la misma idea a las comunidades tecnológicas españolas. ¡Su respuesta ha sido un verdadero éxito! De hecho, ¡19 comunidades están ahora coorganizando el Codemotion de Madrid!</p>
<p><strong>Este evento es único porque por primera vez reunirá en España a técnicos, desarrolladores y estudiantes de todas las comunidades y lenguajes.</strong></p>
<p>Hay un <a href="http://codemotion.es/c4p" target="_blank">call for papers</a> público (que estará abierto hasta el 1 de Febrero así que si tienes algo interesante que contar, ¡envía tu propuesta ya!) donde las propuestas son recibidas y evaluadas por las propias comunidades. Estas confeccionarán el programa del evento con las charlas elegidas.</p>
<p>Codemotion tiene un precio de entrada de sólo 10 euros que incluye cafés, comida pero sobre todo la posibilidad de un ¡networking increíble! La inscripción oficial se abrirá a mediados de Febrero pero mientras tanto ve <a href="http://codemotion.es/register" target="_blank">preinscribiéndote</a> sin gasto alguno. ¡Esto ayudará a conocer el número de asistentes, su perfil técnico y a organizar mejor el evento!</p>
<p>Otro punto de innovación del Codemotion es el recruiting: cada asistente podrá dejar su CV a las empresas patrocinadoras, en el buzón que cada una de ella tendrá en su stand. Vista la situación laboral tan difícil que tenemos, ¿no te parece una muy buena idea?</p>
<p>¡Y no dura sólo un día! Durante toda la semana anterior las comunidades organizarán eventos locales, talleres, charlas y foros como adelanto del Codemotion. ¡Nos parece la ocasión ideal para profundizar argumentos e ir calentando motores para el evento!</p>
<p>Codemotion es además internacional: en Madrid y Roma el mismo día. Además para que no te pierdas las charlas más interesantes de ambos eventos, habrá streaming en directo con emisión de las charlas de los mejores ponentes internacionales en una sala dedicada.</p>
<p>Puedes apoyar al Codemotion patrocinándolo pero también puedes aportar tu granito de arena pasando la voz, ofreciéndote como voluntario para la organización y publicando un banner en tu web o blog.</p>
<p>Toda la información que necesites está en <a href="http://codemotion.es" target="_blank">http://codemotion.es</a> (y si no fuera suficiente, ¡escribe a <a href="mailto:info@codemotion.es">info@codemotion.es</a> !)</p>
<h3></h3>
<p><strong>¿No serás el único en perdértelo?</strong></p>
<p><strong>Sigue Codemotion</strong></p>
<ul>
<li><a title="Síguenos en twitter" href="http://twitter.com/codemotion_es">Twitter</a></li>
<li><a title="Síguenos en linkedin" href="http://linkd.in/tE52YK">Linkedin</a></li>
</ul>
<div>
<hr />
</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=84&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/02/15/codemotion-alguien-la-va-a-liar-parda-en-madrid-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/code600_azzurro1.gif" medium="image">
			<media:title type="html">code600_azzurro</media:title>
		</media:content>
	</item>
		<item>
		<title>Nuestro curso de HTML5 y CSS3 alcanza la versión 1.0</title>
		<link>http://blog.extrema-sistemas.com/2012/01/15/nuestro-curso-de-html5-y-css3-alcanza-la-version-1-0-2-2/</link>
		<comments>http://blog.extrema-sistemas.com/2012/01/15/nuestro-curso-de-html5-y-css3-alcanza-la-version-1-0-2-2/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 09:46:09 +0000</pubDate>
		<dc:creator>ex^2</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[1.0]]></category>
		<category><![CDATA[CSS·]]></category>
		<category><![CDATA[FORMACIÓN]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://extremasistemas.wordpress.com/2012/05/18/nuestro-curso-de-html5-y-css3-alcanza-la-version-1-0-2/</guid>
		<description><![CDATA[Hace aproximadamente un año que empezamos a impartir nuestro exitoso curso de html5+css3. Tras escuchar las críticas y mejoras propuestas por nuestros alumnos y trabajar en ellas, podemos, finalmente anunciar la versión 1.0 del mismo. De las múltiples mejoras y características introducidas resumimos las siguientes: schemas.org. Examinamos a fondo el nuevo estándar creado por Google, Microsoft [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=100&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-44-072.png"><img class="size-full wp-image-101 aligncenter" title="Captura de pantalla 2012-05-18 a las 11.44.07" src="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-44-072.png?w=640" alt=""   /></a></p>
<p>Hace aproximadamente un año que empezamos a impartir nuestro exitoso <a href="http://www.extrema-sistemas.com/es/formacion/html5-y-css3" target="_blank">curso de html5+css3</a>. Tras escuchar las críticas y mejoras propuestas por nuestros alumnos y trabajar en ellas, podemos, finalmente anunciar la versión 1.0 del mismo.</p>
<p>De las múltiples mejoras y características introducidas resumimos las siguientes:</p>
<ul>
<li>schemas.org. Examinamos a fondo el nuevo estándar creado por Google, Microsoft y Yahoo basado en microdata para incorporar semántica a nuestros contenidos. Sobre esto ya habíamos escrito una entrada en este mismo blog, puedes visitarla <a href="http://blog.extrema-sistemas.com/post/10199898487/web-3-0-y-schema-org-que-es-la-web-3-0-segun" target="_blank">aquí</a>.</li>
<li>Slides del curso con iconos indicativos del grado de soporte de las diferentes características según el navegador y su versión.</li>
<li><a href="http://paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/" target="_blank">Etiquetas html condicionales</a> para seleccionar las diferentes versiones de IE desde la css.</li>
<li>Multiple image backgrounds, ahora podemos usar más de una imagen de fondo en un mismo elemento html.</li>
<li>Background size, con esta propiedad podemos ajustar el tamaño de las imágenes de fondo.</li>
<li><a href="http://www.css3files.com/border/" target="_blank">Border image</a>, con esta propiedad es posible usar una imagen para el borde de un contenedor, así podemos simular marcos fotográficos por ejemplo.</li>
<li>Degradados css3 actualizados para dar soporte a las nuevas versiones de webkit (Chrome y Safari).</li>
<li><a href="http://www.css3.info/preview/resize/" target="_blank">Resize</a>, esta nueva característica nos posibilita redimensionar elementos html como las capas, etc.</li>
<li>CSS3 Pie nos permite utilizar la mayoría de selectores css3 en IE.</li>
</ul>
<p>Estas son sólo algunas de las mejoras introducidas en el curso. Si tienes ganas de aprender las mejores y más actualizadas prácticas para usarlas en tus desarollos web deberías inscribirte en el curso. ¡No te arrepentirás!.</p>
<p style="text-align:center;"><a title="schema.org" href="http://dl.dropbox.com/u/2857363/post5/schema.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_schema.jpg" alt="schema.org" width="114" height="86" /></a> <a title="Border image" href="http://dl.dropbox.com/u/2857363/post5/border_image.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_border_image.jpg" alt="Border image" width="114" height="86" /></a> <a title="Conditional classnames" href="http://dl.dropbox.com/u/2857363/post5/conditional.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_conditional.jpg" alt="Conditional classnames" width="114" height="86" /></a> <a title="Multiple image backgrounds" href="http://dl.dropbox.com/u/2857363/post5/multiple_bg.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_multiple_bg.jpg" alt="Multiple image backgrounds" width="114" height="86" /></a></p>
<p style="text-align:center;"><a title="CSS3 Pie" href="http://dl.dropbox.com/u/2857363/post5/css3pie.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_css3pie.jpg" alt="CSS3 Pie" width="114" height="86" /></a> <a title="CSS3 Gradients" href="http://dl.dropbox.com/u/2857363/post5/gradient.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_gradient.jpg" alt="CSS3 Gradients" width="114" height="86" /></a> <a title="Resize property" href="http://dl.dropbox.com/u/2857363/post5/rezise.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_rezise.jpg" alt="Resize property" width="114" height="86" /></a> <a title="Multiple image backgrounds and border image example" href="http://dl.dropbox.com/u/2857363/post5/labexample.jpg" rel="lightbox[showcase]"><img src="http://dl.dropbox.com/u/2857363/post5/thumb_labexample.jpg" alt="Multiple image backgrounds and border image example" width="114" height="86" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/extremasistemas.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/extremasistemas.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.extrema-sistemas.com&#038;blog=36131201&#038;post=100&#038;subd=extremasistemas&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.extrema-sistemas.com/2012/01/15/nuestro-curso-de-html5-y-css3-alcanza-la-version-1-0-2-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/66169ff889f4e38942692baab21c7a01?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">extremasistemas</media:title>
		</media:content>

		<media:content url="http://extremasistemas.files.wordpress.com/2012/05/captura-de-pantalla-2012-05-18-a-las-11-44-072.png" medium="image">
			<media:title type="html">Captura de pantalla 2012-05-18 a las 11.44.07</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_schema.jpg" medium="image">
			<media:title type="html">schema.org</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_border_image.jpg" medium="image">
			<media:title type="html">Border image</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_conditional.jpg" medium="image">
			<media:title type="html">Conditional classnames</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_multiple_bg.jpg" medium="image">
			<media:title type="html">Multiple image backgrounds</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_css3pie.jpg" medium="image">
			<media:title type="html">CSS3 Pie</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_gradient.jpg" medium="image">
			<media:title type="html">CSS3 Gradients</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_rezise.jpg" medium="image">
			<media:title type="html">Resize property</media:title>
		</media:content>

		<media:content url="http://dl.dropbox.com/u/2857363/post5/thumb_labexample.jpg" medium="image">
			<media:title type="html">Multiple image backgrounds and border image example</media:title>
		</media:content>
	</item>
	</channel>
</rss>
