Мне надоело постоянное разделение «веб-приложение против настольного приложения».
Нет такого понятия, как «веб-приложение» - HTML и JavaScript выполняются на вашем рабочем столе браузером; они просто доставляются по запросу, когда вы переходите по URL. Но даже это может быть неправдой, если они окажутся в кеше.
То, что люди обычно считают «веб-приложением», - это приложение, размещаемое в браузере, которое управляет ресурсами, размещенными в облаке; и довольно часто эта манипуляция включает в себя и код, выполняющийся на сервере.
Но ничто не мешает «настольному приложению» быть просто богатым интерфейсом для пользователя, манипулирующего облачными ресурсами. Достаточно взглянуть на всех клиентов Twitter для WPF, Air и Objective-C.
Кроме того, ничто не мешает вам предоставить размещенное в браузере приложение на основе HTML5 / JS, которое манипулирует только локальными ресурсами. Достаточно взглянуть на 3 канонических примера «веб-приложения» - Gmail и его возможности работать в автономном режиме без доступа к сети.
Не говоря уже о том, что со всеми достижениями в браузерах и платформах RIA (как Flash, так и Silverlight) - удаление хрома браузера, разделение вкладок в процессах, поддержка выполнения вне браузера, что считается «веб-приложением» «в настоящее время быстро переходит к чему-то, что лучше называть« легким настольным приложением »или« портативным настольным приложением ». : -)
Реальное разделение - «богатые приложения» и «расширенные приложения». Разработчики могут вкладывать значительные средства в реализацию многофункционального приложения, которое в значительной степени зависит от возможностей конкретной платформы для обеспечения уровня пользователя опыт, который не может быть реализован иначе. Или же они могут захотеть вложить значительные средства в реализацию приложения, которое нацелено на максимально возможное количество пользователей, на максимально возможном количестве платформ и желающих ограничить взаимодействие с пользователем определенными способами в пользу проникновения.
В этом контексте ваш вопрос становится спорным. Выбор уровня представления полностью ортогональн по сравнению с выбором расположения ресурсов, которыми манипулирует ваше приложение.