Вопрос по – Преимущества веб-приложений перед настольными приложениями [закрыто]

70

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

Я фанат настольных приложений, потому что они более удобны для пользователя. На мой взгляд, они более отзывчивы, имеют лучший пользовательский интерфейс, более настраиваемы и имеют лучшую поддержку клавиатуры. Я просто не вижу себя использующим веб-версии Visual Studio или OpenOffice. Более того, у меня сложилось впечатление, что приложения для тонких клиентских компьютеров проще в реализации, чем их аналоги из веб-приложений.

Возможно, я упускаю из виду некоторые качества веб-приложений, и, возможно, я ошибаюсь по поводу недостатков, которые я упомянул выше. Поэтому мой вопрос: есть ли кто-нибудь, кто видит преимущества веб-приложений над настольными приложениями?

Update: Пока что пришли интересные ответы. Обратите внимание, однако, чтоI am not talking about the difference between a thin and fat client приложения, но только между разработкой для платформы веб-браузера и настольной платформы.

Update: "веб-приложением" Я имею в виду комбинациюHTML/CSS/JavaScriptне богатые интернет-приложения, такие как Silverlight. Они очень похожи на настольные приложения, главное отличие в том, что они работают в песочнице.

Ваш Ответ

19   ответов
7

орошие аргументы могут быть сделаны для обоих. Гибридные приложения (частично веб, частично рабочий стол) также имеют свои преимущества / недостатки в этом отношении.

Разработка приложений всегда должна зависеть от требований, а не от технологических тенденций, религиозных предпочтений или сравнительных обобщенных преимуществ / недостатков.

Когда-нибудь пытались продать веб-приложение людям в регионах США или других стран, где широкополосный доступ ограничен или отсутствует? :) А как насчет мобильного доступа? Родной, веб-или гибридный? А как насчет локального доступа к данным, когда нет подключения к Интернету, если это требуется? Так далее

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

Пример: возьмите комментарий, который гласит: «Настольные приложения обеспечивают гораздо лучший пользовательский опыт, чем веб-приложения». Если требование (A) требует доступа в любом месте / в любое время с любого компьютера, оснащенного веб-браузером и доступом в Интернет, и (B) также требует производительности, подобной настольной (например, данные базы данных в реальном времени, не требующие обновления страницы), тогда ( C) разработчик вынужден учитывать такие технологии, как AJAX, Flash, Silverlight, Java или даже собственные клиенты, которые загружаются в качестве элемента управления браузером.

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

7

с которыми я не могу полностью согласиться:

Развертывание веб-приложения является простым, но развертывание настольного приложения не намного сложнее во времена Microsoft ClickOnce или Java Web Start. Исправление ошибки - это веб-приложение не так-то просто (меньше сессии, работает под управлением веб-сервера ...). Веб-приложение всегда имеет некоторые ограничения, когда речь идет о выполнении критически важных для безопасности операций или обращении к оборудованию.
Вы правы, когда исправляете ошибку как проблему, а не как преимущество. В веб-приложении возможно множество переменных. Возможно, вы даже не сможете воспроизвести ошибку без точно такой же настройки, как у конечного пользователя. Конечно, если вы развертываете внутри организации, это более управляемо, но тогда большинство других предполагаемых преимуществ веб-приложений также исчезают. Noel Walters
56

Развёртывание на каждом клиентском компьютере.

Не нужно приводить в исполнение проверка версии на клиентском компьютере.

Обновления легче.

Делаетисправление ошибо Полегче

Нет администратора проверка прав.

Может доступ откуда угодно.

Независимая платформ.

Поддержка и обслуживание легче.

Адаптивность в мобильные приложения.

