www.linuxhispano.net/2012/02/23/elementos-que-desaparecer... por
kirov el 23-02-2012 13:33 UTC publicado: 25-02-2012 23:40 UTC
Si te dedicas al mundo del desarrollo web, sabrás que con cada versión nueva de HTML, al igual que ocurren en otras tecnologías, hay elementos que aparecen y otros que desaparecen o se marcan como deprecated para avisar de que deseparecerán en breve. Con el tránsito definitivo a HTML5 del que tantísimo se lleva hablando, algunos elementos dejarán de existir. Aquí os traigo un listado de ellos, cuál era su función y cómo debemos sustituir su funcionalidad.
etiquetas: html, html5, web negativos:
8 usuarios:
244 anónimos:
160
¿Cuales son esos problemas que arrastra?
Por otra parte, también estaría mal escribir class="red", un nombre de clase debe definir qué funcionalidad tiene su contenido, no su estilo, todo lo que tiene que ver con el estilo debe ir en la CSS. Debería tener un class="descripcion coche" y en la CSS decirle que ese elemento es rojo.
Yo lo hacía casi a pelo, solo con bluefish. Pero expresamente, porque quería aprender.
En cualquier caso siempre me quedará text-decoration:blink
Porque el HTML es un estándar y seguirá siéndolo siempre.
Cuando el W3C coloque la etiqueta de Obsoleto, entonces quizas.
www.w3.org/TR/html4/
#89 El problema de la etiqueta applet es que hace referencia a una tecnología específica. ¿Qué sentido tiene utilizar una etiqueta para incrustar un applet y otra distinta para hacer lo mismo con un cualquier otro tipo de objeto?
Imagina que tienes una web grandecita con unos cuantos miles de páginas y que tu jefe te dice que esos trozos de texto de color rojo los tienes que poner de color verde. ¿Prefieres buscar y reemplazar en miles de páginas o cambiar una línea de un fichero .css? Por no hablar del contenido que pueda estar en BBDD.
#84 se pueden incluir applets con el elemento OBJECT de html5: eyeasme.com/Shayne/HTML5_APPLETS
#99 por lo menos a lo que a mi respecta, escribo todo el html y css a mano, desde 0 (que para eso me pagan) así que no se a que te refieres con "algún tipo de herramienta"
<div id="header">... </div> --> <header> ... </header>
<div id="content">... </div> --> <article> ... </article> o <section> ... </section>
<div id="footer">... </div> --> <footer> ... </footer>.
Además hay otros como <aside> para los típicos menús laterales o <nav> para las barras de navegación.
El tema retrocompatibilidad es tan simple como usar html5shiv code.google.com/p/html5shiv/ o cualquier otro que hacer que IE lo pille correctamente. El resto de navegadores asumen que los tags desconocidos son divs o ya soportan HTML5. A la práctica puedes crear nuevas etiquetas (consecuencia de la actual implementación de los principales navegadores), aunque el estándar no lo recomienda pero eso no evita que recomienden a los navegadores intentar mostrar el contenido de los tags desconocidos.
Para los que reniegan de la pérdida de esas etiquetas: "It's all about semantics, stupid!" www.alistapart.com/articles/semanticsinhtml5
2º ¿Optimización? strong = 9 Bytes, b = 4 Bytes... 5 bytes de diferencia... conexiones de 20Mbits... procesadores con tantos núcleos como pedos se tiran al día... creo que no es relevante
Y luego te contradigas:
No eliminarlas implica que el navegador tenga que saber parsearlas, y eso aumenta el código del navegador y el tiempo de renderizado (en unidades infinitesimales, pero oye, grano a grano se hace el granero).
Pues lo mismo se te puede decir respecto al strong, el b y todo lo demás. Grano a grano se hace el granero...
find -name '*.html' -exec sed -i 's/<span style='color:red'>/<span style='color:green'>/g' {} \;
Utilizado para indicar texto subrayado, ahora usamos CSS y más concretamente: text-decoration:underline
Pasamos de utilizar 3 caracteres a usar 25. Cierto es que una sola vez, pero se podrían mantener las etiquetas HTML dentro del CSS, las que eran muy ligeras.
Cualquiera con unas mínimas nociones de compresión de datos (y yo no soy un gurú del tema precisamente), sabe que el texto plano tienes un factor de compresión bastante grande.
user@host:~$ wget -qO - meneame.net|wc -c
67501
user@host:~$ wget -qO - meneame.net|gzip|wc -c
15343
Como podéis ver, 4 veces menor de una a la otra. Que algunas etiquetas tengan algunos caracteres de más respecto de las que replazan, no es ningún drama. Máxime en los tiempos en los que te bajas películas de varios megas (o gigas) en cuestión de minutos. Para los que no dominen las unidades de tamaño en bytes: 67501 es la 0.000067501 parte de un giga (asumiendo que un giga son 1000M...). Vamos, eso en mi pueblo no es nada...
Las etiquetas no van a desaparecer de HTML. Van a desaparecer de HTML5.
Los navegadores seguirán renderizando igual las páginas antiguas, con lo que estas nuevas reglas son sólo para las nuevas páginas en HTML5.
-Soy programador, no maquetador. A mí me pasan el html ya maquetado, así que no tengo mucha decisión sobre donde va un div.
-Sigo pensando que no se arregla nada con html5 con añadir un tag para el footer y otro para el header.
-Y #25, a eso me refiero con lo de definir una clase como 'red' para aplicar el rojo. Ahí te estás cargando el concepto. Si haces así y pasa lo que dice el jefe de #112 ¿qué haces? ¿que la clase red pase a colorear el texto en verde? Con eso quería decir que hay mucha gente que defiende el CSS y luego hace esas cosas creyendo que ahora lo está haciendo bien. Otro ejemplo: las tablas son malas, no hay que usar las tablas. Y van y crean lo que viene siendo una tabla con <div> y display:cell-table y cosas de esas.
Nadie criticaba el diseño web con tablas por el concepto en sí, si no por el uso de las tablas propiamente. Yo soy el primero que cuando esté bien soportado el display:cell-table en la mayoría de navegadores, lo usaré como un loco en mis proyectos (qué ganas de que desaparezcan Explorer 6 y 7...)
#84 ¿El consumo de recursos, en qué exactamente? ¿En serio? Si no puede haber nada más compacto que un fichero HTML limpito, con solo la información justa, y por otro lado una hoja de estilo. Incluso más limpio que usando todas esas etiquetas tan anticuadas que la gente se niega a dejar de utilizar.
(perdón #84)
#120 Las tablas son malas porque los buscadores tienen problemas para indexar la información que contienen, a parte de que se comportan un poco como les da la gana según el navegador con el que las visualices.
Lo mismo con <center>. Por ejemplo
Además usar CSS es mucho más engorroso que el HTML en sí.
#119 Realmente aunque yo entendí la noticia. Es lo que pone el titular y debería ser "desaparecerá de la versión 5 de HTML o de HTML5". Y no "de HTML" como pone la propia noticia.
Salu2
Desde luego una de las peores lacras del mundo del desarrollo web es que hay muchísima gente que se cree super guay por usar la etiqueta "b" que está completamente obsoleta y debería de haber desaparecido hace eones.
Basta ya de estilos en línea y de dar estilos con etiquetas. Usemos las "hojas de estilo" para eso, que su nombre indica perfectamente para que valen.
+1 para HTML5
yo antes tambien pensaba que cuanto menos bytes mejor, y soy fanatico de la optimizacion, pero optimizar significa buscar un compromisos, el mantenimiento de una web se hace un dia si otro tambien y sacrificar unos bytes por hacer un codigo facilmente mantenible es una gran ventaja que añade un "infinitesmal" de bits
con un buen sistema de compresion de imagenes, cuidando la publicidad, los efectos.., si que se quitan quitan muchos mas bits, lo otro es como pensar que por quitarle un grano a un reloj de arena va a durar menos tiempo
pero repito, es opinion personal
¿Acaso no tenéis que meter marcadores entre medias del contenido para hacer la presentación? ¿Que creéis que es si no un < b >, o un < span > o un < div >? ¿Contenido? JAJAJA!
Contenido: El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.
Presentación: El microprocesador (o simplemente procesador) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el «cerebro» de un computador. Es un circuito integrado constituido por millones de componentes electrónicos. Constituye la unidad central de procesamiento (CPU) de un PC catalogado como microcomputador.
¿Como se pasa de contenido a presentación? Pues juntándolo todo así: El < i >microprocesador < /i >(o simplemente < i >procesador< /i >) es el circuito integrado central y más complejo de un sistema informático; a modo de ilustración, se le suele asociar por analogía como el < b >«cerebro»< /b > de un computador. Es un circuito integrado constituido por < i >millones de componentes electrónicos< /i >. Constituye la < b >< i >unidad central de procesamiento< /i >< /b > (CPU) de un PC catalogado como < b >microcomputador< /b >.
Bien, una vez que hemos descubierto que no se puede separar presentación de contenido, joder, haz una marcas (hypertext markup language) simples, sencillas, lógicas. Si ya tienes < b > para bold, ¿a que coño viene em, strong, o todas las demás complicaciones? Pon una marca sencilla como < b > y luego si quieres, en un fichero aparte (el CSS o equivalente) indica que b se va a pintar con letra de tamaño tal, fuente cual, color pascual y todo lo que haga falta. Pero usa < b >, no < span style="font-weight: bold;" >, que por si no lo estais notando, incluye la presentación (font-weight: bold) con la información: No se pueden separar.
El problema es que muchos porque os dediquéis a ello ya creéis que sois la reostia, pero no habéis hecho más que memorizar y aplicar lo que os han enseñado, sin pensamiento crítico, sin dudar, sin pensar si eso es mejorable o no, sin nada, solo repetir como loros. Bien por vosotros, os ahorrareis muchos disgustos en vuestras vidas.
y en tu ejemplo... porqué quieres poner esas palabras en negrita? porque si? NO. Las quieres poner porque quieres transmitir una fuerza especial, quieres recalcarlas. ESO ES CONTENIDO, NO PRESENTACIÓN.
En fin, tu pon <blink>gifs animados</blink> igual si quieres.
Ejemplos de código que te vas a encontrar seguro donde eso no funcionaría:
<span style="color:red">
<span style='color: red'>
<span
style='color:red'>
<span style='color:red'>
<span style='color: red;'>
<span style='color:red;border:none'>
<span style='color:red' class='foo'>
Por no hablar del contenido dinámico que venga de BBDD.
Con el ejemplo que has puesto, te puedo decir que, sencillamente, no comprendes lo que es el contenido y la forma, no puedes separarlo por que no comprendes su diferencia.
- La especificación HTML4 no cambia ni se destruye, todo esto que se habla es para especificación HTML5, son cambios que no van a alterar páginas antiguas.
- Los navegadores van a mantener la retocompatibilidad con HTML4 durante muchísimos años, sencillamente por que no pueden obligar a rehacer toda la web. No tienen que ser compatibles con una sola especificación. De hecho los actuales son compatibles con las versiones antiguas de HTML y CSS.
- En el DOCTYPE indicas la especficación a utilizar. No hay ningún tipo de problema de compatibilidad, por que el navegador gracias a ello sabe qué reglas utilizar.
#129 y las pajas mentales
Y los que solo critican, como el idiota de #143
Pero es lo que digo, la gente antes sabía hacer las cosas, ahora las copian
a ver si pueden decir lo mismo los usuarios de Word
#143 me haz hecho sonreír
Ah... y los programadores (y los diseñadores) tampoco son maquetadores.
En el posicionamiento hay factores que cuentan mucho, como el linking externo, otros que cuentan menos, como el uso correcto de ciertos tags, y otros que no cuentan nada, que son esos trucos que se inventan los gurús del SEO que no tienen ningún sentido.
He aquí una de mis páginas preferidas , muy a pesar de que usa tablas: eztv.it/. Su estructura es clara, el uso de tablas yo creo que es correcto, aun habiendo diseños alternativos. Lo que me parecería una tontería es implementar ese diseño de tablas exactamente, usando divs en lugar de tablas. Luego vienes tú y dices que, en el año 2012, el bot de google va a tener problemas para parsear esa página, porque tiene tablas, y le va a poner menos pagerank. ¿Por qué podría ser eso? ¿Porque los sres. de google no han tenido tiempo de hacer un bot que entienda ese contenido? ¿O quizás si que pensaron en ello en el diseño, y decidieron otorgar menos peso a los datos estructurados en tablas por alguna razón que desconozco?
Por un lado: el html generado desde PHP o lo que sea, dentro de matete de código importante:
<p id="user">Hola <strong class="blue">Usuario!</span></p>
...
<p>Es importante <span class="blue">destacar</span> que.... </p>
Y por otro lado lado, un simple css:
.blue{ color: #00F;}
Casi terminas el proyecto al i...a de tu cliente se le ocurre que ahora sería mejor mostrar los textos destacados en rojo. ¿cómo lo resuelves?
.blue { color: #F00;}
Punto... no tienes que tocar un más que un simple archivo de texto sin meterte en la lógica de la aplicación. Ahora bien, ¿tu cliente quiere que el nombre de usuario aparezca no en negrita sinó subrayado y en verde? Oks:
#user strong.blue{
font-weight: normal;
color: #0F0;
text-decoration: underline;
}
Incluso, los cambios en el CSS podría hacerlos alguien como un diseñador que no quiera complicarse con código. De hecho, si siguen jodiendo con esto del <.b.> por el <.strong.>, entiendan algo bastante simple que hace también a la optimización: el contenido html muchas veces generado dinámica se sirve independientemente de los estilos, en archivos separados que pueden ser cacheados por los browsers. Entonces, el servidor estaría solamente "ocupado" en generar y enviar contenido, y no estar mandando miles de veces código que tengan que ver con la presentación.
Y para cerrar:
- HTML ni HTML5 ni CSS son lenguajes de progamación, esto creo que ni se debería discutir acá.
- Que muchos no sepan separar contenido de presentación, no significa que no se pueda o sea imposible.
- HTML5 no creo que sea la salvación ni alivia el trabajo de maquetar. Provee nuevas etiquetas para marcar semánticamente el contenido de forma más clara, y unifica algunas cosas, y saca del medio algunas etiquetas redundantes.
- Por último, debe prevalecer el sentido común. Si tengo un site en producción, y por alguna cuestión urgente tengo que sacar un logo o destacar un texto, nada me impide que use un <span style="bla bla bla">texto</span> enh vez de meterme a buscar hojas de estilos. Lo mismo si tengo que desarrollar una simple página para poner de portada de algo.
Saludos!
y con esto concluyo mi participación en este tema.
La conclusión que saco de todo este meneo es agridulce: en el mercado español no voy a tener mucha competencia por bastante tiempo
Yo cada vez que me entra sueño uso coffee
Simplemente digo que sería interesante que saldría si se pudiera replantear desde cero un lenguaje web ajustado a los planteamientos actuales.