Совместимость вперед или совместимость вверх — это характеристика дизайна, которая позволяет системе принимать входные данные , предназначенные для более поздней версии самой себя. Эта концепция может применяться ко всем системам, электрическим интерфейсам , телекоммуникационным сигналам , протоколам передачи данных , форматам файлов и языкам программирования . Стандарт поддерживает совместимость вперед, если продукт , соответствующий более ранним версиям, может « грациозно » обрабатывать входные данные, предназначенные для более поздних версий стандарта, игнорируя новые части, которые он не понимает.
Цель технологии прямой совместимости заключается в том, чтобы старые устройства распознавали, когда данные были сгенерированы для новых устройств. [1]
Прямая совместимость для старой системы обычно означает обратную совместимость для новой системы, т. е. возможность обработки данных из старой системы; новая система обычно имеет полную совместимость со старой, поскольку может как обрабатывать, так и генерировать данные в формате старой системы.
Совместимость вперед — это не то же самое, что расширяемость . Совместимая вперед конструкция может обрабатывать по крайней мере часть данных из будущей версии самой себя. Расширяемая конструкция упрощает обновление. Пример обеих идей дизайна можно найти в веб-браузерах. В любой момент времени текущий браузер совместим вперед, если он корректно принимает более новую версию HTML , тогда как то, насколько легко код браузера может быть обновлен для обработки более новой версии HTML, определяет, насколько он расширяем.
Внедрение FM- стереопередачи или цветного телевидения обеспечило прямую совместимость, поскольку монофонические FM-радиоприемники и черно-белые телевизоры все еще могли принимать сигнал от нового передатчика. [1] Это также обеспечило обратную совместимость, поскольку новые приемники могли принимать монофонические или черно-белые сигналы, генерируемые старыми передатчиками. [ необходима цитата ]
HTML разработан так, чтобы обрабатывать все теги одинаково (как инертные, нестилизованные встроенные элементы ), если только их внешний вид или поведение не переопределяются либо настройками браузера по умолчанию, либо скриптами или стилями, включенными в страницу. [10] Это заставляет большинство новых функций изящно деградировать в старых браузерах. Одним из случаев, когда это не работало так, как предполагалось, были блоки скриптов и стилей, содержимое которых должно интерпретироваться браузером, а не быть частью страницы. Такие случаи решались путем заключения содержимого в блоки комментариев. [11]
Поскольку не существует обязательного обновления компьютеров или веб-браузеров, многие веб-разработчики используют подход постепенной деградации или прогрессивного улучшения , пытаясь сделать вновь созданные веб-сайты пригодными для использования людьми, которые отключили Javascript или у которых старые компьютеры или старые веб-браузеры или медленное соединение, при этом по-прежнему используя преимущества более быстрого оборудования и лучшей поддержки JavaScript в более современных веб-браузерах, если таковые имеются. [12]
Каждый из трех наиболее распространенных форматов оптических носителей 12 см ( CD , DVD и Blu-ray ) был впервые выпущен в форме только для чтения за несколько лет до того, как стали доступны записываемые формы. В каждом формате существует как прямая, так и обратная совместимость, в том смысле, что большинство старых приводов и плееров только для чтения могут читать (но не записывать) записываемые носители в том же формате, в то время как приводы чтения/записи могут читать (но не записывать) старые носители только для чтения. Между форматами нет прямой совместимости; например, проигрыватель компакт-дисков не может читать DVD (более новый формат), даже аудиодорожки. Может быть обратная совместимость для лучшей рыночности (например, проигрыватель DVD, воспроизводящий аудио CD), но она не является неотъемлемой частью стандартов. [13]
Некоторые продукты не предназначены для обеспечения прямой совместимости, что называется NUC (несовместимость с более ранними версиями). В некоторых случаях это может быть сделано намеренно разработчиками как форма привязки к поставщику или регрессии программного обеспечения .
Например, производитель кабинок рассматривает возможность изменения дизайна кабинок. Один дизайнер предлагает изменить площадь основания с 4 футов (1,22 м) на 1,2 метра. Менеджер по продажам немедленно звонит в «NUC», и проблема становится понятной: если площадь основания изменится, а существующие клиенты задумаются о покупке большего количества у производителя, им придется установить блок другого размера в офисе, рассчитанном на кабинку размером 4 фута.
Запланированное устаревание — это разновидность восходящей совместимости, но вместо того, чтобы принять политику обратной совместимости, компании принимают коммерческую политику обратной несовместимости, так что для новых приложений требуются более новые устройства.
{{cite web}}
: Проверить |url=
значение ( помощь )