<?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: Eloy Parga</title>
    <description>The latest articles on DEV Community by Eloy Parga (@eloyparga).</description>
    <link>https://dev.to/eloyparga</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%2F1259090%2Fd04e6cf9-8cbe-4a35-b70b-49193882f2fb.jpg</url>
      <title>DEV Community: Eloy Parga</title>
      <link>https://dev.to/eloyparga</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/eloyparga"/>
    <language>en</language>
    <item>
      <title>La Maravilla del Modelo de Caja "Border-box"!</title>
      <dc:creator>Eloy Parga</dc:creator>
      <pubDate>Mon, 22 Jan 2024 10:24:34 +0000</pubDate>
      <link>https://dev.to/eloyparga/la-maravilla-del-modelo-de-caja-border-box-26ma</link>
      <guid>https://dev.to/eloyparga/la-maravilla-del-modelo-de-caja-border-box-26ma</guid>
      <description>&lt;p&gt;Uno de los aspectos que menos me gusta sobre el diseño con CSS es la relación entre el ancho y el relleno (padding). Estás ocupado definiendo anchos para que coincidan con tu rejilla o proporciones generales de columnas, y luego, al agregar texto, necesitas definir relleno para esas cajas. Y de repente, estás restando píxeles de tu ancho original para que la caja no se expanda.&lt;/p&gt;

&lt;p&gt;¡Uf! Si digo que el ancho es de 200px, maldición, va a ser una caja de 200px de ancho, incluso si tengo 20px de relleno. Como sabes, esto NO es cómo ha funcionado el modelo de caja en los últimos diez años. Wikipedia tiene un gran historial de este modelo de caja. Jeff Kaufman también profundizó en la historia.&lt;/p&gt;

