soy Kseso y esto EsCSS

¿Somos cangrejos? O de la polémica en torno a los prefijos privativos en Css

¿Somos cangrejos? O de la polémica en torno a los prefijos privativos en Css

·Por Kseso ✎ 1

Hechos constatables en el uso y abuso de los prefijos privativos de css

¶ El periodo de actualización de las versiones de los navegadores es en la actualidad muy corto.
¶ El avance en el conocimiento y uso de las propuestas ("features") de css3 es más que notorio
¶ El soporte de estas propuestas novedosas de Css3 por los distintos navegadores es dispar.
¶ Cada navegador utiliza un prefijo diferente para soportarlas mientras desarrollan la forma definitiva y se estandariza.
¶ En más de una ocasión la sintaxis utilizada en el valor de esas "propiedades" difiere de navegador a navegador. Incluso cambia dicha sintaxis en los documentos de trabajo del consorcio a medida que avanza en su desarrollo.
¶ Muchos picacódigos, por desidia o desconocimiento, no incluyen en sus estilos todos y cada uno de los diferentes prefijos.

Cual cangrejos, aquí estamos:

Y lo que venían siendo rumores y ruido de fondo desde hace un buen tiempo explotó y se propagó por la red. Especialmente en medios de habla inglesa y por diseñadores y hacedores de productos web anglófilos. En medios escritos en castellano/español apenas ocupó ni tiempo ni páginas. Lamentablemente.

Todo surgió a raíz de ver la luz el artículo "CALL FOR ACTION: THE OPEN WEB NEEDS YOU *NOW*" de Daniel Glazman, Co-presidente del Grupo de Trabajo de CSS del W3C.
Básicamente el autor equipara la situación actual en el uso en exclusiva del prefijo privativo -webkit- por los desarroladores, ignorando al resto (-moz- | -o- | -ms- ) y lo que ocurrió hace unos años cuando el navegador dominante era IE con sus filtros y cosas por el estilo.

Así que ante esta situación, recordaba que no es tanto el trabajo de añadir esos otros prefijos. Lo contrario supone el que se haya pasado del "página optimizada para ie" a "página optimizada para webkit" (ya sea chome o safari). Y ello significa en la práctica que todo el trabajo que supuso la creación y respeto por los estándares se pierda.

Y, añado de mi cosecha, hay ejemplo de páginas que no sólo no podías ver ciertos "efectos" si no entrabas con su navegador, no sólo, no. Diréctamente te salía el aviso de navegador no compatible y la "recomendación" de bajarte el suyo.

Ante tal andanada y el revuelo que originó, ha habido opiniones más o menos razonadas y fundadas para todos los gustos.
Desde quienes piden al resto de navegadores que den soporte al prefijo privativo -webkit-, pasando por la respuesta de algnos de éstos diciendo que ¡nones!, hasta todo lo contrario.
Otros, los menos y más inteligentes lo que han comenzado a hacer es a incluir todos los prefijos y a revisar lo ya hecho para colocarlos en su sitio.

Recopilación de algunas opiniones recogidas en CSS-Tricks:

¤ Remy Sharp says this is a bad idea because it affects the expectations of developers and will likely make us even lazier about prefixes.
¤ Other folks in this this ain't good crowd: Rachel Andrew, Bruce Lawson, and Gilles Vandenoostende.
¤ Christian Heilmann says we as developers got ourselves into this mess, so let's get ourselves out of it.
¤ Aaron Gustafson begs us to at least fix our own stuff and created a petition against other vendors supporting -webkit-.
¤ Eric Meyer is pretty sure we aren't going to win this battle.

Interesante también el artículo de LEA VEROU publicado en A List Apart, ya de entrada deja clara su opinión con esta declaración:

¤ Public service announcement: Every time you call a proprietary feature “CSS3,” a kitten dies. Any -webkit- feature that doesn’t exist in a specification (not even an Editor’s draft) is not CSS3.

También hay quien ha tenido tiempo de proponer solucciones. Nada menos que 7 propuestas:

¤ Craig Buckler en sitepoint.com publicó "7 Solutions to the CSS3 Vendor Prefix Crisis". Cada una con sus pros y sus contras.

Una opinión personal. Utópica.

No es que tenga valor alguno lo que yo pueda pensar al respecto y mucho menos que que haya a quien le importe lo más mínimo, pero como el blog lo escribo yo, ahí van unos sin sentidos:
No hay nada malo o no reniego del uso de los prefijos privativos siempre que se incluyan todos, con independencia de que dicha propiedad esté o no soportada por todos los navegadores en el momento de codificar.

Es un problema que nace únicamente por el desconocimiento, desidia o baguería de quienes escriben código css.
Por lo tanto, pedir a terceros, los desarrolladores de los navegadores, que lo arreglen no tiene mucho sentido. Tienen otras cuestiones prioritarias y más urgentes.
Mientras no quede otra, si vas a utilizar alguna de las futuras propiedades estándar de css3 y necesitas utilizar el prefijo privativo, o escribes todos o ninguno.

Hasta ahora, quienes han sufrido el desacuerdo entre los desarrolladores de los navegadores hemos sido los desarrolladores web y los usuarios. ¿Será el tiempo de cambiar esta situación?
¿Y por qué no un único prefijo no privativo para todos los navegadores?. Y que quienes pongan el trabajo de uniformar la situación sean los desarrolladores de los navegadores.
Algo como:

-feature-position: center;

Y después de tanto parloteo, si has tenido la paciencia de leer hasta el final, tienes todo el derecho del mundo a dejar tu opinión en un comentario.

avatar del Editor del blog

Ramajero Argonauta, Enredique Amanuense de CSS.
#impoCSSible inside
Dicen que, en español, EsCss es el mejor blog de CSS. Posíblemente exageren.
@Kseso EsCss Don Kseso Kseso