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
Me gano la vida con estos 2 lenguajes, y puedo asegurar que html5 está genial. Los elementos que desaparecen, deberían de haberlo hecho hace años y de todas formas ningún maquetador profesional los usa desde hace tiempo.
#1 margin:auto para elementos en bloque, text-align:center para elementos en línea.. tan complicado no es, no?
#3 ¿applet? ¿En serio? ¿alguien todavía usa applet? Es como reclamar por marquee, jajaja
#6 suerte que tenemos a los sabiondos del HTML y no te tenemos a ti, porque... madre mía. Para empezar, para enfatizar algo existe strong. Por otro lado, todo el html gira en torno a la SEMÁNTICA, y eso significa SEPARAR LA PRESENTACIÓN DEL CONTENIDO. Y por último, html5 realmente simplifica las cosas... vistes el doctype?
sobre los comentarios sobre el "peso de la página" mejor ni entrar...
< b >cosa en negrita< / b >
que es sencillo, simple, eficaz y que el navegador interpreta a toda ostia, a barrabasadas como:
<span style="font-weight: bold;">cosa en negrita</span>
para hacer exactamente lo mismo.
Keep It Simple Stupid!
#1 Pues pones un style="text-align:center" y va que se las pela. De hecho yo lo he usado más de una vez para cumplir XHTML 1.1 estricto. A mí tampoco me parece para llevarse las manos a la cabeza.
Y sí, yo abogo por las hojas de estilos sencillamente porque hacen más claro el documento, más limpio, y te permite separar la parte que contiene información sobre la apariencia y la parte que contiene el contenido. Además, que yo sepa un fichero CSS se lee todo de una tacada, el resto del trabajo, lo hace el navegador.
#8 Hoy en día no creo que unos bytes de diferencia haga muy pesada una página web cuando nos solemos descargar terabytes de datos al mes en materia de películas, videojuegos y música sin un mínimo esfuerzo. Si estuviéramos en la década de los 80 con esas memorias y discos duros tan limitados lo podría entender.
Yo sigo opinando que en la segunda década del siglo XXI, con la tecnología tan avanzada que tenemos en materia de ordenadores, y por ende, de servidores de Internet, quejarse de tener que escribir unas cuantas letras más o de tener que escribir una hoja de estilos por separado en vez de usar <font> y otras etiquetas de los inicios de Internet, me parece cuanto menos por pereza e inmovilismo.
Imagino que relacionar 'escribir poco' con pereza es cuestión de desconocimiento, lee algo sobre lenguaje ensamblador, precisamente escribir menos a veces requiere más esfuerzo en contra de lo que pueda parecerte.
Aparte de eso, como ya dije en #18 no son 'unas cuantas letras más' cuando las multiplicas por el torrente de webs que circulan diariamente en Internet.
Pues claro que se mira por la comodidad del programador, ¿si no para que cojones se creó el concepto de OOP? Cada día usamos más y más capas de abstración que permiten tiempos más cortos de desarrollo y menor coste de mantenimiento a expensas de usar cantidades obscenas de recursos, la separación conceptual entre contenido/estilo/estructura en la web no iba a ser diferente.
Lógicamente, hay programadores y "programadores", pero pasa en todas las profesiones. Me hicieron hace poco un cambio de tuberías en casa hace poco barato barato y en tiempo récord. Los tuve que llamar a las dos semanas porque salía agua por todas partes. Es la diferencia entre optimización y chapuza, pero donde sí te doy la razón es en que al fontanero le resultó muy cómodo el trabajo.
strong{font-weight: bold}
usemos cada cosa para lo que toca, html es estructura y css estilos
Así que quitan el <u>, porque no tiene significado semántico, pero el <d.el> sí lo tiene porque así separamos el contenido de la presentación. Pero claro, a la hora de maquetar un HTML, por muy bonito que sea el CSS, has de empezar a llenarlo todo de <div> y <span>, cuyo contenido semántico es... ninguno!!
Luego por otro lado, ves a programadores defendiendo esto mismo de separar el contenido de la presentación; como vean que haces: <span style='color:red'>Hola</span>, ponen el grito en el cielo. Luego ellos van y hacen <span class='red'>Hola</span> y se quedan tan panchos.
(Al <d.el> le he puesto un punto porque si no me tacha el texto)
Es como decir que la lluvia sobre un punto de un gran lago sube mucho el nivel del agua cuando muy cerca hay un par de cascadas echando litros y litros de agua por segundo. Pues las gotas de lluvia son esos bytes de mas que os parecen fruto de la no optimizacion pero que a efectos globales de carga no son un lastre demasiado grande, mientras que las cascadas son todo el torrente de informacion que producen a diario determinados servicios como el P2P o el portal de videos YouTube.
Paso de seguir comentando, porque yo aqui hablo de unas letras de mas en un lenguaje de marcas y los demas meteis por medio lenguajes de programacion de alto nivel y lenguaje ensablador. Y perdon si faltan acentos, tengo el ordenador de sobremesa enfermo y estoy en un MiniXP intentando reparar el disco duro con el teclado en ingles.
No tengo mucha experiencia en desarrollo web, pero creo recordar que el css era la cosa menos estándar que había en el mundo. Cualquier arreglo de estilo que ponías en el css se veía de forma distinta en Firefox y en el Explorer.
Me gano la vida con estos 2 lenguajes, y puedo asegurar que html5 está genial. Los elementos que desaparecen, deberían de haberlo hecho hace años y de todas formas ningún maquetador profesional los usa desde hace tiempo.
#1 margin:auto para elementos en bloque, text-align:center para elementos en línea.. tan complicado no es, no?
#3 ¿applet? ¿En serio? ¿alguien todavía usa applet? Es como reclamar por marquee, jajaja
#6 suerte que tenemos a los sabiondos del HTML y no te tenemos a ti, porque... madre mía. Para empezar, para enfatizar algo existe strong. Por otro lado, todo el html gira en torno a la SEMÁNTICA, y eso significa SEPARAR LA PRESENTACIÓN DEL CONTENIDO. Y por último, html5 realmente simplifica las cosas... vistes el doctype?
sobre los comentarios sobre el "peso de la página" mejor ni entrar...
En efecto, tienes poca experiencia. Eso sería hace años, ahora mientras uses el DOCTYPE correcto, la visualización es similar. Es posible que en webs con estilos muy complejos tengas que poner un par de estilos concretos para IE, pero eso, un par de estilos, no para cualquier arreglo.
Lo que pasa es que aún hay mucho manual y curso de HTML/CSS obsoleto, que hablan de estilos para el Netscape, para el IE4, para cosas que, en fin, nadie usa desde hace lustros.
No te equivoques, creo que es muy importante separar contenido de presentación y lo hago en medida de lo posible; pero a)Cuando intentas ser un purista al final el código acaba resultando peor y b) El CSS nunca ha podido cumplir con dicho objetivo (a eso me refiero con div's y span's.
- por experiencia te digo que si el código termina siendo una sopa de divs, es culpa del maquetador y no del lenguaje
- "red" es un pésimo nombre para una clase, el día de mañana te da por cambiar el color y terminas con un .red{color:green}
- muchísimas veces no hay ni necesidad de agregar elementos extra, por ejemplo si quieres seleccionar la primera letra de de una frase, lo puedes hacer con p:first-letter{} sin necesidad de spans ni nada de eso.
El porqué es bien sencillo: organizar el trabajo, modularizar y reutilizar.
Otra cosa es que CSS sea un "lenguaje" bastante coñazo, especialmente si no usas cosas como Compass, SASS o LESS, pero está ahí para presentar el contenido y lo hace de maravilla.
Javascript también hace bien su trabajo pero es un coñazo de programar. Para eso tenemos coffee
Lo de las gotas de agua es un ejemplo muy pobre, porque no es lo mismo un chubasco con cuatro gotas que una tormenta tropical, por desgracia muchos piensan así y es un lastre.
Microsoftel sistema que lo implementaHTML es un lenguaje de marcaje descriptivo; center es una etiqueta de formato. Con las nuevas revisiones se eliminan las etiquetas de formato, como subrayado, u, negrita b o cursiva i.
Por ejemplo, se mantiene em y strong que, por defecto, muestra el texto en cursiva y negrita respectivamente porque su objeto no es mostrar el formato del texto; em "emfatiza" y strong "fortalece" el texto. Son etiquetas descriptivas, no de formatos.
Por tanto, sí, hay que eliminar center. Todo el formato y el diseño a las CSS.
Separa contenido de presentación!!! Si lo mantienes unido lo estás "keeping difficult to maintain". Por tanto sí: todo el formato a las CSS.
Por no decir que ponerlo como lo has puesto es un error; se debe poner así:
<span class="nombre_estilo">Texto en negrita, cursiva, como no los de la gana o controlado mediante javascript</span>
Dónde algo tan poco "rehusable" como una negrita nos puede servir para muchos otros formatos según dispositivos, usos, personalizaciones...
Por otro lado, div y span son contenedores; es decir, son herramientas "conceptuales": son los cajones del contenido. Cuando tú dices lo de abajo estás describiendo el documento! En HTML5 ya existen estos elementos pero versiones antiguas de los navegadores no los usan.
<div id="header">... </div>
<div id="content">... </div>
<div id="footer">... </div>
Algo como <div id="manzanas">aquí datos sobre manzanas</div> <div id="peras">aquí datos sobre peras</div> tiene una buena fuerza expresiva.
El coste e incompatibilidades de crear interfaces modernas así como volumen de datos transferidos, parseos y redimientos son muy malos en comparación a una maquina virtual que ejecute contenido pre-compilado y binario!!
Si todos estamos de acuerdo que los antiguos applets eran lentos de cojones y el Flash nunca ha convencido a nadie (pocos conocen las virgerias de Flex en rendimiento/coste).
Si en lugar de enfocar los esfuerzos se hubiera desarrollado un standard al estilo Silverlight,Flex con protocolos (seguros) para ayudar a la indexación de los buscadores tendriamos un salto cualitativo brutal que tarde o temprano tendremos necesidad de implementar.
#45 Nunca he usado cofee... pero javascript es un lenguaje divertidísimo de programar!! El coñazo es el DOM y los distintos navegadores...
HTML: información
CSS: presentación
javascript: interacción.
Lo que tú describes son RIA que son "aplicaciones".
Usa JQuery y te quitas el 98% de los problemas de Javascript
Por cierto, llevo años trabajando en estos temas y el IE6 es cada vez más cosa del pasado. En serio, hace años que nadie me dice el terrible, 'Oye, esto no va con IE6'. Y he trabajado con empresas grandes, empresas chicas, particulares, administraciones públicas, etc.
Del IE7 'parriba' los problemas de compatibilidad se reducen bastante.
Pero en los lenguajes que conozco no hay ninguno que tenga la versatilidad de javascript. Tiene fallos, claro, te recomiendo las charlas de Douglas Crockford sobre el lenguaje. Pero tiene aciertos fantásticos... las funciones lambda, el prototype (quién necesita clases teniendo prototype! el prototype el acierto!)...
#57 Me encanta javascript... me fallan el DOM y los navegadores, por muchos frameworks que haya... Ahora quiero aprender extJS... tiene muy buena pinta! Además ahora han creado node.js para ejecutarlo en servidor, GNOME3 permite programar widgets de escritorio en puro javascript, hay intérpretes para consola... Creo que será uno de los lenguajes más importantes los próximos años.
Te puedo decir varias empresas de las más grandes de España que exigen Internet Explorer 6...
y ese it va con b, strong, o font-de...
a mi personalmente el CSS me encanta.. soy aficionado y tengo varias webs, pero todo el HTML y CSS, y el php lo he ido aprendiendo yo solito a medida que necesitaba hacer cosas.. es muy gratificante.. sobre todo ver lo últi que resulta el css para descargar el html de estilos.
No lo he relacionado erróneamente, porque para mí, quejarse de eso mismo, en lenguaje HTML, te lo pongo en negrita para que lo veas bien, es sinónimo de no querer molestarse en escribir unas letras más. El que ha metido lo de la optimización y el lenguaje ensamblador de por medio has sido tú en aras de que te demos la razón, como si el HTML fuese un lenguaje de programación.
Luego también he de decir que tú también has relacionado erróneamente ese comentario con la que tú crees que es mi opinión sobre la optimización de código, que si bien es muy similar a la tuya, pese a que aquí no se discute sobre ello, pareces afanarte en que de la sensación de que he expresado algo que realmente no he escrito y que es frontalmente contrario a lo que tú piensas, cosa que no es en absoluto.
Y bueno, ya con respecto a lo de las analogías no pienso decir nada, creo que todos sabemos que no me refiero a una tormenta tropical, ni a un torrente ni al monzón, pero ni que tú fueses experto en hacer analogías. Si entiendes lo que quieres y respondes lo que te da la gana en base a una idea equívoca de lo que el otro ha escrito para intentar tener siempre la última palabra no es culpa mía.
Solo digo que han pasado seis años ya, y...
<center>...lo que sea todo centrado...</center>
ahora:
.centered { margin:auto; text-align:center; }
<span class="centered">...lo que sea todo centrado...</span>
o bien:
<span style=" margin:auto; text-align:center;" >...lo que sea todo centrado...</span>
En el caso de center, no gana mucho, de hecho ahora es bastante más largo, pero todo sea por estandarizar todo a css, y no tener las cosas duplicadas.
- Separar completamente la presentación del contenido no es imprescindible. Hay cosas que en una página no se van a mover. Ya veremos si quitan algún día las tablas.
el codigo si esta pensado para optimizarse, pero no para el navegador e internet, que repito uno o dos kb es cero al lado la imagen del logo y los botoncitos de redes sociales, sino que esta optimizado para su mantenimiento, lo cual es logico, porque una web tiene contenido que cambia y necesita actualizarse
Ya verás como las reemplazan con algo que te obligue a posicionar celda por celda, con el argumento de que es más reusable
1 - quiero formatear, que debo usar :
[a] - una estructura
[b] - un elemento de formato
la respuesta correcta es b porque se da formato con los elementos de formato no con las estructuras, dejemos de usar cosas para lo que no fueron pensadas, usemos bien las herramientas y listo.
( por lo menos es lo que entendí de los cambios )
#68 las tablas deben usarse para lo que las tablas fueron pensadas y diseñadas, para nada mas o menos.
La verdad es que todo lo que quitan está bien quitado, son cosas obsoletas.
Vamos a ver, como ya han comentado por ahí, el presente de la web, por el que se ha trabajado tantos años desde la W3C, es hacer una web semántica, en la que haya una separación a ser posible total entre el contenido y el diseño. Los más ancianos del lugar seguramente conozcan csszengarden, que hace bastantes años era el paradigma de la reutilización del contenido semántico para diferentes diseños (y donde yo mismo tengo un diseño oficial en línea).
La práctica totalidad de las etiquetas que se están dejando atrás son etiquetas que hacen referencia al diseño, a la vista, y eso es trabajo del CSS. Si tenemos un texto y queremos que algo sea importante, tal vez nosotros le demos esa importancia poniendo el fragmento en negrita, pero puede que un navegador para invidentes le dé la importancia incrementando el volumen del Text-To-Speech en ese fragmento. Por eso, no podemos indicar la importancia de un texto utilizando la etiqueta < b > (bold, negrita), sino < em > (emphasis) y < strong >.
Lo de que la gente siga usando <center>, en 2012, es de puto juzgado de guardia joder. margin: 0 auto; o text-align: center.
Y por ponerte un ejemplo te pongo una página: www.rubikaz.com que de hecho es mi página, que hice hace ya casi 10 años y que recibe unas 4000, 5000 visitas diarias.
Pues bien, dicha página está plagada de etiquetas < center > o etiquetas < b >. Es más, también tengo muchos applet metidos, algunos que metí hace casi 10 años. Y applets que son muy importantes para la página, no cosillas puntuales.
Pues bien, ciertamente que no soy profesional y he ido variando la página en cuanto he ido aprendiendo algunas cosillas, un poquito por aquí, un poquillo por allá, y vamos, es una página a la que le he cogido bastante cariño. Y ahora resulta que tengo que revisar todo el código, que es bastante, para eliminar etiquetas que van a dejar de funcionar.
Que sí, que no soy profesional ni nada, que no tendré ni idea, pero es que veo una noticia así y me acojono de pensar lo que me va a tocar arreglar ahora. Porque sí que sé hacer muchos de los cambios, sé algo de css (tengo páginas más actuales con todo con css y tal), pero puf..., encima hay otras cosas que no tengo ni idea de cómo hacer como por ejemplo lo de cambiar applet por object. Sé que no vale con cambiar esas palabras, hacen falta más cambios ya que no hace mucho le eché un vistazo a como iba.
Me alegro por ti porque haces todo esto muy bien y estos cambios no te van a afectar, pero a mucha gente que no es tan profesional y que tenga páginas antiguas que no ha actualizado, pues le va a tocar echar unas horas y calentarse la cabeza por estos cambios...
Y me pregunto, ¿tan importante es eliminar esas etiquetas? Lo sé, soy un analfabeto en estos temas así que no os riáis de mi si esta pregunta es estúpida.
Y para los elementos de bloque, la propiedad "margin: 0px auto" funciona siempre y cuando tenga un width y el doctype sea transitional o strict (esto ultimo para nuestro fantastico amigo... IE)
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
3º Separar contenido de estilo, norma obligatoria, por puro sentido común de manutención, cambiar una línea versus cambiar 100 páginas HTML.
4º ¿qué pasa aquí, como maquetadores/programadores web no tenemos mejor cosa que hacer que tirarnos piedras por auténticas soplapolleces? ¡Reclamemos "marquee"! ¡Reclamemos "blink"! ¡Son esenciales para matar a la sociedad! ¡Condones sí! ¡Iglesia no!
Guardémonos las fuerzas para picar buen código y dejémonos de chorradas.
#81 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). Respecto a lo de la gente que no es tan profesional... es obligación de cualquier buen programador/maquetador mantener el código al día
#69 Ya comenté en #18 que esa forma de pensar de 'como es poco no importa' no es buena.
La verdad es que ahora que lo miro, lo hago con bastante nostalgia. Entonces no había web developer toolbar, ni firebug, ni la consola de chrome, de hecho no había chrome, y firefox estaba en pañales.
Y sobre: es obligación de cualquier buen programador/maquetador mantener el código al día
En mi caso no es que no sea buen programador/maquetador, es que no soy programador ni maquetador, aprendí en su momento 4 cosas básicas e hice lo que hice, con el tiempo he aprendido cosillas sueltas pero no estoy al tanto de las actualizaciones de los estándares web.
Y respecto a las pregunta que haces...
A la 1, pues evidentemente sí que hay gente que las usa, o mejor dicho, muchísimas páginas que las contiene.
A la 3, ¿y la etiqueta applet? ¿Qué se gana con el cambio a object? Creo que con ese cambio no se separa estilo de contenido (al menos en lo que me afecta a mi).
+1
Ahí se ve que no eres un buen desarrollador, de andar por casa quizá, pero no bueno.
Para empezar, para lo que tu quieres hacer te vale con poner <strong\>, pero es que es más, ni siqueira te debes preocupar de que el texto salga en negrita, tu te debes preocupar de que el texto es importante, y como tal lo marcas con <strong\>, y después, una vez hayas terminado de escribir el HTML, entras con CSS y decides si quieres que el texto importante sea negrita o sea verde.
Que a estas alturas de la historia haya que explicar todavía el por qué se separan información y estilo...
Por favor, hablemos sabiendo.
La gente que piensa estas cosas lo hace durante mucho tiempo y son gente muy válida, no os creais más inteligentes que ellos sin ni siquiera el preocuparos en por qué hacen las cosas.
Por mucho que se quiera, el html realmente no dice mucho sobre la estructura, y eso siempre es un quebradero de cabeza para los desarrolladores.