Переваги веб-додатків перед настільними [закрито]


79

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

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

Можливо, я не помічаю деяких якостей веб-додатків, і, можливо, я невірний щодо недоліків, про які я згадав вище. Тому моє запитання: чи є хтось, хто може побачити переваги веб-програм перед настільними програмами?

Оновлення: Наразі було кілька цікавих відповідей. Однак зауважте, що я не кажу про різницю між тонким і товстим клієнтським додатком, а лише між розробкою для веб-браузера та платформи для настільних ПК.

Оновлення: під "веб-додатком" я маю на увазі поєднання HTML / CSS / JavaScript , а не багаті інтернет-програми, такі як Silverlight. Вони дуже схожі на настільні програми, основною відмінністю є той факт, що вони працюють у пісочниці.

Відповіді:


63
  1. Веб-програми уникають тягаря при розгортанні на кожному клієнтському комп'ютері.

  2. Не потрібно застосовувати перевірку версії на клієнтській машині.

  3. Оновлення простіше.

  4. Полегшує виправлення помилок .

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

  6. Може отримати доступ з будь-якого місця .

  7. Незалежна від платформи .

  8. Підтримка та обслуговування простіші.

  9. Адаптованість у мобільних додатках .


3
"Полегшує виправлення помилок": як ви маєте на увазі? Тонкий клієнтський настільний додаток можна оновлювати настільки ж просто, я думаю.
Dimitri C. 02

65
Незалежна від платформи, але іноді залежить від браузера :)
Канавар

19
"Можна отримати доступ з будь-якого місця." - Це припускаючи, що ви підключені до Інтернету ... Я думаю, це один із величезних недоліків веб-додатків. Після встановлення на комп’ютері настільних програм ви можете отримати до них доступ у будь-який час, коли комп’ютер у вас є. З веб-програмами не так. І ми ще навіть не згадали про швидкість з'єднання ...
Стів Гаррісон, 02

7
До 1 .: Це не є тягарем у часи Інтернету та зручних установників До 3 .: Проблему можна легко вирішити для настільних програм (перевірити, запитати користувача, встановити), якщо підключено до Інтернету. До 4 .: Залежить від помилки ... Якщо ви створили висококласний веб-додаток, що підтримує стандарти робочого столу, такі як drag'n drop та інші за допомогою сценарію Java, виправлення може бути дуже неприємним. До 7 .: НІ! Існує ще більша залежність від платформи: "Браузер на ОС"
Кай Хуппманн

4
@Canavar, якщо його внутрішній додаток до веб-програми, ви зазвичай можете гарантувати ІТ-контроль браузера + версії. Завдяки бібліотекам JS кодування для багатьох браузерів не так складно. Кодування CSS для всього, що минуло IE6, так чи інакше не є таким складним, якщо ви досить хороший веб-дизайнер / розробник.
Chris McKee

56

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

Звичайно, кожен варіант має свої плюси і мінуси, але вам також потрібно оцінити їх. Що для вас важливіше, досвід користувача чи незалежність платформи? Ми оцінюємо досвід користувачів понад багато речей. Так, ми приносимо жертви, але це частина життя.

Один із способів переконати начальство - це довести їм, що користувальницький досвід настільки ж випереджає настільну програму, і спробувати переконати їх створити настільну програму, перш ніж створювати веб-програму.

Ми як у нашій компанії, так і наші клієнти віддають перевагу настільному додатку перед веб-додатком у будь-який день. Вони цілком готові прийняти будь-які недоліки, пов'язані з використанням настільного додатка.

У своїй відповіді я не перелічую переваги веб-програми, як це робили інші. Веб-програми та настільні програми мають як плюси, так і мінуси. Робіть і те, і інше! Нехай ваш клієнт вибирає. Поверніться до мене за статистикою. ;-)


7
я думаю, що це гарна ідея, хоча чимало компаній не змогли б на неї насупитися виключно тому, що вона з'їдає більше годин людини +1
Марк Таулер 02

1
Якщо настільні програми за своєю суттю перевершують, як ви пояснюєте, що багато людей пересилають свою пошту з Outlook / Exchange на Gmail?
Joeri Sebrechts 02

3
@Joeri Суть цієї відповіді полягає в тому, що обидві технології мають своє місце. Обмін електронною поштою - хороший приклад. На роботі я читаю свою обмінну пошту, використовуючи Outlook, і скрізь я використовую веб-клієнт OWA.
Філіп Нган,