&lt;p&gt;De todos modos, tengo una recomendación para tu CSS en adelante:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/* Aplica un modelo de caja natural a todos los elementos, pero permite cambios en los componentes */
html {
  box-sizing: border-box;
}
*, *:before, *:after {
  box-sizing: inherit;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto te brinda el modelo de caja que deseas. Se aplica a todos los elementos. Resulta que muchos navegadores ya utilizan border-box para muchos elementos de formulario (por eso los inputs y textareas se ven diferentes con width: 100%). Pero aplicar esto a todos los elementos es seguro y sensato.&lt;/p&gt;

&lt;h2&gt;
  
  
  Soporte del Navegador
&lt;/h2&gt;

&lt;p&gt;Debido al soporte del navegador, esta recomendación es solo para proyectos que admitan IE8 en adelante. Firefox &amp;lt;= 28 todavía necesita el prefijo &lt;code&gt;-moz-&lt;/code&gt;, y &amp;lt;= iOS4, Android &amp;lt;= 2.3 necesitan el prefijo &lt;code&gt;-webkit-&lt;/code&gt;, pero todos los demás usan el sin prefijo. Puedes encontrar más información sobre un polyfill para box-sizing en IE6 y 7 en html5please.com/#box-sizing (que fue desarrollado con &lt;code&gt;* { box-sizing: border-box&lt;/code&gt;!).&lt;/p&gt;

&lt;h2&gt;
  
  
  Ajustes para Contenido de Terceros
&lt;/h2&gt;

&lt;p&gt;Cualquier widget de terceros que agregue contenido directamente a la página puede necesitar atención adicional. Cualquier widget dentro de un iframe (como el nuevo tema de Disqus) está naturalmente aislado de los estilos de diseño de la página principal. Si necesitas hacer ajustes al contenido de terceros, puedes aplicar &lt;code&gt;box-sizing: content-box;&lt;/code&gt;&lt;br&gt;
al widget y sus descendientes. Esto puede no ser trivial, ya que los controles de formulario en particular son border-box de forma predeterminada, así que también tendrás que tener eso en cuenta.&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>javascript</category>
      <category>spanish</category>
    </item>
    <item>
      <title>Principios SOLID</title>
      <dc:creator>Eloy Parga</dc:creator>
      <pubDate>Thu, 18 Jan 2024 07:47:25 +0000</pubDate>
      <link>https://dev.to/eloyparga/principios-solid-4nlj</link>
      <guid>https://dev.to/eloyparga/principios-solid-4nlj</guid>
      <description>&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fym16nrm99s5rw9u09a2y.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fym16nrm99s5rw9u09a2y.png" alt="Image description" width="800" height="565"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Principios SOLID son una serie de principios de diseño orientado a objetos que nos ayudan a crear código más mantenible y reutilizable. Estos principios fueron definidos por Robert C. Martin (Uncle Bob) en su libro “Agile Software Development, Principles, Patterns, and Practices” en 2000.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Los principios SOLID son:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;S&lt;/strong&gt;: Single Responsibility Principle (Principio de Responsabilidad Única)&lt;br&gt;
&lt;strong&gt;O&lt;/strong&gt;: Open-Closed Principle (Principio de Abierto-Cerrado)&lt;br&gt;
&lt;strong&gt;L&lt;/strong&gt;: Liskov Substitution Principle (Principio de Sustitución de Liskov)&lt;br&gt;
&lt;strong&gt;I&lt;/strong&gt;: Interface Segregation Principle (Principio de Segregación de Interfaces)&lt;br&gt;
&lt;strong&gt;D&lt;/strong&gt;: Dependency Inversion Principle (Principio de Inversión de Dependencias)&lt;/p&gt;

&lt;h2&gt;
  
  
  Single Responsibility Principle (Principio de Responsabilidad Única)
&lt;/h2&gt;

&lt;p&gt;Este principio nos dice que una clase debe tener una única responsabilidad, es decir, que debe tener una única razón para cambiar. Esto nos ayuda a crear clases más pequeñas y con una única responsabilidad, lo que facilita su mantenimiento y reutilización. Por ejemplo, si tenemos una clase que se encarga de gestionar los usuarios de nuestra aplicación, esta clase debería tener las siguientes responsabilidades: CRUD de usuarios&lt;/p&gt;

&lt;h2&gt;
  
  
  Open-Closed Principle (Principio de Abierto-Cerrado)
&lt;/h2&gt;

&lt;p&gt;Este principio nos dice que las entidades de nuestro código (clases, módulos, funciones, etc.) deben estar abiertas a la extensión pero cerradas a la modificación. Esto nos ayuda a crear código más mantenible y reutilizable. Es decir, si tenemos una clase que implementa una funcionalidad, no deberíamos modificar esa clase para añadir nuevas funcionalidades, sino que deberíamos crear una nueva clase que herede de la clase base y que implemente la nueva funcionalidad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Liskov Substitution Principle (Principio de Sustitución de Liskov)
&lt;/h2&gt;

&lt;p&gt;Este principio nos dice que las clases derivadas deben ser sustituibles por sus clases base. Esto nos ayuda a crear código más mantenible y reutilizable. Es decir, si tenemos una clase base que implementa una funcionalidad, las clases derivadas deben poder usar esa funcionalidad sin tener que modificar el código de la clase base.&lt;/p&gt;

&lt;h2&gt;
  
  
  Interface Segregation Principle (Principio de Segregación de Interfaces)
&lt;/h2&gt;

&lt;p&gt;Este principio nos dice que las interfaces deben ser lo más pequeñas posibles. Esto nos ayuda a crear código más mantenible y reutilizable. Es decir, si tenemos una interfaz que define una funcionalidad, no deberíamos añadir más funcionalidades a esa interfaz, sino que deberíamos crear una nueva interfaz que herede de la interfaz base y que defina la nueva funcionalidad.&lt;/p&gt;

&lt;h2&gt;
  
  
  Dependency Inversion Principle (Principio de Inversión de Dependencias)
&lt;/h2&gt;

&lt;p&gt;Este principio nos dice que las clases de alto nivel no deben depender de las clases de bajo nivel, sino que ambas deben depender de abstracciones. Esto nos ayuda a crear código más mantenible y reutilizable. Es decir, si tenemos una clase que implementa una funcionalidad, no deberíamos depender de la implementación de esa funcionalidad, sino que deberíamos depender de una interfaz que defina la funcionalidad.&lt;/p&gt;

</description>
      <category>java</category>
      <category>springboot</category>
      <category>programming</category>
      <category>spanish</category>
    </item>
    <item>
      <title>¡DISEÑO UI! Las leyes de Gestalt</title>
      <dc:creator>Eloy Parga</dc:creator>
      <pubDate>Wed, 17 Jan 2024 13:50:47 +0000</pubDate>
      <link>https://dev.to/eloyparga/diseno-ui-las-leyes-de-gestalt-2oa3</link>
      <guid>https://dev.to/eloyparga/diseno-ui-las-leyes-de-gestalt-2oa3</guid>
      <description>&lt;p&gt;Hola Mundo, hoy vamos a hablar de un aspecto teórico del diseño UI&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;¿Qué son las leyes de Gestalt?&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Son unas serie de leyes que creo la facultad de Gestland, estas leyes se crearon a partir de como los humanos interpretamos las cosas.&lt;br&gt;
Estas leyes ayudan al diseñador a interpretar como focalizar el objetivo del diseño de cara al Usuario.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ley de figura y fondo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0hm8lfdf73bko60trpi.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fo0hm8lfdf73bko60trpi.png" alt="Image description" width="800" height="207"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En todo diseño hay una figura y un fondo, estas se diferenciaran por su forma, tamaño o color.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Otras formas de diferenciar la figura del fondo: Sombras, bordes, patrones, etc&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la semejanza&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fky47dl713z7mee26gijc.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fky47dl713z7mee26gijc.png" alt="Image description" width="800" height="294"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si hay elementos que son similares, el cerebro asociará que están en un mismo grupo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como hacer semejanzas: Por forma, por tamaño, por color, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la proximidad&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4v76wgi3rzv19vl097x.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fq4v76wgi3rzv19vl097x.png" alt="Image description" width="800" height="310"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Si hay elementos cerca, el cerebro los asocia como un mismo grupo pero, si están lejos los toma como grupos separados.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Otras formas de separar y agrupar: Espacios, líneas, colores, peso de la fuente, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley del cierre&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flqypj2t77ksrqasy0x60.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Flqypj2t77ksrqasy0x60.png" alt="Image description" width="552" height="227"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El cerebro cierra los espacios de las figuras así no estén completas&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como hacer cierres: Puntos, líneas discontinuas, sombras desplazadas, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la pregnancia&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37kq483jtb0oz8w9k9s0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F37kq483jtb0oz8w9k9s0.png" alt="Image description" width="800" height="385"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En un diseño debe haber un elemento que resalte más que los demás (Elemento más importante).&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como resaltar: Peso de la fuente, color diferente, líneas, fondo, capas, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la experiencia&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftw0uo5nnlx45g1m241rm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftw0uo5nnlx45g1m241rm.png" alt="Image description" width="800" height="303"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El ser humano tiene experiencias previas almacenadas en el subconsciente y puede relacionar elementos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como aplicar: Botones con sólo bordes, figuras nuevas con texto, iconos en vez de textos, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la simplicidad&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fag75ca0rpm6j36c3tu8v.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fag75ca0rpm6j36c3tu8v.png" alt="Image description" width="800" height="284"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El cerebro simplificará lo que más pueda las figuras y elementos.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como simplificar: Utilizar la cantidad mínima de elementos posibles (bordes, separadores, cajas, etc)&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la simetría y el orden&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkehg086umjzxbr6782ee.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkehg086umjzxbr6782ee.png" alt="Image description" width="743" height="273"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El cerebro asocia en un mismo grupo a los elementos que tienen simetría.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como hacer simetría: Compensar espacios, alinear elementos, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Ley de la continuidad&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk3vf9or18gunrw3f0ja.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fsk3vf9or18gunrw3f0ja.png" alt="Image description" width="671" height="280"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;El cerebro asocia a los elementos que siguen una misma dirección, como parte de un mismo grupo.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Como hacer continuidad: Carruseles, tabs, secuencias, partir elementos, etc.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Conclusiones&lt;/strong&gt;&lt;br&gt;
Si quieres ser un experto en UI debes manejar muy bien las leyes de Gestalt, te ayudarán en gran medida para obtener interfaces intuitivas, limpias y profesionales.&lt;/p&gt;

&lt;p&gt;Si os gusta mi contenido no dudéis en darle apoyo.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Linkedin: &lt;a href="https://www.linkedin.com/feed/"&gt;https://www.linkedin.com/feed/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/EloyParga"&gt;https://github.com/EloyParga&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>ui</category>
      <category>design</category>
      <category>webdev</category>
      <category>spanish</category>
    </item>
  </channel>
</rss>
