Прямая совместимость или совместимость снизу вверх - это характеристика проекта, которая позволяет системе принимать вход, предназначенный для более поздней версии самой себя. Эту концепцию можно применить ко всем системам, электрическим интерфейсам, телекоммуникационным сигналам, протоколам передачи данных , форматам файлов и языков программирования. Стандарт поддерживает прямую совместимость, если продукт , который соответствует более ранним версиям, может «корректно » обрабатывать ввод, разработанный для более поздних версий стандарта, игнорируя новые части, которые он не понимает.
Целью технологии прямой совместимости является распознавание старыми устройствами данных, генерируемых для новых устройств.
Прямая совместимость для старой системы обычно означает обратная совместимость для новая система, т.е. возможность обрабатывать данные из старой системы; Новая система обычно полностью совместима со старой, поскольку может обрабатывать и генерировать данные в формате старой системы.
Прямая совместимость - это не то же самое, что расширяемость. Проект с прямой совместимостью может обрабатывать по крайней мере часть данных из будущей версии самого себя. Расширяемый дизайн упрощает обновление. Пример обеих дизайнерских идей можно найти в веб-браузерах. В любой момент текущий браузер является прямым совместимым, если он корректно принимает более новую версию HTML. В то время как то, насколько легко можно обновить код браузера для обработки нового HTML, определяет его расширяемость.
Внедрение стереофонической передачи FM или цветного телевидения обеспечило прямую совместимость, поскольку монофонические FM-радиоприемники и черные- Бело-белые телевизоры по-прежнему могли принимать сигнал от нового передатчика. Это также обеспечило обратную совместимость, поскольку новые приемники могли принимать монофонические или черно-белые сигналы, генерируемые старыми передатчиками.
HTML предназначен для обработки всех тегов одинаково (как инертные, нестилизованные встроенные элементы ), если их внешний вид или поведение не переопределены; либо настройками браузера по умолчанию, либо скриптами или стилями, включенными на страницу. Это приводит к постепенному ухудшению качества большинства новых функций в старых браузерах. Одним из случаев, когда это не сработало, как задумано, были блоки сценариев и стилей, содержимое которых предназначено для интерпретации браузером, а не для того, чтобы быть частью страницы. Такие случаи решались заключением содержимого в блоки комментариев.
Поскольку не требуется обязательного обновления компьютеров или веб-браузеров, многие веб-разработчики используют постепенное снижение качества или прогрессивное улучшение. подход (часто с использованием ненавязчивого JavaScript ), попытка сделать вновь созданные веб-сайты доступными для людей, которые отключили Javascript, или у которых есть старые компьютеры или старые веб-браузеры или медленное соединение, но все же все еще пользуясь преимуществами более быстрого оборудования и лучшей поддержки JavaScript в более современных веб-браузерах, когда они доступны.
Каждый из трех наиболее распространенных форматов 12см оптических носителей ( CD, DVD и Blu-ray ) был впервые выпущен в форме только для чтения за годы до того, как стали доступны записываемые формы. В каждом формате существует как прямая, так и обратная совместимость, поскольку большинство старых дисководов и проигрывателей, предназначенных только для чтения, могут читать (но не записывать) записываемые носители в том же формате, в то время как диски чтения / записи могут читать (но не записывать) старые диски чтения. -только СМИ. Между форматами отсутствует прямая совместимость; например, проигрыватель компакт-дисков не может читать DVD (более новый формат), даже звуковые дорожки. Может быть обратная совместимость для лучшей продажи (например, проигрыватель DVD, воспроизводящий аудио компакт-диск), но это не является внутренним для стандартов.
Некоторые продукты не предназначены для прямой совместимости, что было обозначено как NUC (несовместимость снизу вверх). В некоторых случаях это может быть намеренно конструкторами как форма привязки к поставщику или программной регрессии.
. Например, производитель ячейки рассматривает возможность изменения конструкции своей ячейки. Один дизайнер предлагает изменить площадь с 4 квадратных футов на 1,2 квадратных метра. Сразу же менеджер по продажам звонит в «NUC», и проблема становится понятной: если площадь помещения изменится и существующие клиенты будут рассматривать возможность покупки большего количества у производителя, им придется разместить устройство другого размера в офисе, рассчитанном на квадратную ячейку 4 фута.
Запланированное устаревание - это тип восходящей совместимости, но вместо того, чтобы принимать политику обратной совместимости, компании принимают коммерческую политику обратной несовместимости, поэтому для новых приложений требуются новые устройства.
Эта статья основана на материалах, взятых из Free On-line Dictionary of Computing до 1 ноября 2008 г. и включенных в соответствии с условиями «перелицензирования» GFDL, версия 1.3 или новее.