Я собираюсь написать приложение базы данных для лагеря, в котором я работаю. Я думаю о написании его на C# с интерфейсом графического интерфейса Windows, но с использованием браузера, поскольку приложение выглядит все более и более сложным по различным причинам. Мне интересно, почему кто-то не захочет писать приложение в качестве веб-приложения. Ex. Кнопка «Назад» может вызвать некоторые проблемы. Есть ли другие вещи, о которых можно подумать?Каковы недостатки веб-приложения
ответ
Есть много минусов:
- скорость и отзывчивость, как правило, значительно хуже
- Сложные виджеты UI (например, дерево управления) труднее сделать
- Оказание графики любого рода довольно сложно, 3D-графика еще сложнее
- Вы должны возиться с логинами
- централизованный сервер означает, что клиенты всегда нужен доступ к сети
- Ограничения безопасности может привести к вам неприятности
- Браузер несовместимость может вызвать много дополнительной работы
- конвенции UI менее хорошо -определенной в Интернете - пользователи могут найти труднее использовать
- хранилище на стороне клиента ограничена
вопрос .. действительно достаточно тех, применимы к вашему проекту т ake web - неправильный выбор?
Я собирался предположить, что автономный кеш HTML5 означает, что вам не нужно иметь доступ к сети для использования веб-приложения, а также не реагировать на проблемы, но потом я вспомнил, что IE всегда там, чтобы разрушить удовольствие. Хром-рамка - это лоскутное решение для этого, но это не идеально. – 2010-07-18 18:15:42
Мне было очень интересно, как рисование можно сделать в веб-приложении.Есть ли встроенный контроль холста? выполняется ли через все, что использует браузер пользователя для рисования? Я предполагаю, что directx и opengl непригодны для использования? Что можно использовать? как у веб-фреймворков есть типичный элемент управления listbox, treeview, который я бы использовал в WPF? – 2017-11-16 03:07:56
Необходимо иметь сетевой доступ к серверу, на котором будет находиться веб-приложение (если для приложения будет много пользователей, что обычно имеет место).
На самом деле, есть больше плюсов, чем минусов - если вы можете дать некоторые подробности о приложении, мы могли бы помочь немного больше ...
По сути реальные ограничения только через платформы, будучи браузер , Если вам приходится учитывать все используемые в настоящее время браузеры, которые могут быть болью из-за разных стандартов в каждом из них.
Если у вас есть контроль над тем, какой браузер использовать, то есть все находятся на компьютерах, которые вы контролируете на сайте, и говорите, что вы устанавливаете firefox для всех из них, вы могли бы использовать последние стандарты Javascript и CSS в полной мере в доставки вашего контента.
[edit] Вы также можете посмотреть параметры, такие как интегрированная среда выполнения adobe или «AIR», в качестве опции, позволяющей вам кодировать интерфейс с традиционными настройками на основе браузера, такими как xhtml/css/javascript, flash/flex и иметь бэкэнд подключен к вашей базе данных в Интернете, а также одновременно обеспечивает функциональность традиционного настольного приложения.
Это полностью зависит от требований вашего проекта. По большей части в настоящее время не так много веб-приложений, которые не могут быть выполнены. По общему признанию, некоторые приложения действительно принадлежат к рабочему столу в качестве браузеров (в то время как в настоящее время продвигаются и быстро), все еще пока не совсем. С момента появления таких приложений, как Google Docs, Gmail
Существует не так много, как в Интернете. Однако, если вы создаете конкурента World of Warcraft, сеть, безусловно, не является оптимальным решением. Опять же, к сожалению, нам нужно больше узнать о приложении, которое вы строите для лагеря. Лучшая часть веб-сайта - это то, что любой, кто имеет браузер, может использовать ваше приложение.
Обработка делегатов веб-приложений на удаленную машину. В зависимости от объема обработки это может быть con. Рассмотрим фоторедактор, который является веб-приложением.
Веб-приложения также не могут обрабатывать множество данных, поступающих взад и вперед от клиента. Вы можете смотреть видео онлайн .. когда он сжат. Пройдет некоторое время, прежде чем мы увидим любое программное обеспечение для редактирования видео в Интернете.
Совместимость с браузером - тоже хлопот. Вы не можете контролировать внешний вид приложения на 100%.
Вайбхав имеет хорошую точку. Какова ваша заявка?
Важнейшим временем для миграции является то, что пользователи не ожидают приложения, когда-либо, но в реальности он должен быть недоступен для крупных обновлений. Когда вы делаете это с помощью настольного приложения, пользователь (или администратор систем конечных пользователей) контролирует, когда происходят обновления; с онлайн-приложением, это не так.
Для приложений с большими данными производительность может быть серьезной проблемой при централизованном хранении большого количества данных пользователей, что означает, что производительность ввода-вывода не будет такой хорошей, как если бы вы дали им все ноутбук.
В целом масштабируемость дает проблемы для серверного приложения. Настольные приложения масштабируются очень хорошо.
Вы можете сделать очень много с веб-приложением, но это намного проще сделать определенные вещи с толстым клиентом:
- Performance: Вы получаете простой доступ к полной мощности из клиентский процессор.
- Отзывчивость: Интерактивность быстро и легко.
- Графика: вы можете легко использовать графические библиотеки, такие как DirectX и OpenGL, для создания быстрой впечатляющей графики.
- Работа с локальными файлами
- Peer-равному
Решение о том, подходит ли веб-приложение, зависит от того, чего вы пытаетесь достичь. Однако здесь некоторые более общие недостатки веб-приложения:
- Real интеграция с настольными приложениями (например, Outlook) невозможно
- Перетаскивания между приложением и настольными/другими запущенными приложениями
С веб-приложением больше проблем с конфиденциальностью, когда вы храните данные пользователя на своих серверах. Вы должны убедиться, что вы не потеряете/не раскрываете его, и ваши пользователи должны быть довольны идеей хранения этих данных на ваших серверах.
Кроме того, существует множество проблем с безопасностью, таких как атаки «Человек-в-середине», XSS или инъекции SQL.
Вам также необходимо убедиться, что у вас достаточно вычислительной мощности и пропускной способности.
Самая большая разница и недостаток, которые я вижу в веб-приложениях, - это управление государством. Поскольку Интернет, по своей природе, без гражданства, каждая вещь, которую вы хотите сохранить, должна быть отправлена туда и обратно с сервера с каждым запросом и ответом. Как эффективно хранить и извлекать его в зависимости от размера и производительности страницы, сложно делать время от времени. Также тот факт, что нет реальных стандартов (по крайней мере, не каждый, кто придерживается) для браузеров, делает последовательность действительно .......... забавой.
«Например, кнопка« Назад »может вызвать некоторые проблемы».
Вы должны быть конкретными в этом вопросе. Многие люди делают фундаментальные ошибки в своих веб-приложениях и вводят ошибки в том, как они обрабатывают транзакции. Если вы не используете «Перенаправление после публикации» (также известный как Post-Redirect-Get, проект PRG), то вы создали ошибку, которая появляется как проблема с кнопкой «Назад».
Полное заявление о том, что задняя кнопка в беде вряд ли будет правдой. В конкретном примере вам будет разъяснен ваш конкретный вопрос.
Это довольно раздражающе легкомысленно. Кажется, вы предлагаете: «О, конечно, никаких проблем с кнопкой« Назад », вы идиот». Это просто глупо. Указать, что кнопка «назад может вызвать проблемы», вряд ли то же самое, что «кнопка« Назад »невозможно решить!» – BobbyShaftoe 2008-12-17 23:18:59
Задняя кнопка действительно не такая уж большая проблема, если вы правильно разработали приложение. Вы можете использовать AJAX для управления частями текущей страницы без добавления элементов в историю браузера (поскольку сама страница не изменится).
Самая большая проблема с проектированием веб-приложений связана с состоянием и проблемами, которые необходимо запрограммировать. С настольным приложением состояние легко обрабатывается, вы можете оставить открытое соединение с базой данных, заблокировать запись и дождаться, когда пользователь внесет изменения и зафиксирует. С помощью веб-приложения вы можете заблокировать запись ... но тогда что, если пользователь закрывает браузер? Эти вещи необходимо преодолеть в дизайне вашего приложения.
При проектировании веб-приложения убедитесь, что каждая поездка на сервер «стоит отдельно» и дает полный ответ. Всегда повторяйте инициализацию переменных перед выполнением любой работы и никогда не принимайте что-либо. Одна из проблем, с которыми я столкнулся, - это перетащить «страницы» данных сетки обратно пользователю. В реальной загруженной системе с добавлением/изменением записи, происходящим в реальном времени, пользовательская навигация со страницы на страницу будет сильно различаться, иногда даже в результате просмотра одного и того же набора нескольких записей, поскольку новые добавления были добавлены перед запросом ,
Одна вещь, которая не упоминалась здесь, - это уровень сложности и знаний, необходимых для создания хорошего веб-приложения. Проблема заключается в том, что если вы не делаете что-то очень простое, в этих приложениях нет «единого» знания или технологии. Например, если вы должны были написать приложение для какой-либо платформы клиентского сервера .. вы можете разрабатывать Java или C++. Для сложного веб-приложения вам может потребоваться опыт работы с Java, Java Script, HTML, Flash, CSS, Ajax, SQL, J2EE и т. Д. Кроме того, компоненты веб-приложения также многочисленнее, веб-сервер приложений, HTTP Сервер, База данных, Браузер .. являются типичными компонентами, но может быть и больше. Приложение клиентского сервера является типичным, как говорится, клиентским приложением и серверным приложением. Мой опыт и личные предпочтения не основаны на Интернете. Веб-сайт отлично подходит для многих вещей. Но даже несмотря на то, что я являюсь ИТ-архитектором для ведущей компании, полностью выпущенной в Web Apps, как решение для всего ... Недостатки еще много. Я делаю то, что технология будет развиваться, и минусы будут уходить со временем, хотя ,
Конкретно. Дайте нам ситуацию, и мы могли бы рассказать вам, какими могут быть недостатки вашего будущего веб-клиента. – Dustman 2008-09-21 22:49:59