Desarrollo adaptativo | Responsive Web Design (2024)

Hasta ahora, hemos definido todas las herramientas necesarias para crear estructuras adaptativas: diseños basados en rejillas flexibles, estrategias para incorporar elementos multimedia y la potencia de los Media Query para adaptar el contenido a nuestras necesidades. Vemos como incorporar estas técnicas a la hora de desarrollar un sitio web adaptativo.

5.1 La importancia del contexto

Un diseño adaptativo, implementado de una manera correcta, puede dar a los usuarios de la web, un alto nivel de continuidad entre los diferentes contextos. Esto es así, porque de la manera más simple, un diseño adaptativo es capaz de mostrar un documento HTML correctamente en una infinidad de dispositivos, gracias a una estructura flexible y los Media Query que aseguran un diseño portable y accesible en la manera de lo posible.

De alguna manera, es posible identificar el contexto en el que se visita una web, a partir del dispositivo utilizado. De este contexto, podemos definir un tipo de usuario y sus objetivos. En otras palabras, un usuario móvil quiere un acceso rápido a la información y realizar diferentes tareas a las que realizaría sentado en su sofá con su portátil. En este caso, el tiempo y el ancho de banda están en extremos totalmente opuestos.

Por otra parte, si las prioridades y los objetivos del usuario varían según el contexto, entonces puede que disponer de un único documento HTML pueda suponer un problema, dependiendo de la manera en la que se encuentre estructurada la información.

De todas formas, es complicado suponer el contexto del usuario únicamente por el tipo de dispositivo, ya que efectivamente, es solamente eso: una suposición. ¿Cómo diferenciar, si mi navegación móvil se realiza desde la entrada del metro o desde el sofá de mi casa? ¿Es posible por tanto suponer un contexto?

Por lo tanto, no podemos inferir el contexto del usuario en base a su dispositivo. Así mismo, las palabras mobile o desktop no definen el comportamiento en la que los usuarios acceden a la web: un portátil puede ser un dispositivo móvil (por ejemplo en un tren), al igual que un smartphone o tablet puede estar fijo en un lugar. El desarrollo adaptativo no pretende ser un reemplazo de los actuales sitios móviles, sino que forma parte de una estrategia de desarrollo, donde se pretende evaluar si efectivamente es necesario separar totalmente la experiencia móvil o tiene más sentido mostrar la información de una manera adaptativa.

Desarrollo adaptativo | Responsive Web Design (1)

Figura 5.1 ¿Es posible realizar una versión adaptativa del New York Times?

5.2 Hacia un flujo de trabajo adaptativo

Una de las primeras preguntas (si no lo primer) que debemos hacernos, a la hora de plantearnos un diseño adaptativo es la siguiente: ¿En qué medida este contenido o funcionalidad beneficia o aporta valor a nuestros usuarios? De hecho, esto es algo que deberíamos preguntar siempre para cualquier tipo de proyecto, sea web o no.

Si partimos de un planteamiento mobile first, hay que asegurarse que la información que mostramos, y las funcionalidades que implementamos sean importantes para el usuario, ya que no hay espacio suficiente para todo. Hay que darse cuenta de lo que realmente importa. Diseñar partiendo de este paradigma, nos obliga a concentrarnos en lo realmente importante.

If you design mobile first, you create agreement on what matters most. You can then apply the same rationale to the desktop/laptop version of the web site. We agreed that this was the most important set of features and content for our customers and business; why should that change with more screen space? Luke Wroblewski

En otras palabras, diseñar desde un inicio pensando en dispositivos móviles puede enriquecer la experiencia de los usuarios, proporcionando un elemento que normalmente se pasa por alto: enfocarnos en lo realmente importante. Esto no quiere decir que los diseños sean simples, faltos de contenidos o funcionalidades, sino que debemos concentrarnos en lo realmente importante.

5.3 Puntos de ruptura

El siguiente paso es identificar el número de diseños diferentes que vamos crear, para acomodarnos a los distintos tamaños de dispositivos. La siguiente tabla muestra los anchos más comunes a la hora de identificar los puntos de ruptura:

