Я пытаюсь понять различия между приложением и программой в Windows 10. Например, в Skype я могу либо загрузить его как приложение из Магазина Windows, либо загрузить классическую exe-программу и установить ее. Каковы основные различия? Можете ли вы перечислить их все, я говорю об общих различиях, общих для всех программ-приложений, и некоторые примеры различий, которые могут быть специфичны для программы-приложения.
решение1
Я пытаюсь понять разницу между приложением и программой в Windows 10.
Разница между ними заключается в первую очередь в платформе(ах) программирования:
«Приложения» используютУниверсальная платформа Windows(UWP), представленный в Windows 10.
Классические «настольные» приложения обычно используют традиционныйAPI Win32/COMили, возможно, более новый.NET Framework(хотяMicrosoft технически включает UWP в этот список.).
Практические соображения
По сравнению с приложениями традиционные настольные программы, как правило, более мощные и не имеют ограничений в целом. Поскольку приложения предназначены для кроссплатформенности среди продуктов Microsoft (ПК/Xbox/планшет/телефон), а соображения аппаратного обеспечения/безопасности для этих устройств настолько различаются, в платформе UWP есть встроенные ограничения, которые потенциально ограничивают то, что могут делать приложения и насколько хорошо они это могут делать.
Это не так важно для некоторых видов легких программ, и кроссплатформенность может быть даже преимуществом в некоторых случаях. Например, когда Microsoft уничтожила гаджеты рабочего стола в Windows, гаджет Pandora Radio был по сути воскрешен как приложение, предназначенное для телефонов, которые также можно было использовать в Windows 10.
Однако с более «серьёзными» настольными приложениями (например, играми для ПК) UWP начинает терять свои преимущества и даже может начать растить некоторые шипы. Уровень контроля и мощности программирования, доступный специализированному игровому движку на базе Win32, нелегко воспроизвести в приложении, поскольку платформы UWP и Win32 реализованы по-разному.
Кроме того, существует потенциальная проблема «компрометации» приложений.
Приложения, использующие UWP, можно «расширить», чтобы использовать возможности другого оборудования... но это не всегда желательно. В конечном итоге можно получить программы, которые будут работать по-разному, например, на настольном компьютере и планшете, несмотря на то, что это (возможно) «одно и то же» приложение.
В качестве средства от подобных проблем часто приоритетной задачей является обеспечение хорошей работы программы на наименее мощном/наиболее ограниченном оборудовании. Поэтому программа, реализованная как приложение, может ограничить свою графическую точность в целом, чтобы минимизировать визуальные различия. Аналогично, возможно, набор экранных элементов управления, разработанных для сенсорного интерфейса, может не так хорошо работать с мышью (кашель... Чудо-кнопки Windows 8...кашель).
Приложения для настольных компьютеров зачастую сталкиваются с меньшим количеством подобных проблем, поскольку характеристики ПК (ноутбука или другого устройства) обычно меньше различаются в пределах одного поколения оборудования.
Другие вещи
Стоит отметить еще пару вещей.
Во-первых, несмотря на то, что приложения доступны на традиционном ПК или даже консоли, они нацелены исключительно на мобильное пространство. Microsoft предприняла согласованные усилия, чтобы сделать их доступными только из своего магазина, как это делает Apple для своих продуктов или как фактически монополия Google на Android. Напротив, программы для настольных компьютеров по-прежнему доступны из различных источников.
Во-вторых, хотя это может показаться незначительным, значки — это разница. Не только с живыми плитками и тем, где значки находятся естественным образом, но и с возможностью их удаления при определенных обстоятельствах. Значки приложений рабочего стола можно удалить из меню «Все приложения», тогда как значки приложений — нет. Если вы хотите удалить значок приложения из меню «Все приложения», вам придется удалить его.
В более широком смысле, приложения в целом устанавливаются и находятся в совершенно отдельных, фиксированных папках, которые, как утверждается, не предназначены для доступа пользователей. С другой стороны, программы Win32 сохраняют возможность установки практически в любом месте и более легкодоступны для тех, кто использует данное устройство.