1
Швидко вперед 2019 !! все ще це дійсно .. Але поганою стороною технології є те, що весь простір заповнений веб-розробниками, які ніколи не мали досвіду в розробці будь-якого настільного додатка, і єдине, що вони зробили, це перетворення старого застарілого настільного додатка на веб-додаток. Я почну на скільки% веб-програм отримали перетягування або контекстне меню? Скільки веб-сайтів має вбудований кеш, який може залишатися в клієнтській машині для перезапуску? спробувати скопіювати та вставити сітку даних з однієї сторінки на іншу? комбінації клавіш для елементів керування? Набагато більше, ази користувальницького досвіду відсутні в Інтернеті ще через 20 років !!!
digitally_inspired

Досвід користування Інтернетом змінився після застосування односторонньої програми (SPA). Це дуже нагадує сьогоднішній настільний додаток.
Том,

27

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

Як правило, писати код для настільного додатка простіше, доступно більше елементів управління, і ви набагато більше контролюєте, як працює програма.

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

Сказавши це, з часом я все більше отримую задоволення від написання веб-додатків. Обмеження платформи змушують вас спрощувати речі, а безгромадянськість Інтернету допомагає керувати деякою складністю. Мій останній веб-проект розпочав свою діяльність, і бізнес практично не вимагав навчання, оскільки нетехнічні люди зараз знайомі з веб-сторінками та тим, як вони працюють. Також чудово просто виправити ситуацію і негайно розпочати її. Якщо ви коли-небудь працювали з оновленням настільних програм, ви, безсумнівно, будете знати, наскільки це може бути складно і боляче.

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


1
Дуже цікава відповідь. Дуже дякую.
Dimitri C. 02

1
"оновлення настільних додатків складно і болісно": я підтримую програму встановлення для одного з наших основних додатків. Уможливити оновлення для стрибків великих версій справді дуже важко. Однак це тому, що це оновлення нашого повного додатка. Коли нам просто потрібно оновити тонкий клієнт, я думаю, це було б досить просто.
Dimitri C. 02

1
Звичайно, я думаю, це залежить від типу настільного додатка. Я витратив занадто багато часу вчора, намагаючись виправити помилку оновлення бази даних, яка спричинила лише декількох клієнтів ...
Дейв Гласборо 02

21
  • Усі користувачі завжди використовують останню версію
  • Ніякого піратства
  • Доступний з будь-якого місця ваших користувачів
  • Крос-платформа
  • Для користувачів не потрібна інсталяція
  • Ви можете легко виміряти, що роблять ваші користувачі (скільки користуються функцією XX тощо)
  • За потреби ви можете забезпечити легку співпрацю між своїми користувачами, оскільки всі дані централізовані

16
"користувачі завжди використовують останню версію": наш настільний додаток самостійно оновлюється.
Dimitri C. 02

12
"Без піратства": Настільний додаток для тонкого клієнта можна вільно копіювати, якщо серверний компонент не розповсюджується.
Dimitri C. 02

14
"Крос-платформа": Настільні програми Java також є крос-платформними.
Dimitri C. 02

3
@Dimitri, я ніколи не говорив, що настільні програми не можуть робити те, що міститься в моєму списку .. але у веб-додатку ви отримуєте це безкоштовно.
труппо

5
"всі дані централізовані": Якщо ви вирішите написати тонкий клієнтський настільний додаток, ви отримаєте ту ж перевагу.
Dimitri C. 02

11

Переваги веб-програми перед настільною програмою : -

  • Коли-небудь потрібно буде оновити лише одну копію програми.
  • 99% коду не залежить від платформи.
  • обслуговування, підтримку та виправлення легше забезпечити
  • Менший шанс знайти обмеження, які може встановити клієнтський комп'ютер
  • Плюс багато іншого

Переваги веб-програми над настільною програмою : -

  • Якщо з’єднання з мережею не працює, це також стосується додатка

  • Потрібно вивчити кілька мов для успішної розробки програми (сценарії на стороні сервера, SQL, XHTML / CSS тощо)

  • Менша потреба в безпеці (користувачеві довіряють у компанії, немає "сторонніх загроз")
  • Потреба у спеціальних машинах для веб-сервера

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


7

Як веб-платформи, так і настільні платформи мають свої переваги та недоліки. Для обох можна навести вагомі аргументи. Гібридні програми (частина Інтернету, частина робочого столу) також мають переваги / недоліки в цьому відношенні.

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

Ви коли-небудь намагалися продати веб-додаток людям у районах США чи інших країн, де широкосмуговий доступ є непомітним або його немає? :) А як щодо мобільного доступу? Власна, веб-або гібридна? Що можна сказати про місцевий доступ до даних, коли немає з’єднання з Інтернетом, якщо це потрібно? І т.д.

Почніть із вимог заявки та поверніться до технології. Коли ви це робите, ви приймаєте правильні рішення і отримуєте найкращу платформу для проекту.

