Просто интересно, что ваши комментарии касаются текущей тенденции, поскольку все перемещается в Интернет или даже в облако. Значение ОС или настольного приложения становится меньше внимания, чем веб-приложение. Поэтому тем людям, которые все еще разрабатывают приложения для Windows, такие как WPF. Зачем все еще это делать? Почему бы не перейти к веб-программированию? Silverlight вместо, например ...Зачем разрабатывать приложения в Windows/Desktop?
ответ
Потому что есть еще уровни безопасности и интерактивности, что вы можете поставить с настольными приложениями, а не веб-приложением.
Не существует прямого отключения между настольными приложениями и веб-разработкой/облаком. Является ли слой пользовательского интерфейса веб-сайтом или приложением, облако может по-прежнему поддерживать ваше приложение. Я думаю, что тонкие клиенты растут, из которых RIA-технологии, такие как Silverlight, - всего лишь один фасилитатор.
При этом некоторые задачи имеют смысл делать локально. Если бы мне пришлось подключиться к облаку для создания моих консольных java-приложений, я был бы очень расстроен.
Одна из причин - производительность. Веб-приложения всегда будут работать в песочнице и не будут иметь полный доступ к собственным ресурсам. Таким образом, они не могут быть такими быстрыми, как настольные приложения. Это очень важно для таких приложений, как IDE, CAD-системы и игры.
К настоящему времени
программное обеспечение Desktop быстрее (вам не нужно идти в сеть для чтения/записи данных/процесса)
Оборудование доступа проще и предпочтительнее выполнять локально, потому что безопасность
Не нужно подключение к Интернету может быть хорошим (например, ноутбук, который должен подключиться к Интернету для прослушивания mp3 или просмотра собственных фотографий, не будет более быстрым, не достаточно личным)
Perhap один дня будет предпочтительнее и быстрее облако, чем локальное хранилище, но всякий раз, когда мы искали стенд в одиночку, безаварийность или минимализм, мы должны быть отсоединены
Мы (разработчики) должны помнить, что какая-то система «может существовать» отключена, потому что хорошо, что холодильник имеет доступ в Интернет, но, возможно, это не обязательно –
приложения Я работает прямо сейчас:
- первенствует
- Wireshark
- WinZIP менеджер
- файл
- несколько SSH consolees
Я не вижу, какую пользу любой из них (возможно, бар Excel - но если вы когда-нибудь пытались сделать большую сводную таблицу с HTML + Ajax, вы просто раздражает пользователи) будет иметь веб-приложение. Люди делают много приложений с аналогичными потребностями. Также было бы глупо применять сетевое/веб-соединение для приложений, которые им не нужны.
Silverlight - это нечто среднее между собой, я не уверен, что считаю это типичным «веб-приложением», более развернутым веб-приложением с некоторой песочницей, хотя различия размыты.
Хорошо разработанное настольное приложение, как правило, будет значительно более удобным, чем хорошо разработанное веб-приложение. Это связано с тем, что веб-приложение ограничено тем, что разрешено браузером, ограниченным тем фактом, что браузер имеет элементы управления (кнопки панели инструментов, меню и т. Д.), Которые не связаны с приложением, ограниченные задержкой, присущей сети, и т. д.
Для многих типов проблем это не важно, а преимущества веб-приложения превышают проблемы удобства использования. Но, по крайней мере, с состоянием браузера сегодня, очень немногие веб-приложения могут дополнять настольное приложение в областях удобства использования и быстроты реагирования.
Под «веб-приложением» я имею в виду тот, чей пользовательский интерфейс основан на браузере и который взаимодействует с моделью данных, которая в значительной степени связана с сетью. Под «настольным приложением» я подразумеваю, что вы используете собственные элементы управления, взаимодействуя с локальной моделью данных или один в локальной сети.
Это зависит от окружающей среды. Ожидается, что корпоративный пользователь будет в режиме онлайн в любое время, в то время как кто-то из дома может не подключаться постоянно. Кроме того, у вас есть различные проблемы безопасности, проблемы с управлением и обновлениями, с которыми вы сталкиваетесь в каждом приложении. В бизнес-среде веб-приложения великолепны, потому что вы можете обновлять приложение один раз, и каждый сразу видит это изменение. Сейчас я делаю этот вид работы. Но большинство приложений - это веб-приложения, управляемые данными. Для чего-то графического или процессорного, вы хотели бы работать на уровне рабочего стола (как, например, несколько других людей, упомянутых выше).
Настольные приложения могут сразу обновляться. –
Я устал от непрерывного разделения «веб-приложения и настольного приложения».
Нет такой вещи, как «веб-приложение» - HTML и JavaScript выполняются на вашем рабочем столе браузером; они просто оказываются доставленными по требованию при навигации по URL-адресу. Но даже это может быть неверно, если они попадают в кеш.
Что люди обычно считают «веб-приложением» - это приложение, работающее с браузером, которое управляет ресурсами, размещенными в облаке; и довольно часто эта манипуляция происходит с использованием кода, запущенного на сервере.
Но нет ничего, что помешало бы «настольному приложению» быть просто богатым интерфейсом для пользователя, управляющего облачными ресурсами. Посмотрите на всех клиентов WPF, Air и Objective-C Twitter там.
Кроме того, нет ничего, что помешает вам предоставить приложение на базе HTML5/JS, основанное на браузере, которое управляет только локальными ресурсами. Просто посмотрите на канонический пример 3 «веб-приложения» - Gmail и возможность работать в автономном режиме без доступа к сети.
Не говоря уже о том, что со всеми достижениями в браузерах и платформах RIA (как Flash, так и Silverlight) - удаление браузера chrome, разделение вкладок в процессах, поддержка внеуровневого исполнения, что считается «веб-сайтом» приложение "в настоящее время быстро переходит к чему-то, что вам лучше назвать« легким настольным приложением »или« портативным настольным приложением ». :-)
Настоящее подразделение - «богатые приложения» и «приложения для достижения». Разработчики могут вкладывать значительные средства в реализацию богатого приложения, которое в значительной степени зависит от возможностей конкретной платформы для обеспечения уровня пользовательского опыта, который не может быть реализован иначе. Или они могут захотеть вложить значительные средства в реализацию приложения, целью которого является охват как можно большего числа пользователей, на как можно большем числе платформ, и они готовы ограничить опыт пользователей определенными способами в пользу проникновения.
В этом контексте вы станете спорным. Выбор уровня представления полностью ортогонален по выбору местоположения ресурсов, которыми управляет ваше приложение.
Для downvoters - я действительно хочу услышать, с чем именно вы не согласны в моем ответе. И я хочу услышать определение «веб-приложения» и «настольного приложения», а также точная граница между ними. –
Я проигнорировал, потому что ваш ответ звучит скорее как разглагольствование, а не конструктивное решение вопроса. Понятие «веб-приложение» и «настольное приложение» довольно хорошо известно большинству технологов. Заявить, что нет никакого различия, может быть сделано для интересного сообщения в блоге, но он не отвечает на вопрос, который был задан. –
@ Брайан Оукли - да, это напыщенная речь. Но это также ответ - в настоящее время нет разницы между веб-сайтом и настольным компьютером. Особенно с последними разработками в Windows 8, где преобладающей технологией создания настольных приложений для погружающейся оболочки является [gasp!] HTML5 и JS. –
- 1. Зачем создавать/разрабатывать/перед каждым привязкой link_to?
- 2. Как разрабатывать приложения для facebook?
- 3. Как разрабатывать приложения для Android?
- 4. Как разрабатывать приложения для Windows
- 5. Как разрабатывать приложения для Android?
- 6. Зачем разрабатывать приложение в 2.3.3 API для Galaxy S3?
- 7. Как разрабатывать приложения Xamarin в Windows 7
- 8. Как разрабатывать приложения IronPython на Mono?
- 9. Как разрабатывать приложения для Android/платформы Android
- 10. Как разрабатывать приложения JavaFX с Openjdk?
- 11. Как разрабатывать приложения Blackberry на Mac OS?
- 12. Как разрабатывать приложения для Windows Mobile 6.5
- 13. Узнайте, как разрабатывать приложения с графическим интерфейсом
- 14. Как разрабатывать приложения для XBox One?
- 15. Как разрабатывать кордовые приложения для Jelly Bean?
- 16. Как разрабатывать оконные приложения на PHP?
- 17. Начните разрабатывать гоночную игру
- 18. Как разрабатывать мобильные приложения в Zend Studio 10
- 19. Как разрабатывать приложения с Докер, которые находятся в отдельных хранилищах
- 20. Как разрабатывать приложения OpenGL ES (GLES) 2.0 в Linux?
- 21. Безопасно ли разрабатывать ViewPager?
- 22. Как можно разрабатывать приложения для iPhone на Java?
- 23. Стоит ли изучать Silverlight и разрабатывать приложения, используя это?
- 24. Как продуктивно разрабатывать системные приложения на платформе Android Marshmallow?
- 25. Можем ли мы по-прежнему разрабатывать приложения Silverlight 2
- 26. Возможно изменение динамически разрабатывать конфигурацию без перезагрузки приложения?
- 27. Могу ли я разрабатывать приложения для Android с помощью gwt?
- 28. Когда я начинаю разрабатывать Java-приложения Что нужно делать?
- 29. Можно ли разрабатывать приложения для iPhone без использования конструктора интерфейса?
- 30. Как разрабатывать приложения для Android-телевизора (KitKat и ниже)?
Это, вероятно, должно быть отмечено как вики сообщества. – vfilby