Независимость от устройств - это процесс, позволяющий программному приложению работать на самых разных устройствах независимо от локального оборудования, на котором используется программное обеспечение.
Мэйнфреймы и миникомпьютеры
Языки высокого уровня, как с явной командой OPEN, так и без нее, для открытия файла часто имели возможность абстрактно ссылаться на файл данных:
- ЧИТАТЬ (11,21, КОНЕЦ = 9900) ИМЯ
21 ФОРМАТ (A20)
- в FORTRAN сказано использовать «unit» 11 - без имени файла.
- ПРОЧИТАЙТЕ CUSTFILE, В КОНЦЕ ПЕРЕЙДИТЕ К ВЫПОЛНЕНИЮ.
- в COBOL выполняет нечто подобное.
Настольные компьютеры
На заре компьютерного проектирования и разработки примерно до 1980 года программное обеспечение обычно писалось специально для работы на конкретном оборудовании, на котором оно использовалось. Программное обеспечение было тесно связано с оборудованием и не могло функционировать независимо от него. По мере того, как компьютеры становились менее дорогими, универсальные персональные компьютеры были введены в понятие периферийных устройств , в которых базовое оборудование могло иметь множество различных дополнительных устройств от разных производителей.
Сначала требовалось, чтобы программное обеспечение, которое должно было использовать это дополнительное оборудование, было специально разработано для его поддержки. Во времена MS-DOS программистам игр обычно приходилось писать специальное управляющее программное обеспечение для каждого типа звуковой карты или видеокарты, которые могли быть установлены на компьютере пользователя. Необходимость предоставить индивидуальную поддержку для такого количества устройств потребовала значительного количества времени на разработку программного обеспечения.
Со временем были разработаны уровни аппаратной абстракции (HAL), такие как DirectX, которые отделяют прикладное программное обеспечение от базового оборудования. Прикладному программному обеспечению не нужно ничего знать об оборудовании, на котором оно должно было использоваться. Вместо этого он обнаруживает возможности оборудования через стандартизованный уровень абстракции, а затем использует абстрактные команды для управления оборудованием. HAL должен иметь возможность переводить эти команды в конкретный формат, необходимый для каждого устройства, с использованием драйверов устройств, обычно предоставляемых производителем оборудования.
Виртуализация и эмуляция
Поскольку вычислительная мощность продолжает расти, имеется достаточная вычислительная мощность, доступная для целых аппаратных устройств, которые можно моделировать в программном обеспечении. Это привело к развитию гипервизора и виртуализации и эмуляции устройств , что позволило повторно использовать программное обеспечение, написанное для одного конкретного типа оборудования, на совершенно другом оборудовании или сделать так, чтобы кажущиеся независимыми операционные системы совместно использовали одно устройство.
Использование всемирной паутины
Интернет доступен с любого устройства при любых обстоятельствах и для всех людей. World Wide Web Consortium (W3C) инициировал устройство независимости рабочей группы, которая призвана объединить сеть , что делает его доступным для многих типов интернет - устройств . Его миссия - избежать разбиения сети на пространства, к которым могут получить доступ только подмножества устройств.
Одной из ключевых публикаций Рабочей группы по независимости устройств является рекомендация Composite Capability / Preference Profiles .
WURFL, универсальный файл ресурсов беспроводной связи , представляет собой продукт с открытым исходным кодом, который касается обнаружения устройств и возможности обслуживать несколько пользовательских интерфейсов для разных классов браузеров и устройств в зависимости от возможностей запрашивающего HTTP-клиента.
Смотрите также
Внешние ссылки
- Деятельность по независимости устройств в W3C
- Принципы независимости устройств
- Независимость от устройств, доступность и мультимодальное взаимодействие
- Составные профили возможностей / предпочтений (CC / PP): структура на стороне пользователя для согласования контента, описывающая связанные, более ранние работы W3C.