Что такое классическое приложение
Классические приложения (Visual C++)
классическое приложение на C++ — это собственное приложение, которое имеет доступ к полному набору интерфейсов Windows api и запускается в окне или в системной консоли. настольные приложения на C++ могут работать в Windows xp до Windows 11 (хотя Windows xp более официально не поддерживается и существует множество api-интерфейсов Windows, которые появились с момента этого).
классическое приложение отличается от приложения универсальная платформа Windows (UWP), которое может работать на компьютерах под управлением Windows 11, Windows 10, XBox, Windows Phone, Surface Hub и других устройств. Дополнительные сведения о настольных и универсальных приложениях UWP см. в статье Выбор технологии.
Мост для классических приложений
в Windows 10 и более поздних версиях можно упаковать существующее классическое приложение или COM-объект в качестве приложения UWP. приложения могут добавлять функции UWP, например сенсорный ввод, или вызывать api из современного набора api Windows. можно также добавить приложение UWP в решение для настольных систем в Visual Studio и упаковать их вместе в одном пакете и использовать интерфейсы Windows api для взаимодействия между ними.
в Visual Studio 2017 версии 15,4 и более поздних версиях можно создать Windows пакет приложения Project, чтобы значительно упростить работу по упаковке существующего настольного приложения. В отношении того, какие вызовы реестра или API-интерфейсы используются настольным приложением, применяются некоторые ограничения, но во многих случаях можно создать альтернативные пути кода для обеспечения аналогичной функциональности при работе в пакете приложения. Дополнительные сведения см. в статье Мост для классических приложений.
Терминология
Модель COM — это спецификация, которая позволяет программам, написанным на разных языках, взаимодействовать друг с другом. многие компоненты Windows реализуются как com-объекты и следуют стандартным правилам COM для создания объектов, обнаружения интерфейсов и уничтожения объектов. Использование объектов COM из классических приложений C++ относительно просто, но написание собственного COM-объекта является более сложным. Библиотека активных шаблонов (ATL) предоставляет макросы и вспомогательные функции, УПРОЩАЮЩИЕ разработку com.
приложение MFC — это Windows классическое приложение, которое использует Microsoft Foundation Classes для создания пользовательского интерфейса. Приложение MFC также может использовать компоненты COM, а также API CRT и библиотеки стандартных библиотек. MFC предоставляет объектно-ориентированную оболочку с тонким C++ для циклов оконных сообщений и Windows api. MFC является выбором по умолчанию для приложений (особенно приложений корпоративного типа), которые имеют множество элементов управления пользовательского интерфейса или пользовательских элементов управления. MFC предоставляет удобные вспомогательные классы для управления окнами, сериализации, обработки текста, печати и современных элементов пользовательского интерфейса, таких как лента. Для эффективной работы с MFC вы должны быть знакомы с Win32.
любое классическое приложение в C++ может использовать среду выполнения C (CRT), классы и функции стандартной библиотеки, COM-объекты и открытые функции Windows, которые вместе называются Windows API. общие сведения о Windows классических приложениях на c++ см. в разделе Начало работы с Win32 и C++.
Причины использования современных классических приложений
Введение
История одной компании
Ваша история
Классические приложения в наше время
До эпохи Интернета классические приложения для настольных ПК были основным подходом к созданию программных систем. Разработчики могли выбрать любой язык программирования, например COBOL, Fortran, VB6 или C++. Но разрабатывали ли они небольшие средства или сложные распределенные архитектуры, — все это были приложения для настольных ПК.
Затем технологии Интернета начали перекраивать весь мир разработки и притягивать все больше разработчиков за счет таких преимуществ, как простое развертывание и упрощенные процессы распространения. Тот факт, что после развертывания веб-приложения в рабочей среде все пользователи получали автоматические обновления, оказал огромное влияние на гибкость программного обеспечения.
Однако инфраструктура Интернета, базовые протоколы и стандарты, такие как HTTP и HTML, не предназначены для создания сложных приложений. В реальности усилия разработчиков были тогда направлены на одну цель: предоставить веб-приложениям те же возможности, что и классическим приложениям, включая быстрый ввод данных и управление состоянием.
Несмотря на невероятные темпы роста веб-приложений и мобильных приложений, для некоторых задач классические приложения по-прежнему остаются на первом месте с точки зрения эффективности и производительности. Это объясняет, почему существуют миллионы разработчиков, создающих проекты с помощью WPF и WinForms, и объем создаваемых ими приложений постоянно растет.
Ниже приведены некоторые причины для выбора разработки классических приложений для настольных ПК:
Как видите, разработка для настольных систем — отличное решение по многим причинам. Технология проверена временем, а цикл разработки быстр. Отладка эффективна, и, возможно, настольные приложения проще, так что работу с ними легче начать.
С течением времени корпорация Майкрософт предложила многие технологии пользовательского интерфейса для настольных систем, от Win32, представленной в 1995 г., до универсальной платформы Windows (UWP), выпущенной в 2016 г.
В соответствии с опросом, опубликованным Telerik в апреле 2016 г., наиболее популярными технологиями для создания классических приложений Windows являются Windows Forms, WPF и UWP.
Вы можете вести разработку и там, и там, используя C# и Visual Basic, но давайте рассмотрим это поближе.
Windows Forms
Впервые выпущенная в 2002 году, Windows Forms является управляемой платформой и самой старой, наиболее часто используемой технологией для настольных программ, основанной на подсистеме интерфейса графических устройств Windows (GDI). Она предлагает гладкое перетаскивание для разработки пользовательских интерфейсов в Visual Studio. В то же время Windows Forms полагается на конструктор Visual Studio в качестве основного способа разработки пользовательского интерфейса, поэтому создание визуальных компонентов из кода в ней нетривиально.
В следующем списке перечислены основные характеристики Windows Forms:
Основываясь на спецификации языка XAML, WPF отдает предпочтение четкому разделению между пользовательским интерфейсом и кодом. XAML предлагает такие возможности, как создание шаблонов, стилей и привязок, которые подходят для создания больших приложений. Как и Windows Forms, это управляемая платформа, но проекты здесь модульные и пригодные для многократного использования.
Вот основные особенности WPF.
UWP — это не только платформа представления, такая как WPF и Windows Forms, но и сама платформа. Эта платформа содержит:
Эта платформа была создана для поддержки всех типов систем ввода (например, рукописного ввода, сенсорного экрана, джойстика, мыши, клавиатуры, взгляда и т. д.) во всех форм-факторах с учетом производительности и низкого энергопотребления. По этим причинам оболочка ОС Windows 10 использует части платформы UWP.
UWP содержит платформу представления, основанную на XAML, похожую на WPF, но имеющую некоторые важные отличия, такие как:
История двух платформ
В течение последних 20 лет, в то время как технологии пользовательского интерфейса для настольных систем совершенствовались на их пути от Windows Forms к UWP, оборудование также развивалось от тяжелых системных блоков с небольшими ЭЛТ-мониторами до мониторов с высоким разрешением и легких планшетов и телефонов с различными методами ввода данных, такими как сенсорный экран и рукописный ввод. Эти изменения привели к созданию двух различных концепций: классического приложения и современного приложения. Современное приложение — это программа, которая учитывает различные форм-факторы устройств, разнообразные методы ввода-вывода и использует современные функции настольных систем при работе в изолированной модели выполнения. Классическое приложение (оно же приложение для настольных систем), с другой стороны, является приложением, которому необходим надежный интерфейс пользователя с высокой плотностью элементов управления, который лучше использовать с мышью и клавиатурой.
В следующей таблице показаны различия между этими двумя концепциями:
Сравниваемый аспект | Современное приложение | Классическое приложение |
---|---|---|
Безопасность | Вложенное исполнение & отличные основы. Разработано с нуля, чтобы учитывать конфиденциальность пользователя, управлять временем работы батареи и уделять все внимание обеспечению безопасности устройства. | Пользователь & уровень безопасности администратора. У вас есть собственный доступ к папкам реестра и жесткому диску. |
Развертывание | Установка и обновления управляются платформой. | MSI, пользовательские установщики & обновления. Традиционный источник головной боли для разработчиков и ИТ-управленцев. |
Distribution | Доверенное распространение & подписанные пакеты. Распространение выполняется из надежного источника, а не из Интернета. | Сеть, SCCM & пользовательское распространение. Отсутствие контроля над тем, что, как установлено, влияет на весь компьютер. |
Пользовательский интерфейс | Современный пользовательский интерфейс. Различные механизмы ввода, рукописный ввод, касание, джойстик, клавиатура, мышь и т. д. | Windows Forms, WPF, MFC. Предназначен для работы с мышью и клавиатурой для обеспечения плотного пользовательского интерфейса и получения максимальной производительности от рабочего стола. |
Данные | Первые облачные данные с аналитическими сведениями. Источник истины в облаке. Аналитические сведения о том, что происходит с вашим приложением и как оно работает. | Локальные данные. Для классических приложений обычно требуются какие-то локальные данные. |
Конструирование | Для использования различными способами. Предусмотрено использование на различных платформах, внешних интерфейсах и серверных системах, с задействованием ресурсов в как можно большем числе мест. | Предназначено только для настольных ПК Windows. |
В рамках стремления предоставлять разработчикам лучшие средства для создания приложений корпорация Майкрософт прилагает большие усилия по сближению эти концепций, или, можно даже сказать, платформ, чтобы предоставить разработчикам лучшие элементы обеих. Для этого корпорация Майкрософт ведет двустороннюю деятельность между двумя платформами.
Перенос сценариев для классических приложений на платформу современных приложений. Разработка классических приложений по-прежнему популярна, так как они эффективны в некоторых сценариях. Имеет смысл брать эти распространенные сценарии рабочего стола и переводить их на современную платформу для настольных систем, чтобы расширить возможности платформы.
Перенос функций современных приложений в классические приложения. В случае классических приложений, которым требуется способ использования современных возможностей без создания приложения с нуля, функции современных приложений помещаются в классическое приложение.
В этой книге мы сосредоточимся на втором и покажем, как можно модернизировать существующие классические приложения.
Пути к модернизации
Структура этого руководства содержит три различные оси для выполнения модернизации: современные функции, развертывание и установка.
Современные функции
Предположим, у вас есть рабочее приложение Windows Forms, используемое торговыми представителями компании для заполнения заказа клиента. Новое требование состоит в том, чтобы позволить клиенту подписывать заказ с помощью пера планшета. Рукописный ввод встроен в современные операционные системы и технологии, но он был недоступен при разработке приложения.
Этот путь покажет вам, как можно использовать современные функции для настольных систем в существующих разработках для настольных систем.
Развертывание
Установка
Настольные приложения всегда полагаются на процесс установки, прежде чем пользователь сможет приступить к их использованию. Этот факт позволяет использовать набор технологий, от MSI и ClickOnce до пользовательских установщиков или даже развертывания с помощью XCOPY. Все эти методы сталкиваются с проблемами, требующими аккуратности, так как приложениям требуется способ доступа к общим ресурсам на компьютере. Иногда установке требуется доступ к реестру для вставки или обновления новых значений ключей, иногда для обновления общих библиотек DLL, на которые ссылается основное приложение. Такое поведение создает непрерывную головную боль для пользователей и порождает впечатление, что после установки какого-либо приложения компьютер уже не вернется в исходное состояние, даже если потом его удалить.
В этой книге мы представим новый способ установки приложений с помощью MSIX, который решает проблему, описанную выше. Вы узнаете, как можно без труда настроить упаковку, установку и обновления для приложения.
29 стандартных приложений Windows 10
Windows 10 – это не просто новая операционная система с проработанным и улучшенным интерфейсом. В набор готовых инструментов уже всходит множество универсальных приложений, призванных заменить сторонние утилиты.
Эти приложения уже включены в дистрибутив и доступны сразу же после установки, в отличие от Windows 8. Например, просмоторщик PDF-файлов PDFReaderили утилита сканирования в Windows 8 не установлены по умолчанию, но их можно установить из магазина Windows, что не всегда удобно.
3D Builder
Приложение позволяет создавать, импортировать, моделировать, сохранять и печатать 3D модели. Начиная с версии Windows 8, Microsoft добавила поддержку 3D печати и включила в дистрибутив коллекцию драйверов для популярных 3D принтеров.
Будильник и часы
Калькулятор
В Windows 10 функционал стандартного калькулятора был сильно расширен. Помимо базового режима вы можете включить инженерный, режим для программистов, режим статистики, а также функцию преобразования физических единиц.
Календарь
Улучшению подвергся и календарь. К существующим ранее календарям Outlook и Exchange вы можете подключить (синхронизировать) веб-календари от Googleи AppleiCloud. Подключив веб-календари, вы легко сможете контролировать свой распорядок дня и задания на день, неделю, месяц, как с настольного компьютера, так и с мобильного устройства.
Камера
В отличие от предыдущих версий Windows в Windows 10 уже встроена утилита для работы с камерой. Воспользовавшись ею, вы можете записать видео, получить фото, как с основной, так и с фронтальной камеры. А ведь раньше для этого приходилось скачивать и устанавливать сторонние программы.
Служба поддержки
Разработчики обратили свой взор и на юзабильность обращения в техническую поддержку. Они по сути собрали все в одном месте. И это большой плюс. Приятный интерфейс, множество полезных ссылок на полезные страницы, а также впервые добавили текстовый чат, в котором в режиме онлайн можно задать вопрос представителям технической поддержки Microsoftнапрямую.
Кортана
Кортана – это разработка компании Microsoft призванная стать вашим личным помощником. Выполненная в виде стандартного приложения вы ее легко можете загрузить из магазина Windows. При этом обновлять саму операционную систему не нужно. Она запускается с ярлыка на рабочем столе и поддерживает голосовой набор.
MS Office
MS Officeне входит в стандартный набор программного обеспечения Windows 10. Вместо него вы сможете подписаться на бесплатную пробную версию Office 365. Microsoftуже сейчас позиционирует для мобильных устройств. Office365 можно установить и пользоваться абсолютно бесплатно только на устройствах с диагональю экрана менее 10.1 дюйма.
Skype
Примерно за месяц до выхода Windows 10 Microsoft убрала из стандартных приложений Skype. Но вы можете загрузить его и установить из магазина приложений Windows. Напомним, что, начиная с версии Windows 8.1, Skype устанавливался по умолчанию вместе с обновлениями, как программа для обмена мгновенными сообщениями и проведения видеоконференций. Пользователи корпоративной сети в первую очередь оценили все прелести работы со Skyp’ом. По сути, он заменил клиента для обмена мгновенными сообщениями. Дистанционное обучение для них стало обычным явлением.
Первое знакомство
При первом запуске Windows 10 откроется приложение по обучению работы в новой операционной системе. Обучение построено в легкой и непринужденной форме. С первых минут работы вам в помощь будет доступно обучающее видео, книги, учебники, полезные советы и т.д.
Groove Music
GrooveMusic – новое название приложения и сервиса XboxMusic, ранее называемое ZuneMusic. Не смотря на новое имя, приложение по прежнему использует учетную запись (профиль) Xbox. Оно призвано конкурировать с Spotify, AppleMusic, GooglePlayMusic, Radioи аналогичными сервисами.
С помощью данного приложения вы можете воспроизводить музыкальные файлы на вашем компьютере и сохраненные в облаке Microsoft. Доступны подписки.
Почта
Почтовый клиент также получил обновление. Включив синхронизацию своей учетной записи в приложении «Календарь» вы получаете возможность просматривать личные сообщения в почте Google и AppleiCloud. Поддерживается работа с Yahoo.
Навигация
Microsoft Edge
Microsoft Edge – новыйбраузерв Windows 10, пришедшийназамену Internet Explorer. В интернете уже много написано про браузер Edge. Он основан на новом движке, более быстром по сравнению с предшественником, с простым интерфейсом. В будущих обновлениях Microsoft планирует добавить поддержку расширений нового браузера. Но, не смотря на это InternetExplorer все-равно доступен в загрузках магазина Windows.
Microsoft Solitaire Collection
В Windows 10 вернут коллекцию пасьянсов, ранее удаленных из Windows 8. К сожалению, в набор стандартных приложений на WindowsPhone коллекция пасьянсов не входит, но его легко можно скачать в магазине Windows.В набор игр входят такие популярные игры как «Паук», «Клондайк» (ранее известный как Солитер), «Косынка», «Пирамида» и т.д. В «Солитер» добавили аркадный режим.
Финансы
Данное приложение разработано для удобства работы с MSNMoney, транслирующие новости финансов от MSN. Упрощенный просмотр финансовых данных. Помимо новостей о финансах приложение отображает курс акций, валют, колебания рынков и даже ипотечный калькулятор.Теперь можно закрепить «живую плитку» в меню «Пуск» и вы получите доступ к новостям прямо из меню «Пуск».
Movies & TV
Вместе с новым приложением для стриминга музыки GrooveMusicMicrosoft выпустила обновление приложения для просмотра видео, как локально, так и в сети. Movies& TV плотно интегрировано с WindowsStore. Вы можете покупать, брать в прокат любимые фильмы или ТВ-шоу. Также можно добавить свое видео.
Компания делает упор на простоту и удобство работы с приложением. Благодаря функциональному дизайну, который ориентирован на работу как с мышью и клавиатурой, так и с сенсорными экранами, вы можете просматривать видео на любом устройстве. Windows 10 позволит вам начать смотреть видео на одном устройстве, а закончить на другом, так как контент доступен на всех ваших устройствах, после его покупки. И что не мало приятно, заявлена поддержка файлов расширением MKV.
Новости
Новостное приложение от MicrosoftMSN. С помощью него вы можете просматривать как основные новости, так и новости региональные. А также создать свою подборку новостей по интересующим вас тематикам.
OneNote
Приложение OneNote предназначено для написания заметок. В нем легко создавать заметки, как на сенсорных устройствах, так и настольных ПК. Приложение обладает простым, удобным интерфейсом и полностью бесплатно.
People
Приложение People использует учетную запись Microsoft. С его помощью можно управлять личным календарем, почтой, контактами. Приложение синхронизируется с сервисами Outlook.com, Exchange, iCloud, Gmail.
PhoneCompanion
Приложение PhoneCompanion позволяет быстро и удобно синхронизировать смартфоны под управлением разных операционных систем (Android, iPhone, iPad) с устройствами на Windows 10. Например, подключая к Windows 10 устройства на Android или iPhone, система предложит вам установить OneDrive, Skype, OneNote, Outlook, MicrosoftOffice.
Фотографии
Приложение «Фотографии» позволяет просматривать фотографии расположенные на локальном компьютере и в облачных сервисах. С помощью приложения OneDrive вы можете легко загрузить ваши фотографии в облачное хранилище Microsoft и получать доступ с любого устройства под управлением Windows 10.
В приложении «Фотографии» можно просматривать и редактировать фотографии и видеозаписи. Оно установлено по умолчанию, при просмотре личных фотографий. Также можно скачать приложение «Фотоальбом».
Параметры
Приложение «Параметры» призвано со временим заменить собой «Панель управления». Оно стало более комплексным и функциональным с логичным расположением отдельных элементов, по сравнению с Windows 8.Англоязычные пользователи смогут не просто вызвать приложение «Параметры» с помощью голосового помощника Cortana, но и выбрать подходящий подраздел.
Спорт
Приложение «Спорт» похоже на приложение «Деньги» или новостное. Вы можете просматривать спортивные передачи, новости спорта, статьи. Также как и приложение «Деньги», « Новости» вы можете создать живую плитку.
Магазин
Магазин приложений – сервис Microsoft, позволяющее скачать, установить новые приложения. Оно автоматически проверяет, загружает и устанавливает обновленные версии стандартных приложений.
Диктофон
Приложение предназначено для записи голосовых сообщений и иных звуков с микрофона компьютера, мобильного устройства.
Погода
С помощью приложение вы можете просматривать прогноз погоды в вашем регионе. Программа отличается удобным интерфейсом, возможностью просмотра температурного графика по датам, либо за выбранный период, а также новости погоды от MSN. А живая плитка поможет вам следить за погодой прямо из меню пуск.
Отзывы
Получить помощь специалиста службы поддержки, получить помощью по продуктам Windows, задать вопрос или прочитать готовые ответы на форумах Майкрософт стало намного проще. Вы можете сообщить об ошибках, задать вопрос, отвечать на вопросы, заданные в сообществе.
Xbox
С помощью приложения вы можете связать свои игры на Xbox со всеми устройствами, работающими под операционной системой Windows 10. Оно позволяет взаимодействовать с лентой активности Xbox. С помощью приложения Xbox можно находить все последние игры для Xbox, разработанные для Windows 10, и загружать дополнительные ресурсы для установленных игр. Кроме того, вы можете просматривать все игры, в которые вы играли на Xbox, компьютере под управлением Windows и мобильных устройствах Windows Phone.
Новая функция DVR позволит вам снимать и редактировать видео на устройстве Windows 10 так же, как это реализовано в Xbox One. Использование DirectX 12 позволило вдвое сократить энергопотребление.