Платформа независима, но иногда зависит от браузера:) Canavar
Для 1 .: Это не бремя во времена Интернета и удобных инсталляторов. Кому 3 .: Проблема может быть легко решена для настольных приложений (проверьте, спросите пользователя, установите), если они подключены к Интернету. К 4 .: Зависит от ошибки ... Если вы создали высококачественное веб-приложение, поддерживающее стандарты рабочего стола, такие как drag'n drop и другие, с помощью java-скрипта, исправление может быть очень неприятным. До 7 .: НЕТ! Существует еще больше зависимости от платформы: «Браузер на ОС» Kai Huppmann
@ Canavar, если его внутреннее приложение для веб-приложения, то обычно вы можете гарантировать ИТ-контроль браузером + версия. Благодаря библиотекам JS кодирование для нескольких браузеров не так сложно. Кодирование CSS для всего, что осталось после IE6, не так уж сложно, если вы достаточно хороший веб-дизайнер / разработчик. Chris McKee
To 1: Если вы используете javascript в своем веб-приложении, то вы фактически развертываете код на клиентском компьютере. Это прозрачно для пользователя, но вы все еще делаете это. Технологии развертывания настольных систем начинают приближаться к этому уровню прозрачности. Darrel Miller
"Можно получить доступ откуда угодно." - Это при условии, что вы подключены к Интернету ... Я думаю, что это один из Огромный недостатки веб-приложений. С помощью настольных приложений, как только они установлены на вашем компьютере, вы можете получить к ним доступв любой момен у тебя есть компьютер. Не так с веб-приложениями. И мы еще даже не упомянули скорости соединения ... Steve Harrison
51

Далеко лучший пользовательский опыт, чем веб-приложения.

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

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

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

Я не перечисляю преимущества веб-приложения в своем ответе, как это сделали другие. Веб-приложения и настольные приложения имеют свои плюсы и минусы. Делай и то, и другое! Пусть ваш клиент выбирает. Вернись на статистику. ; -)

Я думаю, что это хорошая идея, хотя многие компании не одобряют ее только потому, что она съедает больше человеко-часов + 1 Marc Towler
Хороший ответ! Благодарность Dimitri C.
Если настольные приложения по своей природе превосходят, как вы объясните, что многие люди пересылают свою почту из outlook / exchange в gmail? Joeri Sebrechts
@ Joeri Суть этого ответа в том, что обе технологии имеют свое место. Обмен электронной почтой является хорошим примером. На работе я читаю мою обменную почту, используя outlook, а везде использую веб-клиент OWA. Phillip Ngan
Вперед 2019 !! но это действительно так. Но плохая сторона технологии в том, что все пространство заполнено веб-разработчиками, которые никогда не имели опыта разработки приложений для настольных компьютеров, и единственное, что они сделали, - это преобразовали старое устаревшее настольное приложение в веб-приложение. Я начну на сколько% веб-приложений есть перетаскиваемые или контекстные меню? Сколько сайтов имеет встроенный кеш, который может оставаться на клиентском компьютере для перезапуска? попытаться скопировать и вставить сетку данных с одной страницы на другую? сочетания клавиш для элементов управления? Более того, основы пользовательского опыта отсутствуют в сети после 20 лет !!! digitally_inspired
22

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

Написание веб-приложений действительно требует от вас понимания HTML, CSS и Javascript, а также ограничений (или ошибок, связанных с IE) браузеров. Вам нужно беспокоиться о состоянии и сохранении его, а доступные вам механизмы ограничены.

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

Недавно мы добились определенного успеха со смешанной стратегией (webtop), написав основную систему как веб-сайт, но затем предоставив клиентское приложение для опытных пользователей, которым нужны дополнительные функции. Это может быть либо элемент управления браузером (в Windows вы можете легко встроить IE, в OS X вы можете сделать то же самое с Safari), либо использовать API. Очень похоже на то, как Twitter предоставляет вам веб-версию, но опытные пользователи могут использовать TweetDeck или что-то еще.