Приклад: Візьмемо коментар із написом: "Настільні програми забезпечують набагато кращий досвід роботи, ніж веб-додатки". Якщо вимога (A) вимагає доступу в будь-який час і в будь-який час з будь-якого комп’ютера, обладнаного веб-браузером та доступом до Інтернету, а також (B) також вимагає продуктивності, що нагадує робочий стіл (скажімо, дані бази даних, які не вимагають оновлення сторінки), тоді ( В) розробник змушений розглянути такі технології, як AJAX, Flash, Silverlight, Java або навіть власні клієнти, які завантажуються як елемент керування браузером.

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


7

Вже згадується багато моментів. Але є кілька, з якими я не можу повністю погодитися:

  • Розгортання веб-програми є простим, але розгортання настільної програми не набагато складніше в часи Microsoft ClickOnce або Java Web Start.
  • Виправлення помилок - це веб-додаток не дуже просто (менше сеансів, працює в процесі веб-сервера ...).
  • Веб-програма завжди має певні обмеження, коли йдеться про виконання критично важливих операцій або доступ до апаратного забезпечення.

1
Ви маєте право вважати, що виправлення помилок є проблемою, а не перевагою. У веб-програмі так багато змінних. Можливо, ви навіть не зможете відтворити помилку без точно таких самих налаштувань, як кінцевий користувач. Звичайно, якщо ви розгортаєтеся в організації, то це можна контролювати, але тоді більшість інших передбачуваних переваг веб-програм також випаровуються.
Ноель Уолтерс

5

Залежить від типу програми. Якщо у вас є програма cms, її не можна замінити на веб (принаймні деякі частини), оскільки програма повинна працювати з локальними ресурсами, такими як принтер, зчитувач штрих-коду, фіскальний принтер, дисплей тощо.
Отже, для програм такого типу, які потребують локальних ресурсів, робочий стіл замінити не можна.
Крім того, настільні програми можуть бути набагато швидшими, ніж веб-програми, для програм cms.

Уявіть собі великий супермаркет, де багато клієнтів чекають оплати своїх замовлень та оплачують вікна веб-додатками. Я такого не бачив.

Але також існують веб-фреймворки, такі як Oracle ADF, які мають навіть більший обсяг, ніж робочі столи. За допомогою ADF ви можете створити веб-програму, ідентичну програмі для настільних комп'ютерів, аналогічно тому, як будуються програми для настільних ПК. Але чи це дорого, крива навчання висока і вимагає "хорошого" обладнання.

Але майте на увазі, що якщо для Інтернету ви не використовуєте перевірені компоненти, скрипт Java не так хороший для критично важливих програм, він схильний до помилок.


4

Для мене, який, як правило, повністю працює в Інтернеті, фактором, який рухає мене до настільних додатків, є інтеграція обладнання. Веб-програми чудові, якщо вам потрібно лише прочитати та надіслати дані, але якщо мова йде про взаємодію з такими речами, як принтери етикеток чи інше спеціалізоване обладнання, настільний додаток - єдиний реальний шлях. Ви можете пов’язати їх із веб-службами тощо, якщо вам обов’язково потрібно встановити прапорець "Веб-програма", але спеціалізована апаратна підтримка здебільшого виходить за рамки браузера, і має набагато більше сенсу використовувати наявні API для доступу до нього.


2

У наші дні, коли люди обирають незалежність платформи Linux / OSX / Windows, це велика особливість. Це допомагає орієнтуватися на значно більший ринок

Звичайно, є очевидні переваги того, що додаток можна використовувати в будь-якій точці світу ... для зручності


2
Хіба веб-додаткам не доводиться однаково добре вирішувати проблеми перенесення (наприклад, між Internet Explorer та Firefox)?
Dimitri C. 02

ви можете обмежити користувача використовувати лише firefox, оскільки це для внутрішньої компанії (я це зробив .. так що я завжди рекомендую своєму користувачеві використовувати firefox або chrome)
nightingale2k1

1
JQuery виправив для вас невідповідності Javascript, адаптивний фреймворк дизайну, такий як Twitter-BootStrap, виправив невідповідності html / css. Якщо ви створюєте веб-програмне забезпечення та використовуєте ці інструменти, дуже малоймовірно, що вам доведеться стикатися з невідповідностями на рівні браузера.
дендіні

2

я згоден із пунктами вище ...

я просто хочу додати деяких професіоналів у веб-програмі: 1. це виглядає приємно. ви також можете змінити теми (просто змініть css), можливо, програма для настільних комп'ютерів буде виглядати нудно для деяких користувачів, але програма wep, ви можете змінити теми / дизайн, і це вразить вашого користувача (і боса)

  1. знаряддя дешевше. Наприклад, якщо ви розробляєте додаток із .NET, вам потрібно мати клієнтів, які встановлюють Windows. але у веб-програмі, коли ви розробляєтесь, будь-який клієнт може отримати доступ до ваших веб-програм за допомогою будь-якої платформи.

  2. Розробка веб-додатків проста (як тільки ви дізнаєтеся про css javascript та фреймворк), це може полегшити вам життя.

  3. Немає вірусу і легко розгортається / встановлюється для клієнта.

