Каковы преимущества и проблемы разработки веб-приложений по сравнению с настольными приложениями? - PullRequest
17 голосов
/ 25 апреля 2009

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

  • Литература для настольных приложений значительно меньше, чем для веб-приложений
  • Кодирование панелей и кнопок сложнее, чем использование декларативного подхода (HTML)
  • Природа http без состояния заставляет вас переосмыслить запрос / ответ

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


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

Ответы [ 14 ]

2 голосов
/ 25 апреля 2009

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

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

1 голос
/ 26 апреля 2009

Все зависит:

  1. Какой у вас опыт разработчика?
  2. Какой тип приложения вам нужно сделать?

А также - что вы называете веб-приложениями? Приложения Silverlight или Flash могут быть сделаны таким образом, что вы можете использовать его с рабочего стола или из браузера. Ajax-приложения сегодня не сильно отличаются от настольных приложений, но гораздо сложнее разработать что-то не слишком простое с DHTML (даже если вы используете такие фреймворки, как jQuery или даже GWT).

Принимая HTML или DHTML в качестве веб-приложения:

Я провел много лет в разработке web / ajax и десктопов, и мой опыт такой же - я сделал кучу сложных веб-приложений и десктопов. Имея хороший инструментарий и инструменты для C # и достаточный опыт, я могу создать лучшее настольное приложение, чем веб-приложение, за тот же или более короткий период времени. Но некоторые типы приложений НЕ МОГУТ быть выполнены как настольные, потому что это требование делать их как веб-приложения.

Причины, по которым разработка настольных систем проще:

  1. Безопасность типов языков, подсказки по коду
  2. Производительность кода x10-1000 + производительность профилировщиков
  3. Не нужно проверять все во всех браузерах
  4. Информативные исключения со трассировкой стека, редактирование и продолжение
  5. Возможность использовать многопоточность (если вы знаете, как ее использовать)
  6. Общая предсказуемость и стабильность кода
  7. RAD инструменты

В течение очень долгого времени несколько преимуществ веб-приложений были:

  1. GUI Framework - HTML + CSS
  2. Пользователям легче начать использовать его
  3. Содержание приложений можно найти в поисковых системах

Теперь у всех нас есть мощные графические структуры, такие как XAML для приложений WPF / Silverlight. Второй момент может быть рассмотрен в приложениях Silverlight / Flash (которые я рассматриваю как настольные). Третий вариант может быть сделан для RIA, но требует определенных усилий (то же самое относится и к приложениям ajax).

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

1 голос
/ 25 апреля 2009

С настольными приложениями вам не нужно решать такие проблемы, как состояние приложения, так же, как в Интернете. HTTP - это протокол без сохранения состояния, поэтому разработчик должен определить, как поддерживать текущее состояние приложения для сеанса пользователя. Рабочий стол может использовать TCP / IP и поддерживать соединение с сервером.

С помощью Интернета очень просто создать привлекательный пользовательский интерфейс, так как вы можете добавлять анимации с помощью Javascript, Flash и т. Д. Разработчику больше работы, когда приложение ориентировано на данные, а состояние приложения является проблемой .

0 голосов
/ 25 апреля 2009

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

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