Изящная деградация вне области веб-приложений: насколько серьезна проблема? - PullRequest
6 голосов
/ 20 февраля 2009

Извиняюсь за длинное вступление - просто пытаюсь правильно настроить сцену, чтобы избежать двусмысленности и путаницы.

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

Давайте на данный момент рассмотрим только два поколения: до и после ajax. Конечно, есть и другие факторы, например, связанные с поддержкой CSS и заголовками контроля доступа, но давайте начнем с простого.

Начиная с простой в использовании системы без JavaScript, добавление слоев изящно ухудшающих улучшений и заканчивая упакованным ajax, высокочувствительным современным приложением, является сложной и подверженной ошибкам задачей. Это отнюдь не просто.

К какому поколению веб-приложение может относиться, зависит от средств, с помощью которых осуществляется доступ к приложению. То же самое веб-приложение может показаться приложением первого поколения, если доступ к нему осуществляется через Lynx, и приложением последнего поколения, если доступ осуществляется через FireFox 3.1, с несколькими промежуточными уровнями в зависимости от агента пользователя, используемого для доступа к приложению.

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

Я не могу представить настольное приложение, сталкивающееся с таким отклонением в операционной среде.

Один исполняемый файл (в отличие от набора специфичных для ОС вариантов), способный использовать преимущества функций в Vista, вполне может адекватно работать при работе под XP и при отсутствии определенных функций Vista. Чтобы снизить производительность на таком же расстоянии, что и веб-приложение, то же настольное приложение все равно должно функционировать, хотя и менее причудливо, при запуске в среде только с командной строкой, такой как DOS.

Запустите его под Lynx, это веб-приложение первого поколения. Запустите то же самое под FireFox 3.1, это модное, блестящее современное веб-приложение. Если бы вы столкнулись с такой проблемой, вы бы сочли ее сложной, хитрой, но выполнимой.

Запустите его под DOS, это приложение командной строки. Запустите его под Vista, это модное, блестящее современное веб-приложение. Если бы вы столкнулись с такой проблемой, вы бы посчитали ее безумной. Или вы?

Сталкиваются ли когда-нибудь настольные приложения с такой разницей в операционных средах, как веб-приложения?

Является ли эта проблема (широта дисперсии, а не сама дисперсия) уникальной для области веб-приложений или ее можно найти в разработке для настольных ПК?

Ответы [ 3 ]

1 голос
/ 20 февраля 2009

Настольные приложения не имеют таких же проблем, как веб-приложения в этом отношении. Они обычно предназначены для работы на одной четко определенной платформе.

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

1 голос
/ 20 февраля 2009

Я не могу представить настольное приложение, сталкивающееся с таким отклонением в операционной среде.

Настольные приложения должны иметь дело с дисперсией, просто другого рода. Графические карты в играх являются хорошим примером этого: вам нужна достойная поддержка для основных клиентов, но ваш покупатель высокого класса с новой блестящей графической картой захочет получить деньги. Когда вы войдете в сферу обработки на графическом процессоре и управления памятью на карте, у вас будет достаточно причин, чтобы проклинать различия в операционных средах.

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

Конечно, ничто не удерживает издателя настольного программного обеспечения от жестких критериев для среды. Это просто вопрос бизнеса. Но ничто не заставляет вас поддерживать неосновные браузеры (и действительно ли большинство веб-приложений действительно поддерживают Lynx?!?).

0 голосов
/ 20 февраля 2009

В области приложений и операционной системы (OS) проблема обычно решается. Это ОС, которая обрабатывает всю сложность поддержания совместимости. С другой стороны, приложение обычно требует минимальную версию ОС.

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

...