En informática , la segmentación de versiones es una técnica que permite a un grupo de usuarios (presumiblemente expertos) (incluidos los desarrolladores de software ) utilizar algunas funciones avanzadas de software que se introdujeron en una versión de software en particular , al tiempo que permite a los usuarios acostumbrados a las versiones anteriores seguir utilizando el mismo software como si las nuevas funciones nunca se hubieran agregado al software. Es una forma de garantizar la compatibilidad con versiones anteriores cuando, de lo contrario, las nuevas funciones del software la interrumpirían.
La segmentación por versiones se ha utilizado en Mozilla Firefox [1] cuando introdujo JavaScript 1.6 en Firefox 1.5 [2] y JavaScript 1.7 en Firefox 2.0 : [3] los desarrolladores que deseaban utilizar el nuevo motor de scripts tenían que optar explícitamente por ello. [1]
Microsoft propuso la segmentación de versiones para su producto en desarrollo Internet Explorer 8 , pero la idea fue descartada posteriormente. [4] [5]
La propuesta surgió después del lanzamiento de Internet Explorer 7 , que mejoró su soporte CSS 2.1 [6] a costa de provocar que algunos sitios web desarrollados para Internet Explorer 6 se representaran incorrectamente cuando se veían con la nueva versión del navegador. [7] [8]
Microsoft se puso en contacto con el Proyecto de estándares web y con expertos en estándares web y les pidió ayuda para diseñar una nueva técnica similar a DOCTYPE que pudiera funcionar en todos los navegadores y que permitiera a los desarrolladores web especificar las versiones exactas del navegador con las que se sabe que sus sitios web funcionan correctamente, y los navegadores que implementen esta forma de selección de versiones utilizarían las versiones correctas del motor de renderizado para mostrar el sitio correctamente. [7] Los miembros del grupo de trabajo de Microsoft WaSP participaron en la propuesta, aunque no todos la respaldaron. [9]
Algunos comentaristas sugirieron que sería posible utilizar el soporte de Internet Explorer 8 para nuevos DOCTYPEs a fin de evitar el uso de su etiqueta meta de orientación de versión. [10]
El concepto de segmentación de versiones, especialmente el propuesto por Microsoft, ha sido criticado por ser una nueva forma de rastreo de navegadores y por violar el principio de desarrollo compatible con versiones posteriores, en el que se prefiere la mejora progresiva . [11]
La selección de versiones ha sido criticada por no dar incentivos a los desarrolladores para planificar con anticipación la compatibilidad futura . [11]
La segmentación por versiones ha sido bien recibida por algunas personas como un medio para permitir que los navegadores adopten estándares web sin romper la compatibilidad con sitios web que dependían de motores de renderizado antiguos para su funcionalidad. [12]