Мінуси: користувальницький інтерфейс у веб-програмі є більш складним і потребує вміння у матеріалах javascript та css, щоб зробити інтерфейс хорошої якості.

Я рекомендую вам не створювати з нуля (це було б боляче), а створювати нові модулі у веб-програмах. це було б мудро :)


2
Немає вірусу, але достатньо простору для хробаків, псування та інших експлойтів, заснованих на XSS, CSRF, ін'єкції SQL тощо.
Ноель Уолтерс

1
"Дешевше" також необов'язково відповідає дійсності: якщо ви створюєте веб-програму, яка повинна мати пристойну взаємодію з користувачем і бути сумісною з усіма основними браузерами та мобільними пристроями, тоді для її виправлення потрібні численні налаштування. Це дійсно дешевше, ніж створення програми для osx / ios / win / linux, однак користувачі веб-програми, створюючи веб-програму, очікують її безперебійної роботи у вибраному браузері. Прості програми для робочих столів з обмеженою освітою легше пояснити.
faester

2

Основною причиною перетворення програми на веб-підхід є те, що вона є більш доступною, ніж якщо б ви хотіли порівняти її з настільною програмою, але, роблячи це, ви повинні бути добре поінформовані про те, що використовувати залежно від ваших потреб.

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

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


2

Я хотів би виділити одну перевагу веб-додатків, яка менш відома. Добре розроблений веб-додаток зазвичай інтегрує онлайн-довідку в додаток - ви не знайдете звичайного незграбного поділу між стислим, незрозумілим настільним додатком та його багатослівним, неорганізованим файлом довідки. Це, мабуть, культурна різниця між веб-розробниками / дизайнерами та розробниками настільних комп'ютерів.


2

я також шанувальник настільних додатків. Дозвольте навести ще кілька недоліків веб-додатків:

  1. Розробка логіки / інтерфейсу презентації веб-додатків є надто складною у порівнянні з настільними програмами.
  2. Взаємодія користувачів у різних браузерах може відрізнятися.
  3. Затримка операцій: розгляньте ті самі транзакції в Інтернеті та на робочих столах. Веб-програма може затримувати затримку пошуку веб-сервера, яка є більшою, ніж для настільних програм (у більшості випадків)
  4. Використання центрального процесора клієнта: Хоча це може розглядатися як недолік настільних програм, веб-програма не має належних можливостей для використання процесора на стороні клієнта, що в деяких випадках можна розглянути для вирівнювання загального обсягу робочого навантаження між клієнтом / сервером.

1
Думаю, деякі з вашого списку вже трохи застаріли: /
risyasin

2

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

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

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


1

Більшу частину часу користувачеві потрібен лише браузер, щоб використовувати вашу програму. Немає необхідності розгорнути всі речі потреби додатків, і немає необхідності думати про те, чому програма не працює на клієнта.


1
  • Веб-програми не вимагають особливих вимог до обробки на стороні клієнта, оскільки вся обробка відбувається на стороні сервера, браузер - це лише частина подання або користувальницький інтерфейс.
  • Легко вносити зміни до веб-додатків, спостерігаючи за інформацією журналу та шаблонами перегляду користувачів, оскільки кожен запит надходить на сервер і може реєструватися.

1
"Веб-програми не вимагають особливих вимог до обробки на стороні клієнта": Цілком можливо також написати тонкий клієнтський настільний додаток.
Dimitri C.

0

Раніше я розробляв настільні інтерфейси для своїх програм. За останні 3 роки я перейшов до чистого веб-інтерфейсу. Ось як я це зробив:

  • Я пишу основну програму як набір послуг, які я викладаю через REST.
  • Я написав "бібліотеку", яка апроксимує WxWidgets - але не педантично.
  • Графічний інтерфейс - це код JS, який створює екрани програмно - як і раніше для настільних програм.
  • Усі стилі / скини виконуються за допомогою класів CSS.
  • В даний час я використовую тривале опитування для взаємодії, але планую використовувати WebSockets або WebRTC у майбутньому.

Усі користувачі використовують останню версію Chrome, і програма доступна лише з інтрамережі компанії. У більшості користувачів є ярлик на робочому столі, який підключає їх Chrome у повноекранному режимі до внутрішнього сервера. Менш кмітливі користувачі навіть не підозрюють (і не повинні бути), що це вже не настільний додаток.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.