19/09/2018
Matices perdidos
Estaba leyendo este artículo de Paul Kinlan en el que habla sobre el significado de la «A» en PWA (progressive web app) y de allí he saltado a este otro, me ha gustado más este último, porque aunque no directamente trata sobre otra letra del acrónimo, la «P».
Y es que con el «boom» (que no lo es tanto, no al menos fuera del círculo de los desarrolladores de frontend) de las PWAs, el significado de la «P» es algo que tiene pinta que va a quedar diluído (espero equivocarme).
La «P» de PWA significa progresivo, esto es, que partiendo de algo muy básico vamos añadiendo cosas para aumentar la funcionalidad de nuestro sitio (entiéndase sitio como app, página, ...) hasta donde queramos/necesitemos: no necesariamente tenemos que tener soporte offline (aunque igual si que queremos usar un service worker para tener una caché de algunas cosas), podemos no querer que nuestro sitio sea instalable, ...
Pero en cualquiera de los casos lo que tenemos que tener es lo básico, y deberíamos tenerlo bien, aquí yo entono el «mea culpa» porque soy el primero que me lanzo a las bondades de webpack, axios o cualquier herramienta que me facilite un poco la vida y dejo de lado algunos aspectos (ejem, accesibilidad, ejem, navegadores antiguos, ejem) que deberían ser obligatorios, también depende del proyecto, pero hay veces que si no se establecen desde el principio unos fundamentos de compatibilidad y unos requisitos extrictos pues luego es muy fácil dejarse llevar.
Y todo eso teniendo en cuenta que yo soy un defensor a ultranza de estas cosas, pero aún así no siempre predico con el ejemplo.
Últimamente estoy cada vez más concienzado de esto y me da un poco de miedo/pena que nos dejemos llevar y olvidemos que la P de PWA es lo que siempre hemos llamado progressive enhancement y no solo es tirar hacia adelante desde donde estamos, sino empezar desde el principio, desde lo básico, sí, estoy hablando de no depender de javascript para ofrecer una mínima experiencia usable a nuestro público.
Todo esto me ha recordado a mis pensamientos sobre RWD (responsive web design) en su día, cuando Ethan Marcotte definió el término yo quedé enganchado desde el principio, la siguiente web que hice (hace ya siete años de esto) ya era responsive, bueno, en realidad lo que tenía es que si la veías desde un smartphone se veía bien, porque más allá de las media queries y como explica en su libro, responsive es más que eso, no es que se vea bien, que las imágenes y el layout se adapten al tamaño de la pantalla, responsive es dar a cada usuario la mejor experiencia posible teniendo en cuenta su dispositivo. La distinción es importante, permite plantearte cosas, como por ejemplo si esa imagen de fondo es realmente importante, si tiene sentido añadir dependencias para una utilidad secundaria en un dispositivo que vaya muy forzado... Y empieza a ponerse interesante, porque tampoco tenemos (vamos mejorando, y hay cosas que ya empezamos a poder saber: tipo de red, uso de batería...) herramientas para determinar como es el dispositivo del usuario,pero ahí está la gracia, quizás no haga falta, vamos a establecer una buena base para todos y desde allí mejoramos para algunos, para los que puedan permitírselo.