РАЗРАБОТКА ПО

Разработчикам придется привыкать к новым правилам

Существует множество подробных руководств по созданию продуктов, совместимых с Windows Vista. Но большинство советов легко сводится к краткому резюме: эта ОС очень мощная и берет на себя невероятно много.

Строя приложения для ПК, программисты на протяжении двух десятилетий накопили кучу вредных привычек. Первый десяток лет их баловал прямой доступ к аппаратным ресурсам, отказаться от которого оказалось сложно. Затем они получили практически неограниченную власть над управлением однопользовательскими машинами, поскольку их владельцы почти всегда имели привилегии администратора.

На конференции разработчиков Microsoft в сентябре 2005-го инженер корпорации Роберт Виллаэрмоса продемонстрировал серию плакатов под незабываемым заголовком "Пять самых надежных способов сделать свое приложение несовместимым". Лейтмотив его выступления был таким: нужно уважать системный реестр Windows (тем, кто пишет приложения, не следует считать его своей игровой площадкой) и не мешать ОС поддерживать системную конфигурацию. Поэтому программисты должны внимательнейшим образом изучить новые правила, которыми пользуется Vista при обращении к аппаратным ресурсам. Если этому не следовать, вполне может возникнуть путаница между параметрами виртуальной машины и реального "железа", на котором та функционирует. Виллаэрмоса также предостерег против жесткого программирования путей к файлам и каталогам, равно как и против размещения данных в том же каталоге, что и файл самого приложения.

Приложения Vista требуют особого внимания разработчика

В среде Vista старая привычка пользователя присваивать себе всю систему не пройдет. Ему придется:

- уважать системный реестр. Глобальная структура данных принадлежит системе, а не приложениям;

- соблюдать абстракцию. Требуется четкое выполнение системных правил относительно расположения файлов и запросов к аппаратным ресурсам;

- довольствоваться ограниченными привилегиями. Приложение должно работать в пределах прав обычного пользователя (а не администратора).

Источник: eWeek Labs.

В дополнение ко всему прочему создателям программ для Vista нужно обязательно иметь в виду, что плоды их труда могут оказаться на машинах, которые используются несколькими сотрудниками, каждый - с собственными настройками. Это следует учитывать и при разработке приложений для Windows XP, однако многие программисты смотрят на это правило сквозь пальцы, поскольку на практике пользователи таких машин в большинстве случаев обладают привилегиями администратора. Но в среде Vista более распространенными являются права не администратора, а обычного пользователя, и в таких условиях приходится обращать особое внимание на "хорошее поведение" приложений.

Освоившись с новыми ограничениями, программист устранит 90% потенциальных проблем совместимости с Vista.

В прошлом году специалисты eWeek Labs наблюдали за семьей, все члены которой, включая отца, довольствовались в среде XP правами обычных пользователей (исключение из этого правила делалось лишь тогда, когда нужно было установить новое приложение или обновить ПО). Список возникших из-за этого проблем оказался на удивление длинным и впечатляющим. В него попали даже такие причудливые ошибки, как нежелание машины правильно отображать заложенные в приложение шрифты, если только пользователь не имел административных привилегий.

О подобных случаях сообщают нам и читатели eWeek. Чего стоит, например, поведение простенького приложения, призванного выводить на печать почтовые этикетки для курьерской службы, которое напрочь отказывается работать с любым пользователем, кроме администратора! В среде Vista подобные программы окажутся совершенно бесполезными.