- Обеспечение интерфейса пользователя
- Библиотека пользовательского интерфейса Windows 2.x Windows UI Library 2.x
- Возможности Features
- Примеры Examples
- Документация Documentation
- Установка и использование библиотеки пользовательского интерфейса Windows Install and use the Windows UI Library
- План разработки и открытый код Open source and developer roadmap
- Список пакетов NuGet NuGet package list
Обеспечение интерфейса пользователя
По реализации интерфейса пользователя различают интерфейс командной строки и графический интерфейс.
Основным устройством управления в интерфейсе командной строки является клавиатура. Управляющие команды вводят в поле командной строки, где их можно редактировать. Исполнение команды начинается после ее подтверждения нажатием клавиши ENTER. Интерфейс командной строки реализован в семействе ОС MS-DOS компании Microsoft.
Графические интерфейс пользователя реализуют более сложный тип интерфейса, в котором в качестве устройства управления кроме клавиатуры может использоваться мышь или другое устройство позиционирования. Работа с графическим интерфейсом пользователя основана на взаимодействии активных и пассивных экранных элементов управления.
В качестве примера активного элемента управления выступает указатель (курсор) мыши – графический объект, перемещение которого на экране синхронизировано с перемещением мыши.
В качестве пассивных элементов управления выступают графические элементы управления приложений: экранные кнопки, значки, переключатели, флажки, раскрывающиеся списки, строки меню и многие другие.
Характер взаимодействия между активными и пассивными элементами управления выбирает сам пользователь. В его распоряжении приемы наведения указателя мыши на элемент управления, щелчки кнопками мыши и другие средства.
Примером ОС с графическим интерфейсом пользователя являются ОС семейства Windows компании Microsoft и семейства MacOS компании Apple.
Рассмотрим реализацию графического интерфейса пользователя на примере ОС Windows XP.
ОС обеспечивает единообразный интерфейс для всех своих компонентов (составных частей): окон, меню, панелей инструментов и т. п., через которые пользователь управляет системой.
Основным элементом, с которым работает ОС Windows, является объект. Объекты можно классифицировать следующим образом:
— приложения – программы, файлы с расширением EXE;
— документы – файлы с текстовыми, звуковыми и графическими данными;
— папки – каталоги на носителях данных или контейнеры, которые могут содержать другие объекты;
— ярлыки – ссылки на объекты ОС Windows для быстрого доступа к ним;
— специальные объекты – Главное меню, Рабочий стол, Панель управления и др.
В ОС Windows существует иерархия папок.
На ЭВМ, работающей под управлением ОС Windows, может работать несколько пользователей, для которых создается индивидуальные элементы иерархии.
Рабочий стол появляется после запуска ОС Windows и содержит все элементы интерфейса пользователя:
— Главное меню (меню Пуск), содержащее списки установленных программ пользователя; документов, открытых пользователем; пункты настройки программного и аппаратного обеспечения, поиска файлов и папок;
— Панель задач, которая отображает кнопку для каждого приложения, запущенного пользователем;
Иерархия папок ОС Windows
Папка Мои документы предназначена для хранения личных документов пользователя. ОС Windows создает индивидуальные папки для каждого пользователя.
Через папку Мой Компьютер осуществляется доступ к логическим дискам ЭВМ.
Панель управления позволяет совершать следующие действия по управлению и настройке ЭВМ:
— установить новое программное и аппаратное обеспечение;
— настроить элементы интерфейса пользователя;
— установить дату, время, часовой пояс.
Сетевое окружение настраивает работу компьютера в локальной или глобальной сети, что включает следующие функции:
— создание новых сетевых подключений;
— поиск ЭВМ в сети;
— навигация по доступным ресурсам сетевых ЭВМ.
В Корзину помещаются файлы и папки после удаления. Файлы и папки удаляются из Корзины в двух случаях:
1) по команде пользователя;
2) по команде ОС Windows, чтобы освободить место для новых файлов.
Навигация по иерархии папок осуществляется с помощью стандартного приложения ОС Windows – Проводника.
Глава 3. Лекция 4
Понятие алгоритма
В основу работы ЭВМ положен программный принцип управления, состоящий в том, что ЭВМ выполняет действия по заранее заданной программе. Программа – это упорядоченная последовательность команд, которые понимает ЭВМ.
В основе любой программы лежит алгоритм. Алгоритм – это полное и точное описание на некотором языке конечной последовательности правил, указывающих исполнителю действия, которые он должен выполнить, чтобы за конечное время перейти от (варьируемых) исходных данных к искомому результату.
Термин «алгоритм» произошел от имени среднеазиатского ученого аль-Хорезми (787 – ок. 850), которым были описаны общие правила (названные позднее алгоритмами) выполнения основных арифметических действий в десятичной системе счисления. Эти алгоритмы изучаются в начальных разделах школьной математики. К числу алгоритмов школьного курса математики относятся также правила решения определенных видов уравнений или неравенств, правила построения различных геометрических фигур и т. п. Понятие алгоритма используется не только в математике, но и во многих областях человеческой деятельности, например, говорят об алгоритме управления производственным процессом, алгоритме управления полетом ракеты, алгоритме пользования бытовым прибором. Причем интуитивно под алгоритмом понимают некоторую систему правил, обладающих определенными свойствами.
Далее, изучая понятие алгоритма, мы будем предполагать, что его исполнителем является автоматическое устройство — ЭВМ. Это накладывает на запись алгоритма целый ряд обязательных требований. Сформулируем эти требования в виде перечня свойств, которыми должен обладать алгоритм, адресуемый к исполнению на ЭВМ.
1. Первым свойством алгоритма является дискретный (пошаговый) характер определяемого им процесса. Возникающая в результате такого разбиения запись алгоритма представляет собой упорядоченную последовательность отдельных предписаний (директив, команд), образующих прерывную/дискретную структуру алгоритма: только выполнив требования одного предписания можно приступить к исполнению следующего.
2. Исполнитель может выполнить алгоритм, если он ему понятен, то есть записан на понятном ему языке и содержит предписания, которые исполнитель может выполнить. Набор действий, которые могут быть выполнены исполнителем, называется системой команд исполнителя. Алгоритм не должен содержать описания действий, не входящих в систему команд исполнителя, то есть своей структурой команд и формой записи алгоритм должен быть ориентирован на конкретного исполнителя.
3. Алгоритмы, предназначенные для исполнения техническим устройством, не должны содержать предписаний, приводящих к неоднозначным действиям. Алгоритм рассчитан на чисто механическое исполнение, и если применять его повторно к одним и тем же исходным данным, то всегда должен получаться один и тот же результат; при этом и промежуточные результаты, полученные после соответствующих шагов алгоритмического процесса, тоже должны быть одинаковыми. Это свойство определенности и однозначности – детерминированности — алгоритма позволяет использовать в качестве исполнителя специальные машины-автоматы.
4. Основополагающим свойством алгоритма является его массовость, применимость к некоторому классу объектов, возможность получения результата при различных исходных данных на некоторой области допустимых значений. Например, исходными данными в алгоритмах аль-Хорезми могут быть любые пары десятичных чисел. Конечно, его способ не всегда самый рациональный по сравнению с известными приемами быстрого счета. Но смысл массовости алгоритма состоит как раз в том, что он одинаково пригоден для всех случаев, требует лишь механического выполнения цепочки простых действий и при этом исполнителю нет нужды в затратах творческой энергии.
5. Цель выполнения алгоритма – получение конечного результата посредством выполнения указанных преобразований над исходными данными. В алгоритмах аль-Хорезми исходными данными и результатом являлись числа. Причем при точном исполнении всех предписаний алгоритмический процесс должен заканчиваться за конечное число шагов. Это обязательное требование к алгоритмам – требование их результативности или конечности.
В математике известны вычислительные процедуры алгоритмического характера, не обладающие свойством конечности. Например, процедура вычисления числа p. Однако, если мы введем условие завершения вида «закончить после получения n десятичных знаков числа p», то получим алгоритм вычисления n десятичных знаков числа p. На этом принципе построены многие вычислительные алгоритмы.
6. Если алгоритм должен быть выполнен не просто за конечное время, а за разумное конечное время, то речь идет об эффективности алгоритма. Время выполнения алгоритма очень важный параметр, однако, понятие эффективности алгоритма трактуется шире, включая такие аспекты, как сложность, необходимые ресурсы, информационно-программное обеспечение. Эффективность алгоритма часто определяет возможность его практической реализации.
Алгоритмизация
Алгоритмизация – процесс разработки и описания алгоритма решения какой-либо задачи.
Пусть имеется некоторая математическая задача, которая может быть решена одним из известных математических методов. Как приступить к процессу построения алгоритма решения такой задачи?
Поскольку речь идет о разработке алгоритма для ЭВМ, то нужно сначала проанализировать возможность его машинной реализации, оценить ресурсы и возможности конкретной ЭВМ, имеющейся в распоряжении (в том числе, допустимую точность вычислений, необходимый объем запоминающих устройств, быстродействие, информационно-программное обеспечение).
Непосредственная разработка алгоритма начинается с осознания существа поставленной задачи, с анализа того, что нам известно, что следует получить в качестве результата, в какой форме нужно представить исходные данные и результаты вычислений. Следующая ступень – разработка общей идеи алгоритмического процесса и анализа этой идеи. После этого можно приступить к более детальной разработке уже задуманного конкретного алгоритма. И вот этот процесс разработки конкретного алгоритма, в соответствии с определением самого понятия «алгоритм», заключается в последовательном выполнении следующих пунктов:
1) разложении всего вычислительного процесса на отдельные шаги – возможные составные части алгоритма, что определяется внутренней логикой самого процесса и системой команд исполнителя;
2) установлении взаимосвязей между отдельными шагами алгоритма и порядка их следования, приводящего от известных исходных данных к искомому результату;
3) полном и точном описании содержания каждого шага алгоритма на языке выбранной алгоритмической системы;
4) проверке составленного алгоритма на предмет, действительно ли он реализует выбранный метод и приводит к искомому результату.
В результате проверки могут быть обнаружены ошибки и неточности, что вызывает необходимость доработки и коррекции алгоритма – возвращение к одному из предыдущих пунктов. Во многих случаях разработка алгоритма включает в себя многократно повторяющуюся процедуру его проверки и коррекции.
Процедура проверки и коррекции алгоритма производится не только с целью устранения ошибок, но и с целью улучшения, то есть оптимизации алгоритма. При определенном методе решения задачи оптимизация проводится с целью сокращения алгоритмических действий и упрощения по возможности самих этих действий. При этом алгоритм должен оставаться «эквивалентным» исходному. Будем называть два алгоритма эквивалентными если выполняются следующие условия:
1) множество допустимых исходных данных одного из них является множеством допустимых исходных данных и другого; из применимости одного алгоритма к каким-либо исходным данным следует применимость и другого алгоритма к этим данным;
2) применение этих алгоритмов к одним и тем же исходным данным дает одинаковые результаты.
Библиотека пользовательского интерфейса Windows 2.x Windows UI Library 2.x
В библиотеке пользовательского интерфейса Windows предоставляются официальный набор элементов управления пользовательского интерфейса Windows и других элементов пользовательского интерфейса для приложений Windows. The Windows UI Library provides official native Windows UI controls and other user interface elements for Windows apps.
Она поддерживает совместимость низкого уровня с предыдущими версиями Windows 10, поэтому ваше приложение будет работать, даже если пользователи применяют не самую последнюю версию ОС. It maintains down-level compatibility with earlier versions of Windows 10, so your app works even if users don’t have the latest OS.
Ознакомьтесь с предварительной версией 4 библиотеки пользовательского интерфейса Windows 3 (февраль 2021 г.), крупным обновлением, связанным с платформой пользовательского интерфейса Windows 10. Check out the Windows UI Library 3 Preview 4 (February 2021), a major update to the Windows 10 UI platform.
Возможности Features
Новые элементы управления. Библиотека пользовательского интерфейса Windows содержит новые элементы управления, которые не предоставляются на платформе Windows по умолчанию. New controls: The Windows UI Library contains new controls that aren’t shipped as part of the default Windows platform.
Обновленные версии существующих элементов управления. Библиотека также содержит обновленные версии существующих элементов управления платформы Windows, которые можно использовать в более ранних версиях Windows 10. Updated versions of existing controls: The library also contains updated versions of existing Windows platform controls that you can use with earlier versions of Windows 10.
Поддержка более ранних версий Windows 10. API библиотеки пользовательского интерфейса Windows работают в предыдущих версиях Windows 10, поэтому для обеспечения работы пользователей, не использующих последние версии ОС, не нужно добавлять проверки версии или условный код XAML. Support for earlier versions of Windows 10: Windows UI Library APIs work on earlier versions of Windows 10, so you don’t have to include version checks or conditional XAML to support users who might not be running the very latest OS.
Поддержка XamlDirect. Интерфейсы API XAML Direct, предназначенные для разработчиков ПО промежуточного слоя, предоставляют доступ к функциям XAML более низкого уровня, которые обеспечивает более высокую производительность по нагрузке на ЦП и рабочему набору. Support for XamlDirect: The Xaml Direct APIs, designed for middleware developers, gives you access to a lower-level Xaml features which provide better CPU and working set performance. XamlDirect позволяет применять API XamlDirect в более ранних версиях Windows 10, не требуя писать специальный код для работы с несколькими целевыми версиями Windows 10. XamlDirect enables you to use XamlDirect APIs on earlier versions of Windows 10 without needing to write special code to handle multiple target Windows 10 versions.
Примеры Examples
Пример приложения XAML Controls Gallery включает интерактивные демонстрации и примеры кода для работы с элементами управления WinUI. The Xaml Controls Gallery sample app includes interactive demos and sample code for using WinUI controls.
Установите приложение XAML Controls Gallery из Microsoft Store. Install the XAML Controls Gallery app from the Microsoft Store
Также на сайте GitHub доступен открытый код приложения Xaml Controls Gallery. The Xaml Controls Gallery is also open source on GitHub
Документация Documentation
Практические руководства по элементам управления из библиотеки пользовательского интерфейса Windows вы найдете в документации по элементам управления универсальной платформы Windows. How-to articles for Windows UI Library controls are included with the Universal Windows Platform controls documentation.
Справочная документация по API доступна по этой ссылке: API библиотеки пользовательского интерфейса Windows. API reference docs are located here: Windows UI Library APIs.
Установка и использование библиотеки пользовательского интерфейса Windows Install and use the Windows UI Library
План разработки и открытый код Open source and developer roadmap
WinUI — проект с открытым кодом, размещенный на сайте GitHub. WinUI is an open source project hosted on GitHub. Мы рады любым сообщениям об ошибках, запросам на добавление функций и вкладам сообщества в создание кода, вносимым в репозиторий библиотеки пользовательского интерфейса Windows. We welcome bug reports, feature requests and community code contributions in the Windows UI Library repo.
Мы продолжаем разрабатывать и развивать WinUI, чтобы поддерживать новые сценарии разработки. We are continuing to develop and evolve WinUI to support more developer scenarios. Последние сведения о планах по разработке Windows см. в этой статье о стратегии развития, размещенной в репозитории библиотеки пользовательского интерфейса Windows. For the latest details about our plans for WinUI, see our roadmap on the Windows UI Library repo.
Список пакетов NuGet NuGet package list
Библиотека пользовательского интерфейса Windows содержит несколько пакетов NuGet: Список пакетов NuGet для библиотеки пользовательского интерфейса Windows. The Windows UI Library contains multiple NuGet packages: Windows UI Library NuGet package list.