Puntoderuptura Dispositivo objetivo
320 pixels Para dispositivos pequeños como teléfonos, en disposición vertical
480 pixels Para dispositivos pequeños como teléfonos, en disposición horizontal
600 pixels Para tabletas de menor tamaño, como Amazon Kindle (600×800), en disposición vertical
768 pixels Para tabletas de unas 10", como el iPad (768x1024), en disposición vertical
1024 pixels Para tabletas de unas 10", como el iPad (768x1024), y pequeños portátiles o netbooks, en disposición horizontal
1200 pixels Para pantallas panorámicas, en portátiles o dispositivos de escritorio
1600 pixels Para pantallas panorámicas, en portátiles o dispositivos de escritorio

5.4 Desarrollo iterativo

De manera tradicional, el desarrollo web (y en general, el desarrollo de software) ha seguido las siguientes fases para la construcción de un sitio web:

  • Una fase de planteamiento inicial, donde se capturan los requisitos que debe cumplir la solución final, se plantea la estructura de contenidos y se realizan mocksups que serán la base del diseño.
  • En la fase de diseño, los mockups se convierten en pantallas utilizando una herramienta del tipo Photoshop o Fireworks. Estas pantallas deben ser aprobadas por el cliente antes de seguir adelante.
  • Finalmente, una vez que lo diseños se encuentran aprobados, pasan al equipos de desarrollo para crear las páginas estáticas en HTML.

En un desarrollo adaptativo, este proceso puede resultar muy pesado y costoso. Cuando diseñamos una página, lo ideal sería diseñar también el aspecto de esta página en los distintos dispositivos, lo que supondría realizar tantos diseños como puntos de ruptura existan. Si tenemos que repetir este proceso con quince o cincuenta páginas, simplemente deja de ser viable.

En este punto, una posible mejora puede ser combinar el equipo de diseño y el de desarrollo, para que, partiendo de un diseño fijo y único, discutir de manera conjunta cómo el diseño se va a acomodar a las distintas resoluciones, y las implicaciones que puede tener a la hora de implementarlo. De esta manera, rápidamente surgen preguntas del tipo: ¿Cómo va a funcionar esta galería de imágenes en un dispositivo táctil? ¿De qué manera se va a mostrar este elemento emergente? ¿Qué pasa si no disponemos de JavaScript en el dispositivo?

De esta manera podemos comenzar a construir prototipos con un diseño flexible, escalable en los distintos dispositivos, de una manera muy ágil, implicando a ambos equipos.

5.5 Desarrollo adaptativo, de manera responsable

Durante el ciclo de diseño/desarrollo, las páginas son constantemente refinadas mientras las construimos, con el objetivo de hacerlas totalmente adaptativas. Hemos convertido una página estática, diseñada para mostrarse de la misma manera en todos los dispositivos, en un diseño fluido al que hemos aplicado Media Queries para mostrarse correctamente en los diferentes dispositivos. En este último caso, tenemos la posibilidad de incluir en nuestra página un polyfill para hacer funcionar correctamente esto Media Query en navegadores que no lo soportan, como Internet Explorer 7 u 8: respond.js

¿Qué ocurre si el navegador no soporta @media y no tiene activado JavaScript? Pues que simplemente se mostrará la página con su diseño original, a tamaño completo.

Otro problema añadido, al aplicar un diseño adaptativo, es el que se muestra a continuación:

