Вопрос по – Преимущества веб-приложений перед настольными приложениями [закрыто]
В компании, в которой я работаю, кажется, что все наши приложения внезапно должны быть перенесены в веб-приложения. Насколько я понимаю, единственная причина в том, что шумиха над веб-приложениями окончательно осквернила некоторых из наших лиц, принимающих решения.
Я фанат настольных приложений, потому что они более удобны для пользователя. На мой взгляд, они более отзывчивы, имеют лучший пользовательский интерфейс, более настраиваемы и имеют лучшую поддержку клавиатуры. Я просто не вижу себя использующим веб-версии Visual Studio или OpenOffice. Более того, у меня сложилось впечатление, что приложения для тонких клиентских компьютеров проще в реализации, чем их аналоги из веб-приложений.
Возможно, я упускаю из виду некоторые качества веб-приложений, и, возможно, я ошибаюсь по поводу недостатков, которые я упомянул выше. Поэтому мой вопрос: есть ли кто-нибудь, кто видит преимущества веб-приложений над настольными приложениями?
Update: Пока что пришли интересные ответы. Обратите внимание, однако, чтоI am not talking about the difference between a thin and fat client приложения, но только между разработкой для платформы веб-браузера и настольной платформы.
Update: "веб-приложением" Я имею в виду комбинациюHTML/CSS/JavaScriptне богатые интернет-приложения, такие как Silverlight. Они очень похожи на настольные приложения, главное отличие в том, что они работают в песочнице.
орошие аргументы могут быть сделаны для обоих. Гибридные приложения (частично веб, частично рабочий стол) также имеют свои преимущества / недостатки в этом отношении.
Разработка приложений всегда должна зависеть от требований, а не от технологических тенденций, религиозных предпочтений или сравнительных обобщенных преимуществ / недостатков.
Когда-нибудь пытались продать веб-приложение людям в регионах США или других стран, где широкополосный доступ ограничен или отсутствует? :) А как насчет мобильного доступа? Родной, веб-или гибридный? А как насчет локального доступа к данным, когда нет подключения к Интернету, если это требуется? Так далее
Начните с требований к приложению и вернитесь к технологиям. Когда вы делаете это, вы принимаете правильные решения и в итоге получаете лучшую платформу для проекта.
Пример: возьмите комментарий, который гласит: «Настольные приложения обеспечивают гораздо лучший пользовательский опыт, чем веб-приложения». Если требование (A) требует доступа в любом месте / в любое время с любого компьютера, оснащенного веб-браузером и доступом в Интернет, и (B) также требует производительности, подобной настольной (например, данные базы данных в реальном времени, не требующие обновления страницы), тогда ( C) разработчик вынужден учитывать такие технологии, как AJAX, Flash, Silverlight, Java или даже собственные клиенты, которые загружаются в качестве элемента управления браузером.
Я просто говорю, опять же, руководствуйтесь требованиями, а не технологиями.
с которыми я не могу полностью согласиться:
Развертывание веб-приложения является простым, но развертывание настольного приложения не намного сложнее во времена Microsoft ClickOnce или Java Web Start. Исправление ошибки - это веб-приложение не так-то просто (меньше сессии, работает под управлением веб-сервера ...). Веб-приложение всегда имеет некоторые ограничения, когда речь идет о выполнении критически важных для безопасности операций или обращении к оборудованию.Развёртывание на каждом клиентском компьютере.
Не нужно приводить в исполнение проверка версии на клиентском компьютере.
Обновления легче.
Делаетисправление ошибо Полегче
Нет администратора проверка прав.
Может доступ откуда угодно.
Независимая платформ.
Поддержка и обслуживание легче.
Адаптивность в мобильные приложения.
Далеко лучший пользовательский опыт, чем веб-приложения.
Конечно, у каждого варианта есть свои плюсы и минусы, но вы также должны оценить их. Что для вас важнее, пользовательский опыт или независимость от платформы? Мы оцениваем пользовательский опыт выше многих вещей. Да, мы приносим жертвы, но это часть жизни.
Один из способов убедить своих начальников - доказать им, что пользовательский опыт в настольном приложении впереди, и попытаться убедить их создать настольное приложенид создание веб-приложения.
У нас есть и в нашей компании, и наши клиенты предпочитают настольное приложение, а не веб-приложение в любой день. Они вполне готовы принять любые недостатки, связанные с использованием настольного приложения.
Я не перечисляю преимущества веб-приложения в своем ответе, как это сделали другие. Веб-приложения и настольные приложения имеют свои плюсы и минусы. Делай и то, и другое! Пусть ваш клиент выбирает. Вернись на статистику. ; -)
В целом, писать код для настольного приложения проще, доступно больше элементов управления, гораздо больше контроля над работой приложения.
Написание веб-приложений действительно требует от вас понимания HTML, CSS и Javascript, а также ограничений (или ошибок, связанных с IE) браузеров. Вам нужно беспокоиться о состоянии и сохранении его, а доступные вам механизмы ограничены.
Having сказал, что со временем мне все больше нравится писать веб-приложения. Ограничения платформы позволяют упростить задачу, а отсутствие статуса в Интернете помогает справиться с некоторыми сложностями. Мой последний веб-проект был запущен, и бизнес практически не нуждался в обучении, потому что нетехнические люди теперь знакомы с веб-страницами и тем, как они работают. Также здорово просто внести исправление и сразу же начать работу. Если вы когда-либо работали над обновлением настольных приложений, вы, несомненно, будете знать, насколько это сложно и болезненно.
Недавно мы добились определенного успеха со смешанной стратегией (webtop), написав основную систему как веб-сайт, но затем предоставив клиентское приложение для опытных пользователей, которым нужны дополнительные функции. Это может быть либо элемент управления браузером (в Windows вы можете легко встроить IE, в OS X вы можете сделать то же самое с Safari), либо использовать API. Очень похоже на то, как Twitter предоставляет вам веб-версию, но опытные пользователи могут использовать TweetDeck или что-то еще.
Плюсы веб-приложения поверх настольного приложения: -
Только одну копию программы нужно будет обновлять. 99% кода не зависит от платформы. поддержка, поддержка и патчи проще предоставлять Меньше шансов найти ограничения, которые клиентский компьютер может наложить Плюс еще многоКон веб-приложения поверх настольного приложения: -
Если сетевое соединение не работает, значит, приложение
Нужно изучать несколько языков для успешной разработки приложения (сценарии на стороне сервера, SQL, XHTML / CSS и т. Д.)
Меньше необходимости в безопасности (пользователю доверяют в компании, никакой «внешней угрозы») Необходимость выделенного компьютера (ов) для веб-сервераВсе это простонемног из множества за и против, которые вы можете найти в этом разговоре
его нельзя заменить веб-интерфейсом (по крайней мере, некоторыми его частями), поскольку приложение должно работать с локальными ресурсами, такими как принтер, устройство считывания штрих-кода, фискальный принтер, дисплей и т. Д.
Так что для этого типа приложений, которым требуются локальные ресурсы, рабочий стол не может быть заменен.
Также для настольных приложений приложения для настольных компьютеров могут быть очень быстрыми, чем веб-приложения.
Представьте себе большой супермаркет с большим количеством клиентов, ожидающих оплаты своих заказов и оплаты окон с помощью веб-приложений. Я такого не видел.
Но есть и такие веб-фреймворки, как Oracle ADF, которые имеют даже больший охват, чем настольные приложения. С помощью ADF вы можете создавать веб-приложения, идентичные настольным, аналогично тому, как создаются настольные приложения. Но это дорого, кривая обучения высока и требует «хорошего» оборудования.
Но имейте в виду, что если для веб-сайтов вы не используете протестированные компоненты, java-скрипт не так хорош для критически важных приложений, он подвержен ошибкам.
который обычно полностью веб-ориентирован, фактор, который побуждает меня к настольным приложениям, - аппаратная интеграция. Веб-приложения хороши, если все, что вам нужно, это читать и отправлять данные, но если речь идет о взаимодействии с такими вещами, как принтеры этикеток или другое специальное оборудование, настольное приложение - единственный реальный путь. Вы можете связать их с веб-службами и т. П., Если вам абсолютно необходимо установить флажок «Веб-приложение», но поддержка специализированного аппаратного обеспечения по большей части выходит за рамки браузера, и в этом гораздо больше смысла используйте существующие API для доступа к нему.
когда люди выбирают независимость от платформы linux / osx / windows, очень важны. Это помогает ориентироваться на гораздо больший рыно
Конечно, есть очевидные преимущества того, что приложение можно использовать в любой точке мира ... для удобства
Я просто хочу добавить несколько профи в веб-приложение: 1. это выглядит красиво. Вы также можете изменить темы (просто измените CSS). Возможно, настольное приложение будет выглядеть скучно для некоторых пользователей, но приложение wep, вы можете изменить темы / дизайн, и это поразит вас (и босса
это дешевле для орудий. Например, если вы разрабатываете приложение на .NET, вам нужны клиенты, которые устанавливают Windows. но в веб-приложении любой клиент может получить доступ к вашим веб-приложениям с любой платформ
Веб-разработка приложений проста (если вы знаете о CSS-JavaScript и фреймворке), это может сделать вашу жизнь проще.
Нет вирусов и легко развернуть / установить для клиента.
Cons: пользовательский интерфейс в веб-приложении более сложен и нуждается в навыках javascript и css для хорошего качества пользовательского интерфейса.
Я рекомендую вам не создавать с нуля (это было бы больно), а создавать новые модули в веб-приложениях. это было бы мудро
что оно более доступно, чем если бы вы сравнивали его с настольным приложением, но при этом вы должны быть в курсе того, что использовать, в зависимости от ваших потребностей.
Веб-приложения хороши только в том случае, если вы собираетесь разрабатывать приложения, которые не передают чрезвычайно конфиденциальные данные, поскольку веб-приложения развернуты в Интернете, они более подвержены хакерам, чем если бы вы сравнивали их с настольным приложением. Настольное приложение может снизить риск безопасности по сравнению с веб-приложением, хотя уже существуют меры безопасности для обеспечения безопасности веб-сайта, но со временем люди найдут способы уничтожения этих мер безопасности, и я верю, что большинство пользователей знали об этом особенно те хардкорные хакеры, которые существуют там. У настольного приложения также есть недостатки безопасности, но они очень минимальны.
Но если кто-то действительно хочет использовать веб-приложение для предоставления решений, было бы лучше, если бы он был хорошо осведомлен о риске, который может пойти на то же самое и для людей, разрабатывающих настольные приложения.
которое не так широко известно. Хорошо разработанное веб-приложение обычно интегрирует в приложение онлайн-справку - вы не найдете обычного неуклюжего разделения между кратким, непонятным настольным приложением и его подробным, неорганизованным файлом справки. Возможно, это культурная разница между веб-разработчиками / дизайнерами и разработчиками настольных систем.
ще несколько недостатков веб-приложений:
Разработка логики / интерфейса представления веб-приложений слишком сложна по сравнению с настольными приложениями. Опыт использования разных браузеров может отличаться. Задержанные операции: учитывайте одинаковые транзакции в сети и на рабочем столе. Веб-приложение может задерживать поиск веб-сервера, что больше для настольных приложений (в большинстве случаев Загрузка ЦП клиента. Хотя это может рассматриваться как недостаток настольных приложений, веб-приложение не обладает хорошими возможностями использования процессора на стороне клиента, что в некоторых случаях может рассматриваться для выравнивания общей рабочей нагрузки обработки между клиентом / сервером.которые вы перечислили для настольных приложений, и еще больше, о которых вы забыли упомянуть (таких как безопасность, обслуживание и т. Д.) Основным преимуществом веб-приложений является то, что они могут использоваться через веб-браузер. практически из любого места.
Visual WebGui - это решение, нацеленное именно на это, поскольку оно позволяет разрабатывать настольные (Windows) приложения и запускать их как веб-приложения, чтобы вы могли по-прежнему пользоваться преимуществами разработки и развертывания настольных систем (интуитивно понятный, отзывчивый, удобный для пользователя) и в то же время наслаждаться доступность веб-приложений.
Взгляни, это может сэкономить тебе много времени и хлопот.
ий. За последние 3 года я перешел на чисто веб-интерфейсы. Вот как я это сделал:
Я пишу основное приложение как набор сервисов, которые я предоставляю через REST. Я написал «библиотеку», которая приближает WxWidgets, но не педантично. GUI - это JS-код, который программно строит экраны - так же, как я использовал для настольных приложений. Все стилизация / оформление выполняется с помощью классов CSS. В настоящее время я использую длительный опрос для взаимодействия, но планирую использовать либо WebSockets, либо WebRTC в будущем.Все пользователи используют последнюю версию Chrome, и приложение доступно только из внутренней сети компании. У большинства пользователей есть ярлык на рабочем столе, который подключает их Chrome в полноэкранном режиме к внутреннему серверу. Менее сообразительные пользователи даже не знают (и не обязаны), что это больше не приложение для настольных компьютеров.
Иллюзия сопоставимости настольных приложений - просто трата времени и неосведомленность о будущем. веб-приложение является более новой и лучшей технологией, чем настольные приложения. 10 лет назад почти никто не использовал веб-приложения, кроме какого-то умного парня. Потому что это было совершенно новое и экспериментальное. и не было достаточно инструментов для разработки более качественных и профессиональных веб-приложений. С PHP4 и его конкурентами многие условия изменились. нам всем нужно было самим обновляться.
рофессиональные веб-приложения @Btw могут справиться с проблемой зависимости браузера. и здесь отсутствует / игнорируется точка: вы можете получить доступ из любой точки мира с любой платформы / браузера. С SSL гораздо безопаснее. Я не знаю ни одного профессионального настольного приложения с этой функцией.
Редакция: грамматика и пунктуация