Поделиться через


Выбор между формами Windows Forms и веб-формами

Обновлен: Ноябрь 2007

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

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

В следующих разделах содержатся сведения о функциональных возможностях и производительности обоих типов технологий.

Когда использовать формы Windows Forms

Формы Windows Forms используются для разработки приложений, в которых клиентское приложение должно взять на себя значительную часть обработки, которой загружено приложение. Это относится к классическим настольным приложениям Win32, которые традиционно разрабатывались в предыдущих версиях Visual Basic и Visual C++. Примерами таких приложений являются приложения для рисования или графические приложения, системы ввода данных, системы для розничной торговли и игры.

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

Поскольку приложение Windows, использующее Windows Forms, разрабатывается на основе Windows, оно имеет доступ к системным ресурсам клиентского компьютера, в том числе к локальным файлам, реестру Windows, принтеру и т. д. Этот уровень доступа может быть ограничен для устранения любых возможных нарушений безопасности или проблем, возникающих вследствие нежелательного доступа. Кроме того, в Windows Forms можно воспользоваться графическими классами .NET FrameworkGDI+ при создании графического многофункционального интерфейса, который часто требуется для игровых приложений или приложений переноса данных.

Когда использовать веб-формы

Веб-формы ASP.NET используется для создания приложений, в которых интерфейс предназначен в основном для веб-обозревателя. Естественно, к таким приложениям относятся приложения, предназначенные для общего доступа через Интернет, такие как приложения для электронной торговли. Но веб-формы используются не только при создании веб-узлов. Многие другие приложения, такие как справочник о сотрудниках на основе интрасети или приложение для учета выплат, также прибегают к малофункциональному интерфейсу. Важное преимущество приложений на основе веб-форм заключается в том, что для их распространения не требуется никаких затрат. У всех пользователей уже установлено средство доступа к таким приложениям: веб-обозреватель.

Приложения с веб-формами не зависят от платформы, т. е. являются "расширенными" приложениями. Пользователи могут взаимодействовать с приложением вне зависимости от типа обозревателя и даже от типа компьютера. В то же время приложения веб-форм могут быть оптимизированы для получения доступа к функциональным возможностям, встроенным в самые последние версии обозревателей, таких как Microsoft Internet Explorer 6.0, для повышения производительности и удобства работы.

5t6z562c.alert_note(ru-ru,VS.90).gifПримечание.

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

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

Сравнение Windows Forms и веб-форм

В следующей таблице представлено сравнение различных особенностей приложений и их поддержке в Windows Forms и веб-формах.

Функция и условие

Формы Windows Forms

Веб-формы

Развертывание

Формы Windows Forms позволяют осуществлять "изолированное" развертывание с ClickOnce, при котором приложения можно загружать, устанавливать и запускать непосредственно на компьютерах пользователей без изменения реестра. Дополнительные сведения о ClickOnce см. в разделе Обзор развертывания ClickOnce.

У веб-форм нет развертывания клиентской части. Клиенту требуется только веб-обозреватель. На сервере должна быть запущена среда Microsoft .NET Framework. Обновления приложения выполняются путем обновления кода на сервере.

Графика

Windows Forms включают GDI+, что позволяет использовать сложную графику в играх и других многофункциональных графических средах.

При использовании веб-форм интерактивная или динамическая графика требует цикла обработки сервером для обновления. Для создания графики на сервере можно использовать GDI+.

Скорость отклика

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

При наличии у пользователей Internet Explorer 5 или более поздней версии приложение на основе веб-форм может воспользоваться возможностями динамического HTML (DHTML) обозревателя при создании многофункционального быстрого пользовательского интерфейса. При наличии у пользователей других обозревателей для большей части обработки (в том числе связанные с интерфейсом задачи, такие как проверка) требуется цикл обработки для веб-сервера, который может оказывать влияние на скорость отклика.

Управление размещением формы и текста

Сетка Windows Forms позволяет точно задать положение двумерного элемента управления (в координатах по горизонтали и вертикали) относительно других элементов управления.

Для отображения текста в Windows Forms требуется вставить его в элементы управления (например, в элемент управления Label, TextBox или RichTextBox). Форматирование ограничено.

Веб-формы основаны на построчной компоновке, характерной для языка HTML, и поддерживают все возможности разметки веб-страницы. Они особенно удобны при поддержке форматирования текста.

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

Платформа

Для Windows Forms необходимо запустить .NET Framework на клиентском компьютере.

Для веб-форм требуется только обозреватель. DHTML-совместимые обозреватели могут воспользоваться дополнительными возможностями, но веб-формы можно разработать для работы в любых обозревателях. На сервере должна быть запущена среда .NET Framework.

Доступ к локальным ресурсам (файловой системе, реестру Windows и т.д.)

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

Средства безопасности обозревателя не предоставляют приложению доступ к ресурсам локального компьютера.

Модель программирования

Windows Forms основаны на клиентском режиме работы Win32, в котором экземпляры компонентов создаются, используются и удаляются разработчиком.

Веб-формы основаны на существенно асинхронной отключенной модели, компоненты которой слабо связаны с интерфейсом приложения. Обычно компоненты приложения вызываются по протоколу HTTP. Эта модель может не подходить для приложений, требующих повышенной производительности пользовательского интерфейса или использующих транзакции с большим объемом. Аналогичным образом приложения с веб-формами могут не подходить для приложений баз данных, требующих высокого уровня управления параллельной работой (например, пессимистической блокировки).

Безопасность

В Windows Forms используются разрешения при реализации управления доступом для кода для защиты компьютерных ресурсов и конфиденциальных сведений. Это позволяет правильно использовать функциональные возможности одновременно с сохранением безопасности. Например, разрешение для печати, на одном уровне позволяющее печать только с принтера, установленного по умолчанию, на другом уровне позволяет печать с любого принтера. С помощью ClickOnce разработчики могут легко настроить разрешения, которые приложения должны получать в клиентской системе. Дополнительные сведения см. в разделе Развертывание и безопасность ClickOnce.

Проверка подлинности для получения доступа к ресурсам веб-приложения обычно управляется на основе URL-адреса путем проверки подлинности учетных данных (например, сочетания имени и пароля) запрашивающего. Веб-формы позволяют разработчикам управлять удостоверением пользователя, с учетной записью которого выполняется серверный код приложения. Приложения выполняют код с идентификацией запрашивающего объекта, известного как воплощение. Приложения также могут динамически изменять содержимое на основе идентификации или роли инициатора запроса. Например, руководитель может получить доступ к узлу или более высокий уровень содержимого, чем кто-либо с разрешениями более низкого уровня.

См. также

Основные понятия

Обзор развертывания ClickOnce

Ссылки

Общие сведения о Windows Forms