Очень интересный ответ. Большое спасибо Dimitri C.
«Обновление настольных приложений сложное и мучительное»: я поддерживаю установщик для одного из наших основных приложений. Возможность делать обновления для скачков больших версий - это действительноочен жесткий. Тем не менее, это потому, что он обновляет наше полное приложение. Думаю, когда нам просто нужно обновить тонкий клиент, это будет довольно прост Dimitri C.
Конечно, я думаю, это зависит от типа настольного приложения. Вчера я потратил слишком много времени, пытаясь устранить ошибку обновления базы данных, которая затрагивала только несколько клиентов ... Dave Glassborow
19
Все пользователи всегда используют последнюю версию Нет пиратства Доступно везде, где находятся ваши пользователи Кросс-платформа Для пользователей не требуется установка Вы можете легко измерить, что делают ваши пользователи (сколько пользователей используют функцию XX и т. Д.) При необходимости вы можете обеспечить простое сотрудничество между вашими пользователями, так как все данные централизованы
«пользователи всегда используют последнюю версию»: наше приложение для настольных компьютеров самообновляется. Dimitri C.
«Нет пиратства»: приложение для тонкого клиента можно свободно копировать, если серверный компонент не распространяется. Dimitri C.
"Кроссплатформенность": настольные приложения Java также кроссплатформенны. Dimitri C.
@ Дмитрий, я никогда не говорил, что настольные приложения не могут делать то, что в моем списке ... но в веб-приложении вы получаете это бесплатно. truppo
«Все данные централизованы»: если вы решите написать приложение для тонкого клиента, вы получите то же преимущество. Dimitri C.
11

Плюсы веб-приложения поверх настольного приложения: -

Только одну копию программы нужно будет обновлять. 99% кода не зависит от платформы. поддержка, поддержка и патчи проще предоставлять Меньше шансов найти ограничения, которые клиентский компьютер может наложить Плюс еще много

Кон веб-приложения поверх настольного приложения: -

Если сетевое соединение не работает, значит, приложение

Нужно изучать несколько языков для успешной разработки приложения (сценарии на стороне сервера, SQL, XHTML / CSS и т. Д.)

Меньше необходимости в безопасности (пользователю доверяют в компании, никакой «внешней угрозы») Необходимость выделенного компьютера (ов) для веб-сервера

Все это простонемног из множества за и против, которые вы можете найти в этом разговоре

5

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

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

Но есть и такие веб-фреймворки, как Oracle ADF, которые имеют даже больший охват, чем настольные приложения. С помощью ADF вы можете создавать веб-приложения, идентичные настольным, аналогично тому, как создаются настольные приложения. Но это дорого, кривая обучения высока и требует «хорошего» оборудования.

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

4

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

2

когда люди выбирают независимость от платформы linux / osx / windows, очень важны. Это помогает ориентироваться на гораздо больший рыно

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

Разве веб-приложения не должны одинаково хорошо справляться с проблемами переносимости (например, между Internet Explorer и Firefox)? Dimitri C.
Вы можете ограничить использование пользователем только Firefox, поскольку он предназначен для внутренней компании (я сделал это .. поэтому я всегда рекомендую своему пользователю использовать Firefox или Chrome) nightingale2k1
JQuery исправил несоответствия Javascript для вас, Адаптивные структуры дизайна, такие как Twitter-BootStrap, исправили несоответствия html / css. Если вы создаете программное обеспечение на основе Интернета и используете эти инструменты, маловероятно, что вам придется иметь дело с несоответствиями на уровне браузера. dendini
2

