<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hebert Romero</title>
    <description>The latest articles on DEV Community by Hebert Romero (@hromero).</description>
    <link>https://dev.to/hromero</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F177124%2Fcb5dd80b-4f4e-48c4-85d0-babfd041c408.jpeg</url>
      <title>DEV Community: Hebert Romero</title>
      <link>https://dev.to/hromero</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/hromero"/>
    <language>en</language>
    <item>
      <title>Re-escribiendo un switch </title>
      <dc:creator>Hebert Romero</dc:creator>
      <pubDate>Tue, 23 Jun 2020 20:09:48 +0000</pubDate>
      <link>https://dev.to/hromero/re-escribiendo-un-switch-2ge4</link>
      <guid>https://dev.to/hromero/re-escribiendo-un-switch-2ge4</guid>
      <description>&lt;p&gt;Hace poco me toco realizar un filtro   que tenia una particularidad, &lt;br&gt;
este filtro tenia   8 opciones, pero desde la base de datos yo recibía solo un id, para lo cual en la vista  me tocaba realizar comparación del id que  me llegaba desde la base de datos  con los nombres  de los filtros que tenia en un array.  Inmediatamente pensé  en un switch, pero los switch son estructuras que no me gusta usar mucho  cuando tengo mas de 3 opciones porque  se  puede volver un tanto  incomodo de mantener.&lt;/p&gt;

&lt;p&gt;Esto es algo muy común y hoy vamos a ver algunas alternativas&lt;/p&gt;
&lt;h2&gt;
  
  
  switch tradicional
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--szWWXBpg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3c0gpdtj3onu5a7wlxac.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--szWWXBpg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/3c0gpdtj3onu5a7wlxac.PNG" alt="switch "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aquí podemos ver como la implementación se va volviendo una &lt;br&gt;
estructura compleja que no es fácil de interpretar. &lt;/p&gt;
&lt;h2&gt;
  
  
  switch refactoring
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FdMzEaxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nj7wfxzt8drzmwgee07e.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FdMzEaxI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nj7wfxzt8drzmwgee07e.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Aquí podemos ver como en una sola linea &lt;br&gt;
resolvimos  lo mismo que teníamos anteriormente. &lt;/p&gt;

&lt;p&gt;Buscar otras formas de hacer tareas comunes como esta puede ser una muy buena practica para mejorar nuestras habilidades y  si se te  ocurre alguna otra forma  me gustaría leerla.&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Corovino/embed/zYrwaVv?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Lazy-loading nativo para la web </title>
      <dc:creator>Hebert Romero</dc:creator>
      <pubDate>Mon, 01 Jun 2020 18:07:59 +0000</pubDate>
      <link>https://dev.to/hromero/lazy-loading-nativo-para-la-web-5h8l</link>
      <guid>https://dev.to/hromero/lazy-loading-nativo-para-la-web-5h8l</guid>
      <description>&lt;p&gt;Hace un par de semanas &lt;a class="comment-mentioned-user" href="https://dev.to/addyosmani"&gt;@addyosmani&lt;/a&gt;
 nos sorprende con este tweet  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--DSIHmBbS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6kqwyi32qbwkm3a415ru.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DSIHmBbS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/6kqwyi32qbwkm3a415ru.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Esto tiene unas implicaciones magnificas  ya que  mejorará muchísimo&lt;br&gt;
el rendimiento de nuestros sitios.   &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;¿En qué consiste ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Desde la versión 76 de chrome ya nos es posible usar el atributo &lt;strong&gt;loading&lt;/strong&gt; sin la necesidad  de crear lógicas  complicadas y  solo &lt;br&gt;
cargando las imágenes  o iframes  solicitados en el punto exacto del &lt;br&gt;
scroll.   &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;¿Cómo funciona ?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Su implementación es muy sencilla, solo debemos agregar  el atributo&lt;br&gt;&lt;br&gt;
&lt;strong&gt;loading&lt;/strong&gt; a el elemento img,  con esto debería ser suficiente &lt;br&gt;
para tener una carga diferida de  nuestras imágenes qué estén en foco y &lt;br&gt;
fuera de el.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--PliOutt---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mx1scxpau15nz003ktgh.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PliOutt---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mx1scxpau15nz003ktgh.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Auto&lt;/strong&gt;: Comportamiento por defecto del elemento, es como si notuviera 
el trbuto &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;lazy&lt;/strong&gt;: Aplaza el llamado al recurso hasta que  este en foco de 
pantalla&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;eager&lt;/strong&gt;: carga el recurso inmediatamente sin importar donde este 
localizado en nuestra pagina.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Compatibilidad en navegadores&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Hasta el día de hoy esta funcionalidad esta soportada por navegadores basados en chromium  y Firefox. Pero siempre es posible consultar &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#Browser_compatibility"&gt;Compatibilidad en buscadores&lt;/a&gt;  &lt;/p&gt;
&lt;h2&gt;
  
  
  &lt;strong&gt;Demo&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e7n2Rujj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wnmpt5j29bm1jev2mkvl.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e7n2Rujj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/wnmpt5j29bm1jev2mkvl.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe height="600" src="https://codepen.io/Corovino/embed/JjGPyZG?height=600&amp;amp;default-tab=result&amp;amp;embed-version=2"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Conclusiones&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Este es un gran aporte para mejorar el desempeño de nuestros proyectos, solo queda ponerla aprueba y disfrutar. &lt;/p&gt;

&lt;p&gt;Este post es un resumen en español del articulo en ingles&lt;br&gt;
&lt;a href="https://web.dev/native-lazy-loading/?fbclid=IwAR2CgCFtNfXBLCMm0dvOtAxUbp8Cz9TymNPaEninvl3JUTedjoPhFkegItA"&gt;web.dev&lt;/a&gt; donde podrás profundizar mas sobre esta nueva funcionalidad.  &lt;/p&gt;

</description>
      <category>html</category>
      <category>webdev</category>
      <category>javascript</category>
      <category>css</category>
    </item>
  </channel>
</rss>
