Когда выбирать между веб-интерфейсом и собственным GUI?
Многие приложения (особенно сети, например, совместное использование файлов, программа запросов sql, некоторые многопользовательские игры), как мы знаем сегодня, могут быть легко предоставлены с помощью веб-интерфейса.
Мой вопрос в том, когда я должен сделать приложение доступным с помощью браузера?
Когда будет разумно использовать настольное приложение, создаваемое с использованием таких интерфейсов, как Qt, Visual Basic и т.д.
Ответы
Ответ 1
Нет общего ответа на этот вопрос. Это зависит от некоторых факторов:
- Целевая группа . Широко распространена или объединена?
- Портативность. На каких платформах работают ваши пользователи?
- Производительность. Многое нужно? Если да, то настольное приложение будет лучше. Я не могу представить программное обеспечение для редактирования видео, работающее в браузере. Может быть, через 10 лет:)
- и многое другое, которые необходимо выяснить индивидуально
Но тенденция явно идет на веб-приложения. Вы можете связаться с довольно много людей с ними.
Ответ 2
Некоторые точки для веб-интерфейса:
- Когда программа должна быть
с другого компьютера на
сеть
- Когда более быстрое развитие
требуется скорость (обычно быстрее писать html/javascript, чем Qt/Gtk и т.д.)
- Чтобы программа была перекрестной
совместимая платформа
Ответ 3
Я все больше полагаю, что мы должны использовать интерфейсы на основе веб-интерфейса, javascript (или flex) по умолчанию. Это означает, что в образе приложения намного меньше кода, плюс он позволяет использовать одну базу кода, которая делает что-то хорошо, более чем несколько, что может сделать это менее эффективно.
Если вы создаете веб-интерфейс для начала, вам никогда не понадобится отдельный проект для создания веб-интерфейса.
С современными браузерами, javascript и ajax и javascript-библиотеками вы можете создать чрезвычайно богатый интерфейс, который можно легко изменить.
Ответ 4
Я думаю, что это неправильный вопрос. Что вам нужно сделать, это проанализировать различия между платформами и то, как они влияют на вашу организацию. Чтобы дать вам пример в реальном мире.
Я работал в небольшой компании, которая только когда-либо создавала веб-приложения. Одно из приложений не было успешным, отчасти потому, что у нас было много пользователей коммутируемого доступа и нужна автономная поддержка.
Компания пошла вперед и разработала клиентское приложение .net, и они получили грубое пробуждение. Компания не была готова к сложности развертывания для любого количества клиентских конфигураций. Например, мы получили от Novell Networks. Они не были готовы к увеличению стоимости поддержки клиентской заявки. (И да, развитие предостерегло и пыталось предупредить их, что это значит).
Таким образом, вы не только должны задавать различные вопросы, но и оценивать их в контексте организации, производящей программное обеспечение.
Вещи, которые следует задать, включают:
- Во-первых, и formost может ли ваше приложение работать как веб-приложение? Некоторые приложения просто возможны. если вам нужен доступ к ресурсам низкого уровня, у вас не будет много вариантов.
- Можете ли вы предоставить материальные затраты на клиентское программное обеспечение? Если это распределенное приложение, что происходит, когда вы обновляете сервер, но обновляете его.
- Можете ли вы поддержать клиента?
- Каков опыт создания команды? Это огромное ИМХО. Независимо от того, насколько хороша команда при создании веб-приложений, они будут ошибаться в выполнении клиентских приложений, которые не был бы опытным клиентским разработчиком.
Ответ 5
Только для настольного приложения, если вы можете управлять средой (интрасети) или программой в среду (кросс-платформенная версия), в которой будет работать этот пакет/приложение.
В настоящее время мы смотрим на тренд, все идет внутри браузеров, и мы получаем одинаково хорошее взаимодействие по сравнению с настольным приложением. Кроме того, только для запуска приложения требуется только браузер, который всегда хорош, и мы можем просто спросить пользователя чтобы иметь правильную версию, и он все настроен на ее использование.
Ответ 6
По моему опыту, я обнаружил, что веб-приложениям обычно требуется немного больше времени для разработки, но есть некоторые преимущества при разработке веб-приложения.
- Вам не нужно развертывать веб-приложения
- Люди часто чаще используются для использования веб-браузера, чем для пользовательского приложения, поэтому обычно приложение получает прибыль usiblility
- Обычно пользователям проще искать то, что они ищут в веб-приложении из-за интерфейса.
- Вам нужно только протестировать несколько браузеров, и вам не придется тестировать множество конфигураций клиентов, которые могут конфликтовать.
- В веб-приложении вам не нужно заботиться о том, какую операционную систему может использовать клиент. Например, предположим, что ваша компания решает переместить настольные компьютеры в Linux, вам не придется создавать новую версию.
Вам нужно разработать настольное программное обеспечение, если вам нужно что-то быстро развиваться или вам нужны интерфейсы производительности/реагирования (веб-сервер все еще медленнее, чем рабочий стол), или если вы разрабатываете что-то, что невозможно сделать в Интернете (подумайте о графике программное обеспечение/сложные игры).
Ответ 7
Чтобы разработать приложение, лучше всего разбить код клиента и сервера. В настольном приложении это обычно не так. Клиентский код, который обрабатывает взаимодействие с пользователем, интегрируется с кодом сервера, который обрабатывает пользовательские команды. Однако это не обязательно, просто разделите код и обменивайтесь данными по TCP/IP.
Следующий вопрос: должен ли ваш клиентский код запускаться в браузере или как собственный GUI. Для меня собственный GUI лучше по ряду причин:
- работает быстрее
- тот же язык программирования для кода клиента и сервера
- меньше зависит от изменения компонентов программного обеспечения: браузер, html, css, веб-сервер
Большинство графических интерфейсов являются многоплатформенными.
Единственным недостатком является то, что вам необходимо установить клиентское программное обеспечение на компьютер. Если вы хотите избежать этого, установите клиент на сервер и получите доступ через программы сервера терминалов, например, Citrix.
Конечно, если приложение используется очень редко его пользователями, то веб-приложение является наиболее полезным.
Крупные компании-разработчики программного обеспечения потратили миллионы на изменение своего графического интерфейса в Интернете без добавления дополнительных функций в свои приложения. В большинстве случаев интерфейс стал более примитивным. Так что это была огромная трата денег, которая все еще продолжается. Поэтому не всегда следуйте стаду.
Ответ 8
Если пользовательский интерфейс вашего приложения может быть реализован как хорошо управляемый веб-сервис/приложение, вам следует серьезно рассмотреть его как вариант.
Самое большое преимущество пользовательского интерфейса, которое может работать в браузере, независимо от клиентской ОС. Большинство пользователей компьютеров сегодня имеют более одного компьютера, обычно подключенного в сети. Распространение различных операционных систем растет с каждым днем (альтернативы окнам становятся все более крупными). Таким образом, вы получаете максимальную мобильность пользовательского интерфейса. Ваше приложение можно запустить один раз на одном компьютере и получить доступ из любого места.