Операционная система Microsoft Windows 3.1 для программиста -том 1

         

О сложности программирования для MS-DOS и Windows


Итак, вы познакомились с простейшим приложением Windows, обрабатывающим сообщения. У вас могло сложиться впечатление, что создание приложений Windows - достаточно сложная задача, гораздо более сложная, чем программирование для MS-DOS. Попытаемся убедить вас в обратном.

Вспомните, какие проблемы были у вас с резидентными программами, реализующими примитивное переключение задач в MS-DOS. Даже появление в составе MS-DOS версий 5.0 и 6.0 специального переключателя задач не позволяет достигнуть такого эффекта, который получается в Windows. Все, что должно сделать приложение Windows для обеспечения работы в мультизадачном режиме, - это создать цикл обработки сообщений и следить за тем, чтобы в процессе обработки отдельных сообщений процессор не захватывался на большой период времени. Такие задачи, как совместное использование параллельно работающими приложениями экрана видеомонитора, клавиатуры или мыши, значительно упрощаются благодаря поддержке со стороны Windows.

Операционная система Windows NT еще больше упрощает решение проблемы создания мультизадачных приложений. В ее среде каждое приложение Windows NT выполняется на отдельной виртуальной машине и операционная система сама следит за правильным распределением процессорного времени.

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

Любая программа MS-DOS вынуждена использовать для вывода изображения на экран собственные средства. Так как MS-DOS и BIOS не содержат практически никакой поддержки для создания диалоговых интерфейсов (окон, меню, диалоговых панелей и т. п.), программе MS-DOS приходится выполнять самой всю работу по созданию диалогового интерфейса.

Задача значительно усложняется при необходимости обеспечить графический интерфейс с пользователем. Так как программа MS-DOS работает непосредственно с аппаратурой компьютера (в частности, с видеоконтроллером), она должна учитывать наличие у потребителей большого количества самой разнообразной и несовместимой аппаратуры.
Практически в комплекте с программой требуется поставлять драйверы для десятков типов видеоконтроллеров, принтеров, мышей и другой подобной аппаратуры. Причем все эти драйверы разработчик программы вынужден создавать сам, для чего ему необходимы исчерпывающие сведения об аппаратуре.

Операционная система Windows содержит драйверы для работы с любой стандартной аппаратурой компьютера. Причем поставщики оборудования, как правило, в комплекте с устройствами поставляют и драйверы для Windows. Приложение Windows никогда не работает напрямую с аппаратурой компьютера, поэтому всю сложнейшую работу по созданию драйверов вы как разработчик приложения Windows можете смело переложить на широкие плечи фирмы Microsoft и разработчиков аппаратного обеспечения.

Иными словами, ваша задача заключается в разработке приложения с использованием программного интерфейса Windows, а задача фирмы Microsoft и разработчиков оборудования - в обеспечении операционной системы Windows необходимым комплектом драйверов. И последнее они сделают значительно лучше вас, так как обладают всей необходимой информацией и отличными специалистами.

Задача пользователя также упрощается. Ему требуется при покупке компьютера обеспечить совместимость всех его устройств только с операционной системой Windows, но не со всеми программами, которые он использует сейчас или планирует приобрести в будущем. В этом случае на его компьютере будет работать любое приложение Windows. И не имеет ни малейшего значения ни конкретный тип или разрешение видеомонитора, ни тип принтера или другого оборудования.

Кроме всего перечисленного выше, Windows дисциплинирует разработчика приложений, предлагая стандарт на диалоговый интерфейс с пользователем. Если ваше приложение будет соответствовать этому стандарту, на его изучение и освоение со стороны пользователя будет затрачено минимальное время.

Для стандартизации пользовательского диалогового интерфейса разработчики приложений Windows должны пользоваться руководством по разработке интерфейса "The Windows Interface: An Application Design Guide", созданным фирмой Microsoft.Это руководство поставляется в составе средств разработки приложений Windows, таких, как Windows SDK или FoxPro for Windows. Это руководство содержит очень подробные рекомендации по разработке как интерфейса в целом, так и его отдельных компонентов.

По сравнению с MS-DOS операционная система Windows предлагает гораздо более удобный механизм управления памятью, предоставляя в распоряжение приложения гигантские области непосредственно адресуемой памяти, реальной или виртуальной. Это позволяет легко решать такие задачи, которые даются в MS-DOS с большим трудом и, как правило, требуют использования специальных расширителей MS-DOS (DOS-экстендеров).


Содержание раздела