Плавная деградация за пределами веб-приложений:насколько это серьезная проблема?

StackOverflow https://stackoverflow.com/questions/569629

Вопрос

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

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

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

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

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

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

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

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top