¿Creen que saben CSS? Acá pueden ver cómo clasificar la gente según cuánto CSS saben, cómo lo utilizan y qué se puede hacer para ayudarlos. Fíjense y digan si conocen a alguien en cada nivel o si se les ocurre algún otro nivel. Yo creo estar entre el nivel 4 y el 5… y traduzco cosas del 6.
Hace mucho tiempo leí este artículo y si lo dejé marcado para traducirlo en algún momento es porque realmente vale la pena. Además, recordé haberle prometido a Gato y Doliaku colaborar con PuroCSS. Intenté ingresar al sitio pero no pude, pero de todas formas publico acá.
Notas de traducción
- El artículo fue traducido con el permiso expreso y por escrito (en un e-mail) de su autor: Emil Stenström
- No se me ocurre cómo traducir la palabra layout y que quede más o menos decente
- Artículo Original: Levels of CSS knowledge
La traducción
Como ya se habrán dado cuenta estoy muy a favor de los estándares web. Los estándares actuales comúnmente aceptados son: (X)HTML para la estructura de una página, CSS para el diseño y Javascript para los comportamientos. HTML es bastante conocido ahora, ha estado presente desde los comienzos de la web y hay tutoriales para comenzar por todos lados. CSS está comenzado a tomar velocidad, las grandes compañías están cambiando sus sitios a layouts basados en CSS y los círculos de desarrollo web de la blogósfera influyen a cada vez más gente.
Cuando se promueven los estándares web, como muchos de nosotros hacemos, se conversa con mucha gente. Si se lo promueve en una sala de chat en vivo como #CSS en EFNet se hace más claro todavía: existen muchos niveles de conocimiento de CSS allí afuera. Este artículo enumerará algunos de esos niveles así como una evaluación de cómo cada uno de estos tipos de desarrolladores afectarán la web. Aquí vamos:
Nivel 0: “¿CSS? ¿Qué juego multijugador es ese?”
Esta gente probablemente jamás ha hecho una página web en su vida. Si lo hicieran, sería puro HTML y no comprenderían lo que estaban haciendo. Recibimos algunas de estas personas en #CSS, no porque quieran comenzar a aprender sino porque creen haber llegado a otro canal, normalmente buscando CS:S (Counter Strike: Source). No hay que preocuparse por esta gente ya que probablemente no hagan muchas páginas web reduciendo al mínimo el daño que puedan causar.
Nivel 1: “Si, a veces lo uso para sacar el subrayado a los vínculos”
A diferencia del Nivel 0, la gente en este nivel de hecho sabe HTML básico. Probablemente lo aprendieron hace 5 años al menos e hicieron un par de sitios simples. Utilizan muy poco CSS, sólamente cuando necesitan hacer cosas simples y sólo aquellas que no se puede hacer con HTML como remover subrayados o setear la altura de una línea (¡Ni siquiera intenten hacerlo con HTML!). Si bien este grupo podría proveer algunos sitios con código realmente malo, rara vez tienen uno de importancia con muchas visitas. Esto significa que tampoco provocarán mucho daño.
Nivel 2: “No, no me gustan los divs; es mucho más sencillo trabajar con tablas”
En lugar de sólo jugar con HTML, como aquellos de Nivel 1, algunos continuaron la travesía. Se especializaron en tablas HTML y las utilizaron para hacer que las cosas se vieran como ellos querían. En algún punto antes de finalizar la maestría en HTML dejaron de buscar nuevas formas de trabajar. Escucharon sobre algunos que “utilizaban divs para diseñar sus páginas” e inclusive se tomaron un tiempo en día para intentar aprender qué era eso de lo que tanto se decía. Después de unas horas de no conseguirlo se rindieron y volvieron a la tierra familiar de layouts con tablas, y allí se quedaron. Muchos conocen la sintáxis de CSS y algunas veces inclusive un poco más pero creen que es demasiado complicado y mal soportado para reemplazar las tablas.
¡Cuidado! Esta es gente peligrosa, algunos incluso webmasters de sitios de grandes corporaciones. Como están en el ambiente desde hace tiempo muchos son líderes de los departamentos a los que pertenecen. Este es el grupo más importante al que debemos evangelizar, y si lo hacemos realmente será de gran importancia para la web. Concentra en esta gente todos tus ejércitos estándar.
Nivel 3: “Si, escuché que es bueno, pero no puedo usarlo por…”
Si bien aquellos en este grupo aún no utilizan CSS para posicionar elementos, conocen un poco de CSS y a lo mejor escucharon buenas cosas al respecto. Han intentado hacer layouts simples y a algunos inclusive les gustó cómo se siente trabajar con CSS. El problema es que existe algo que los detiene. A lo mejor tienen un jefe de Nivel 2, a lo mejor su sitio web necesita visualizarse en Netscape 4, pueden existir muchas razones distintas, pero siempre hay algo en el camino.
Esta gente necesita saber que, si bien CSS no funciona en todos lados, eso no es el fin del mundo. Viejos navegadores continuarán recibiendo todo el contenido, sólo el puro contenido. En lugar de a ellos, se llegará a una nueva audiencia con beneficios de accesibilidad y usabilidad, navegadores más nuevos tendrán una mejor experiencia y el sitio podría volverse más sencillo de modificar (lo que conllevará más contenido). Dile éso a la gente de este grupo. Si no se tiene suerte, no son ellos los que toman las decisiones; pero en ese caso, sus influencias en los jefes de Nivel 2 valdrán la pena.
Nivel 4: “¿CSS? ¡Oh! Si, utilizo divs para todos mis layouts”
No es raro que esta gente sólo utilice divs en sus sitios. Cada parte de sus páginas tiene un div, frecuentemente con un id detalladamente ideado (#linearojaarriba o inclusive #f5_c7 donde f es fila y c columna), y la posición de sus divs son absolutas cuidadas al pixel. El resultado se ve bien, e inclusive valida como XHTML 1.1 pero no se han percatado que perdieron la mayoría de los beneficios de CSS. Estas páginas son terribles cuando tienen que ser interpretadas por un lector de pantallas. Igual con algunos navegadores viejos que no soportan CSS, no conseguirán el contenido… recibirán un bloque enorme de texto. Cuando se utilizan malos ids y nombres de clase se pierde la posibilidad de cambiar el layour: si se quiere cambiar una línea roja por una negra se necesitaráb cambiar todos los documentos HTML (que pueden ser cientos). No caigas en la trampa de decirles que son estúpidos o que busquen “css” en google, saben que son inteligentes y, como si fuese poco, aprendieron CSS de google. Diles exactamente qué es lo que puede mejorarse en sus sitios. Diles cuáles son los beneficios. Mantente tranquilo y diles el porqué.
La gente de Nivel 4 producen sitios que son relativamente malos. El daño es reducido sin embargo, ya que están abiertos a nuevas ideas. Después de todo, no fue hace mucho tiempo que consiguieron aprender y comenzar a usar CSS.
Alguna de las razones por las que la gente piensa de esta forma es por lo que los editores WYSIWYG están haciendo. La mayoría de dichos editores producen código terrible sólo con divs; pero estoy escuchando que hay mejoras graduales en este tema. Eso es bueno y esperemos que ayude a la gente de Nivel 4 crecer hacia los siguientes niveles.
Nivel 5: “Uso CSS para los diseños, es mejor que las tablas porque…”
Luego de mucho leer, hablar con gente y pensar, la mayoría llega a nivel 5. Este es el punto en el que se puede utilizar CSS y saber porqué es mejor. Alguna gente en este nivel tiene problemas menores en los sitios que desarrolla pero no es nada serio. Cuando se les pregunta pueden defender su postura de separar la estructura del diseño y decir que es buena y han trabajado lo suficiente con CSS como para saber los inconvenientes más usuales. Adivino que la mayoría de los lectores de este artículo pertenecen a este nivel y creo que yo lo soy también. Pero esto no es todo lo que podemos lograr…
Nivel 6: “¿Qué versión de CSS? Sí, ¿no leíste mi libro sobre… ?”
Para algunos, el conocer cómo y porqué no es suficiente. Esta gente apunta a mejorar el uso de CSS y publican excelentes artículos sobre nuevas formas de utilizarlo. Están constantemente revisando las necesidades básicas que CSS debe cubrir y atacan problemas desde nuevos ángulos, resultando por lo general en grandes artículos. Algunos inclusive han leído la especificación CSS de la W3C completa y seguramente saben qué porciones de ella están soportadas por cada navegador. Son lo que todo novato quiere ser y hacen grandes cosas en la web con su influencia. Muchos trabajan con el Proyecto de Estándares Web. Si alguna vez encuentras un error en sus sitios, seguramente hay una razón para el mismo. Pregúntales y te dirán cuál.
7 Comments
En primer lugar _layout_ se puede traducir como disposición (de los elementos), en algún lado vi que lo interpretaban como organización gráfica, pero me quedo con disposición.
Con respecto al artículo, no es muy profundo pero dentro de su perspectiva general es interesante.
Igualmente me da la impresión de que hay un gran salto del 5 al 6, yo por ejemplo me consideraría en nivel 5.1 ya que no pretendo extender el lenguaje, pero probablemente sepa decirte cual es al diferencia entre las distintas versiones, además que conocer la especificación es esencial.
Otra cosa que no está muy remarcada y creo que falta mencionar, es que uno puede ser un guru en CSS pero antes hay que estar bien _nivelado_ en HTML.
Ahhh claro. Gato y Doliaku. Para que Nicolás, no?? Claro…. Deja nomas, deja.
ehhh muy buen articulo!! copado che!!
seee vieneee se vieneeeee PuroCSS.com!!
Excelente traduccion! Interesante artículo!
Espero que con www.purocss.com logremos llegar al nivel 6!!
Marcos: Gracias por el término; pero diposición no da la idea de *la visual del sitio* y queda muy mal en ciertas frases. Y sí, es cierto que hay un gran salto del 5 al 6, seguramente donde caemos muchos de nosotros
Nicolás: Perdón, pero yo sólo me basé en el post de presentación del Gato donde no te mencionan. Y el sitio no andaba para fijarme cuando escribí el post.
Gabriel y Lucas: esperemos. Avisen si necesitan una mano.
Coincido con Marcoss. El conocer CSS en el nivel 5 o superior, conlleva el hecho de tener un sólido conocimiento en la semántica y el armado del (X)HTML. De nada sirve tener conocimientos profundos del lenguaje si la sintáxis en donde se va a aplicar es mala o deficiente.
Imprimo, leo y Guardo.
Gracias Mati!