Я просто хочу добавить несколько профи в веб-приложение: 1. это выглядит красиво. Вы также можете изменить темы (просто измените CSS). Возможно, настольное приложение будет выглядеть скучно для некоторых пользователей, но приложение wep, вы можете изменить темы / дизайн, и это поразит вас (и босса

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

Веб-разработка приложений проста (если вы знаете о CSS-JavaScript и фреймворке), это может сделать вашу жизнь проще.

Нет вирусов и легко развернуть / установить для клиента.

Cons: пользовательский интерфейс в веб-приложении более сложен и нуждается в навыках javascript и css для хорошего качества пользовательского интерфейса.

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

Нет вирусов, но много возможностей для червей, порчи и других эксплойтов на основе XSS, CSRF, SQL-инъекций и тому подобного. Noel Walters
«Дешевле» тоже не всегда так: если вы создаете веб-приложение, которое должно иметь приличный пользовательский интерфейс и быть совместимым со всеми основными браузерами и мобильными устройствами, то потребуется много настроек, чтобы сделать его правильным. Это действительно дешевле, чем создание приложения для osx / ios / win / linux, но пользователи веб-приложений ожидают, что оно будет работать без проблем в выбранном браузере. Простые приложения для настольных приложений легче объяснить. faester
2

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

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

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

2

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

2

ще несколько недостатков веб-приложений:

Разработка логики / интерфейса представления веб-приложений слишком сложна по сравнению с настольными приложениями. Опыт использования разных браузеров может отличаться. Задержанные операции: учитывайте одинаковые транзакции в сети и на рабочем столе. Веб-приложение может задерживать поиск веб-сервера, что больше для настольных приложений (в большинстве случаев Загрузка ЦП клиента. Хотя это может рассматриваться как недостаток настольных приложений, веб-приложение не обладает хорошими возможностями использования процессора на стороне клиента, что в некоторых случаях может рассматриваться для выравнивания общей рабочей нагрузки обработки между клиентом / сервером.
Я думаю, что некоторые из твоего списка немного устарели: / risyasin
2

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

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

Взгляни, это может сэкономить тебе много времени и хлопот.

1

чтобы использовать ваше приложение. Не нужно развертывать все Материал приложение нуждается, и не нужно думать о том, почему ваше приложение не работает на клиенте.

1
Веб-приложения не требуют особых требований к обработке на стороне клиента, поскольку вся обработка выполняется на стороне сервера, а браузер - это просто часть представления или пользовательский интерфейс. Легко вносить изменения в веб-приложения, следя за информацией журнала и шаблонами просмотра пользователей, так как каждый запрос достигает сервера и может быть зарегистрирован.
«Веб-приложения не требуют особых требований к обработке на стороне клиента»: также вполне возможно написать приложение для тонкого клиента на компьютере. Dimitri C.
0

ий. За последние 3 года я перешел на чисто веб-интерфейсы. Вот как я это сделал:

Я пишу основное приложение как набор сервисов, которые я предоставляю через REST. Я написал «библиотеку», которая приближает WxWidgets, но не педантично. GUI - это JS-код, который программно строит экраны - так же, как я использовал для настольных приложений. Все стилизация / оформление выполняется с помощью классов CSS. В настоящее время я использую длительный опрос для взаимодействия, но планирую использовать либо WebSockets, либо WebRTC в будущем.

Все пользователи используют последнюю версию Chrome, и приложение доступно только из внутренней сети компании. У большинства пользователей есть ярлык на рабочем столе, который подключает их Chrome в полноэкранном режиме к внутреннему серверу. Менее сообразительные пользователи даже не знают (и не обязаны), что это больше не приложение для настольных компьютеров.

-4

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

рофессиональные веб-приложения @Btw могут справиться с проблемой зависимости браузера. и здесь отсутствует / игнорируется точка: вы можете получить доступ из любой точки мира с любой платформы / браузера. С SSL гораздо безопаснее. Я не знаю ни одного профессионального настольного приложения с этой функцией.

Редакция: грамматика и пунктуация

4 года назад. я ответил на это. все ненавистники спамили на кнопку «Голосование вниз». это было -9 или хуже. но сейчас -2. они забрали их или что? как это случилось? risyasin
-1 от меня в качестве бонуса ... к равным шансам. Вы когда-нибудь писали для рабочего стола? Знаете ли вы, насколько трудной / невозможной / хакерской является такая глупая операция, как доступ к буферу обмена, для веб-приложения, а для рабочего стола - просто функция. Ваш любимый список дел может существовать как веб-приложение (или простой почтовый клиент), но что-либо более сложное с некоторой тяжелой обработкой никогда не будет шансов. CodeAngry
нежелательная публикация даже в 2018 году ... будет навсегда нежелательной .. Приложение во многих случаях намного превосходит веб-приложение Mahbubur Rahman Khan

Похожие вопросы