зачем разрабатывать в windows / desktop приложении? - PullRequest
12 голосов
/ 12 апреля 2010

Просто интересно, что ваши комментарии касаются текущей тенденции, когда все движется в Интернет или даже в облако. Значение ОС или настольного приложения привлекает меньше внимания, чем веб-приложение. Так что для тех, кто еще разрабатывает приложения для Windows, такие как WPF. Зачем еще это делать? Почему бы не перейти к веб-программированию? Вместо Silverlight, например ...

Ответы [ 8 ]

18 голосов
/ 12 апреля 2010

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

9 голосов
/ 12 апреля 2010

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

8 голосов
/ 12 апреля 2010

Приложения, которые я запускаю сейчас:

  • Excel
  • Wireshark
  • 1008 * WinZip *
  • файловый менеджер
  • несколько консолей ssh ​​

Я не понимаю, какую выгоду любой из них (возможно, если бы не Excel), но если вы когда-нибудь пытались создать большую сводную таблицу с помощью html + ajax, вы просто раздражаете своих пользователей) в качестве веб-приложения. Люди делают много приложений с аналогичными потребностями. Также было бы глупо применять сетевое / веб-соединение для приложений, которые в этом не нуждаются.

Silverlight - это нечто среднее, я не уверен, что считаю его типичным «веб-приложением», скорее веб-развернутым приложением с некоторой изолированной программной средой - хотя различия становятся размытыми.

6 голосов
/ 12 апреля 2010

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

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

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

2 голосов
/ 12 апреля 2010

К настоящему времени

  • Настольное программное обеспечение работает быстрее (вам не нужно искать сеть для чтения / записи / обработки данных)

  • Доступ к оборудованию проще и предпочтительнее выполнять локально, потому что безопасность

  • Нет необходимости в подключении к Интернету (например, ноутбук, которому нужно подключиться к Интернету для прослушивания mp3 или просмотра ваших собственных фотографий, не будет быстрым и не достаточно приватным)

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

1 голос
/ 12 апреля 2010

Мне надоело постоянное разделение «веб-приложение против настольного приложения».

Нет такого понятия, как «веб-приложение» - HTML и JavaScript выполняются на вашем рабочем столе браузером; они просто доставляются по запросу, когда вы переходите по URL. Но даже это может быть неправдой, если они окажутся в кеше.

То, что люди обычно считают «веб-приложением», - это приложение, размещаемое в браузере, которое управляет ресурсами, размещенными в облаке; и довольно часто эта манипуляция включает в себя и код, выполняющийся на сервере.

Но ничто не мешает «настольному приложению» быть просто богатым интерфейсом для пользователя, манипулирующего облачными ресурсами. Достаточно взглянуть на всех клиентов Twitter для WPF, Air и Objective-C.

Кроме того, ничто не мешает вам предоставить размещенное в браузере приложение на основе HTML5 / JS, которое манипулирует только локальными ресурсами. Достаточно взглянуть на 3 канонических примера «веб-приложения» - Gmail и его возможности работать в автономном режиме без доступа к сети.

Не говоря уже о том, что со всеми достижениями в браузерах и платформах RIA (как Flash, так и Silverlight) - удаление хрома браузера, разделение вкладок в процессах, поддержка выполнения вне браузера, что считается «веб-приложением» «в настоящее время быстро переходит к чему-то, что лучше называть« легким настольным приложением »или« портативным настольным приложением ». : -)

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

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

1 голос
/ 12 апреля 2010

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

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

0 голосов
/ 12 апреля 2010

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

...