.blog { background: #F8F5F2 url("img/blog-bg.png") repeat-y;}@media screen and (max-width: 768px) { .blog { background: #F8F5F2 url("img/noise.gif"); }}

En este caso, primero aplicamos una imagen de fondo blog-bg.png al elemento .blog. Después, para dispositivos con una pantalla más pequeña, reemplazamos esa imagen por una simple imagen GIF. El problema, es que en este tipo de dispositivos se descargan ambas imágenes, afectando directamente a la cantidad de información descargada a través de la red.

5.5.1 Estrategia "Mobile First"

Hablando en términos generales, el diseño adaptativo hace referencia a comenzar con una resolución de referencia, y utilizar los Media Query para adaptar el diseño a otros contextos. Una estrategia más responsable para diseños adaptativos es pensar primero en dispositivos móviles, en lugar de un contexto de escritorio. Esto es, comenzamos definiendo una estructura para dispositivos más pequeños, y posteriormente utilizamos los Media Query para escalar el diseño a mayores resoluciones.

Un ejemplo de esta estrategia, es la web de Ethan Marcotte. Por defecto, el contenido es mostrado de una manera lineal, pensado especialmente para dispositivos móviles.

Desarrollo adaptativo | Responsive Web Design (2)

Figura 5.2 Aspecto de la web de Ethan Marcotte en dispositivos móviles

A medida que el espacio disponible aumenta, se muestra el diseño completo. La estructura se vuelve más compleja, con assets más pesados.

Desarrollo adaptativo | Responsive Web Design (3)

Figura 5.3 Aspecto completo de la web de Ethan Marcotte

A pesar de esta estrategia, el diseño sigue siendo totalmente adaptativo, y utiliza las técnicas que hemos visto en anteriores capítulos: la estructura está basada en una rejilla flexible y las imágenes se muestran correctamente en cualquier resolución. Per ha diferencia de la estrategia tradicional, se utiliza la propiedad min-width para escalar y diseñar la web. La estructura básica de la hoja de estilos es la siguiente:

/* Default, linear layout */.page { margin: 0 auto; max-width: 700px; width: 93%;}/* Small screen! */@media screen and (min-width: 600px) { ... }/* "Desktop" */@media screen and (min-width: 860px) { ... }/* IT'S OVER 9000 */@media screen and (min-width: 1200px) { ... }

5.5.2 Cargar el contenido de manera perezosa (pero inteligente)

Pongamos como ejemplo que tenemos una galería de imágenes en nuestra web, que funciona como un carrusel utilizando JQuery. En este caso, si el navegador no dispone de Javascript, tendremos una lista de imáges, una sobre otra. Si alguien visita la web con JavaScript desactivado, la experiencia será bastante negativa.

La solución a este problema es cargar únicamente el contenido extra de la página a través de JavaScript. Para ello, la primera tarea a realizar es eliminar todas las imágenes excepto la primera de ellas, que es la que siempre se mostrará:

<div class="slides"> <div class="figure"> <b><img src="img/slide-robot.jpg" alt="" /></b> <div class="figcaption">...</div> </div><!-- /end .figure --></div><!-- /end .slides -->

El siguiente paso es crear una nueva página HTML que contenga las imágenes restantes:

<div class="figure"> <b><img src="img/slide-tin.jpg" alt="" /></b> <div class="figcaption">...</div></div><!-- /end .figure --><div class="figure"> <b><img src="img/slide-statue.jpg" alt="" /></b> <div class="figcaption">...</div> ...</div><!-- /end .figure -->

Éste no es un documento HTML válido, ni pretende serlo, ya que vamos a cargarlo a través de JavaScript para insertarlo en nuestra página actual.

$(document).ready(function() { $.get("slides.html", function(data) { var sNav = [ '<ul class="slide-nav">', '<li><a class="prev" href= » "#welcome-slides">Previous</a></li>', '<li><a class="next" href="#welcome-slides"> » Next</a></li>', '</ul>'].join(""); $(".welcome .slides") .append(data) .wrapInner('<div class="slidewrap"> » <div id="welcome-slides" class="slider"> » </div></div>') .find(".slidewrap")}); });

Y esto es todo. Si el navegador soporta JavaScript, se cargarán el resto de las imágenes, y se creará el carrusel. En caso de no disponer de JavaScript, simplemente se mostrará la imagen principal.

5.5.3 Otras posibles mejoras

Es posible restringir, desde JavaScript, las funcionalidades del documento en función del contexto, haciendo el script dependiente de la resolución.

if (screen.width > 480) { $(document).ready(function() { ... });}

Estra instrución en JavaScript equivale a un media query min-width: 480px: si el ancho de la pantalla es menor a 480px, el script no se ejecutará.

Desarrollo adaptativo | Responsive Web Design (2024)

FAQs

What is legacy responsive web design? ›

Responsive web design is a modern approach to create websites that adapt to different screen sizes and devices. It can improve user experience, accessibility, and performance. However, many legacy websites were built with fixed layouts, pixel-based measurements, and non-standard code.

What is an adaptive design website? ›

With adaptive web design, you create multiple versions of your website, each designed for a different device. When a user loads your website, you can automatically detect the device they're using and select the appropriate version of your website based on that information.

What is an example of an unresponsive website? ›

An example of a non-responsive website could be a traditional desktop-only site that doesn't adapt its layout or content for different screen sizes, such as smartphones or tablets.

Is Wix responsive or adaptive? ›

The Wix Pro Gallery and many other galleries are responsive. If the gallery has a Stretch icon it is responsive and you can make it full-width. Click here to learn more. Horizontal menus and lines automatically adjust to the screen width.

Which is better responsive or adaptive web design? ›

With all of that in mind, it's safe to say that responsive is usually the preferred technique if only because of the ongoing work that adaptive design demands. However, if a client or company has the budget, then adaptive might be a better choice, according to a test carried out by Catchpoint.

What are the top 10 reasons to use responsive web design? ›

Benefits of Responsive Website Design
  • Mobile-friendly. ...
  • Create Content Without Any Hassle. ...
  • Improves the Loading Time. ...
  • Increases Social Media Connectivity. ...
  • Easy Maintenance. ...
  • Enhance User Visibility in Search Engines. ...
  • Reduces Duplicate Content Issues. ...
  • Lower Bounce Rates.

What is the main goal of creating a responsive web page? ›

The goal is for a website to retain its optimal usability and appearance regardless of the device it's displayed on. Responsive web design responds to user needs by adapting to different screen sizes, orientations, layouts, and platforms.

What is responsive web design with example? ›

Responsive Web design is the approach that suggests that design and development should respond to the user's behavior and environment based on screen size, platform and orientation. The practice consists of a mix of flexible grids and layouts, images and an intelligent use of CSS media queries.

How to convert a non-responsive website into responsive? ›

For many sites, the steps below, which explain how to make a website responsive, can help you get started with the basics.
  1. Determine How Your Site Is Used by Visitors. ...
  2. Make Images Responsive. ...
  3. Include Media Queries. ...
  4. Define Your Breakpoints. ...
  5. Make Text Responsive. ...
  6. Optimize Form Fields.
Sep 17, 2020

How to make a non-responsive webpage responsive? ›

One of the easiest and fastest ways to make a non-responsive web design project more responsive is to use a responsive framework. A responsive framework is a set of pre-made code and components that can help you create flexible and adaptable layouts, grids, menus, buttons, forms, and other elements.

What makes a bad website layout? ›

Whether it's the lack of a clear message, cluttered layouts, poor mobile optimization, complex navigation, or issues with readability and functionality, each example provides valuable insights into how businesses can enhance their website design to deliver a seamless and engaging user experience.

What is an example of adaptive design? ›

Amazon. Similar to other sites using adaptive web design (such as CNN), Amazon encourages users to download their branded applications. It is reported that, adopted the adaptive design, Amazon access speed on the mobile devices than the previous reactive web design increased by 40%.

What is the difference between an adaptive website and a responsive website? ›

Responsive web design is a fluid approach whereby a page rearranges itself based on the detected screen size. Adaptive web design is a type of web design whereby the browser loads a layout created specifically for the given platform.

How do you tell if a website is responsive or adaptive? ›

The quickest and simplest way to differentiate the two is to understand that a responsive site uses a single fluid layout that changes to fit any screen size. Adaptive sites use multiple static designs with breakpoints that signal the appropriate layout for various screen sizes.

What are the advantages of adaptive websites? ›

With an adaptive web design approach, you can maintain a single codebase for all devices and screen resolutions rather than having separate versions of your website for different devices. This can make it easier to update and maintain your website over time, as well as reduce the risk of inconsistencies or errors.

Top Articles
Latest Posts
Article information

Author: Jamar Nader

Last Updated:

Views: 6263

Rating: 4.4 / 5 (55 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Jamar Nader

Birthday: 1995-02-28

Address: Apt. 536 6162 Reichel Greens, Port Zackaryside, CT 22682-9804

Phone: +9958384818317

Job: IT Representative

Hobby: Scrapbooking, Hiking, Hunting, Kite flying, Blacksmithing, Video gaming, Foraging

Introduction: My name is Jamar Nader, I am a fine, shiny, colorful, bright, nice, perfect, curious person who loves writing and wants to share my knowledge and understanding with you.