Auswählen zwischen Windows Forms und Web Forms

Aktualisiert: November 2007

Wenn Sie Anwendungen mit einer Benutzeroberfläche entwickeln, können Sie entweder Windows Forms oder Web Forms verwenden. Beide verfügen über eine vollständige Entwurfszeitunterstützung in der Entwicklungsumgebung und ermöglichen die Bereitstellung einer umfangreichen Benutzeroberfläche und einer erweiterten Anwendungsfunktionalität, um Geschäftsprobleme zu lösen. Aufgrund dieser Featureparität ist es mitunter schwierig, zu entscheiden, welche Technologie für eine bestimmte Anwendung geeignet ist.

Bestimmte Anwendungsüberlegungen können die Auswahl erleichtern. Wenn Sie beispielsweise eine E-Commerce-Website erstellen, die im Internet öffentlich verfügbar ist, würden Sie die Anwendung mithilfe von Web Forms-Seiten entwickeln. Wenn Sie eine verarbeitungsintensive Anwendung mit hoher Reaktionsgeschwindigkeit erstellen, von der die Funktionalität des Clientcomputers vollständig genutzt werden muss, z. B. eine Produktivitätsanwendung für Büros, würden Sie Windows Forms verwenden. In anderen Fällen ist die Wahl u. U. nicht so offensichtlich.

In den folgenden Abschnitten werden die Features und Merkmale der jeweiligen Technologien erläutert, damit Sie entscheiden können, welche für die Anwendung am besten geeignet ist.

Verwendungsmöglichkeiten von Windows Forms

Sie entwickeln Anwendungen mit Windows Forms, wenn die Clientanwendung einen Großteil der Verarbeitungslast in einer Anwendung übernehmen soll. Diese Clientanwendungen umfassen Win32-Desktopanwendungen, die normalerweise in früheren Versionen von Visual Basic und Visual C++ entwickelt wurden. Beispiele dafür sind Zeichen- oder Grafikanwendungen, Dateneingabesysteme, Kassenterminalsysteme und Spiele.

Diese Anwendungen sind bei der Verarbeitung und der leistungsstarken Inhaltsanzeige auf die Leistung des Desktopcomputers angewiesen. Einige Anwendungen mit Windows Forms sind u. U. völlig unabhängig. Die gesamte Anwendungsverarbeitung wird auf dem Computer des Benutzers durchgeführt. Spiele werden oft auf diese Weise geschrieben. Andere Anwendungen stellen u. U. einen Teil eines größeren Systems dar und setzen den Desktopcomputer primär für die Verarbeitung von Benutzereingaben ein. Für ein Kassenterminalsystem z. B. ist häufig eine anspruchsvolle Benutzeroberfläche mit hoher Reaktionsgeschwindigkeit erforderlich, die auf dem Desktopcomputer erstellt wird. Diese ist jedoch mit anderen Komponenten verknüpft, von denen Back-End-Verarbeitung durchgeführt wird.

Da Sie eine Windows-Anwendung mit Windows Forms um ein Windows-Framework erstellen, kann die Anwendung auf Systemressourcen des Clientcomputers zugreifen, einschließlich lokaler Dateien, der Windows-Registrierung, des Druckers usw. Diese Zugriffsebene kann beschränkt werden, um durch nicht gewünschten Zugriff entstehende Sicherheitsrisiken oder mögliche Probleme zu vermeiden. Zusätzlich können mit Windows Forms GDI+-Grafikklassen von .NET Framework verwendet werden, um eine graphisch umfangreiche Oberfläche zu erstellen. Eine solche wird häufig in Datamining- oder Spieleanwendungen verwendet.

Verwendungsmöglichkeiten von Web Forms

Mit ASP.NET-Web Forms können Sie Anwendungen erstellen, die im Wesentlichen über eine Browserbenutzeroberfläche verfügen. Dies schließt natürlich Anwendungen ein, die über das World Wide Web öffentlich zugänglich sind, z. B. E-Commerce-Anwendungen. Web Forms sind jedoch nicht nur für das Erstellen von Websites hilfreich. Ein Thin-Front-End bietet noch viele andere Anwendungsmöglichkeiten, z. B. intranetbasierte Mitarbeiterhandbücher oder Anwendungen für die Verwaltung von Arbeitgeberleistungen. Ein wichtiger Vorteil einer Web Forms-Anwendung besteht darin, dass keine Verteilungskosten anfallen. Die Benutzer haben bereits die einzige Anwendungskomponente installiert, die sie benötigen, nämlich den Browser.

Web Forms-Anwendungen sind plattformunabhängig, d. h. es sind systemübergreifende Anwendungen. Die Interaktion mit Benutzern ist unabhängig davon möglich, welchen Browsertyp sie verwenden, und sogar davon, welchen Computertyp sie verwenden. Gleichzeitig können Web Forms-Anwendungen optimiert werden, um die Features zu verwenden, die in die meisten neueren Browser wie Microsoft Internet Explorer 6.0 integriert sind. Damit können die Leistung und die Reaktionsgeschwindigkeit verbessert werden.

Hinweis:

In vielen Fällen ist diese Optimierung in den verwendeten Web Forms-Komponenten integriert. Diese Komponenten können automatisch Browserebenen erkennen und Seiten dementsprechend ausgeben.

Web Forms-Anwendungen bieten einige Features, die auch in anderen Bereichen als dem Web hilfreich sind. Da sie auf HTML beruhen, sind Web Forms-Anwendungen für textintensive Anwendungen aller Art geeignet, vor allem für solche, in denen Textformatierung wichtig ist. Während browserbasierte Anwendungen für gewöhnlich beschränkten Zugriff auf die Systemressourcen der Benutzer ermöglichen, können Web Forms-Anwendungen aufgrund dieser Einschränkung hilfreich sein, wenn Sie verhindern möchten, dass Benutzer auf Teile der Anwendung zugreifen.

Vergleich von Windows Forms und Web Forms

In der folgenden Tabelle werden verschiedene Anwendungskriterien und die entsprechende Vorgehensweise von Windows Forms- und Web Forms-Technologien in einem Vergleich nebeneinander aufgeführt.

Funktion/Kriterium

Windows Forms

Web Forms

Bereitstellung

Windows Forms ermöglichen eine "änderungsfreie" Bereitstellung mit ClickOnce, bei der Anwendungen gedownloadet, installiert und direkt auf dem Computer des Benutzers ausgeführt werden können. An der Registrierung müssen keine Änderungen vorgenommen werden. Weitere Informationen zu ClickOnce finden Sie unter Übersicht über die ClickOnce-Bereitstellung.

Web Forms enthalten keine Clientbereitstellung. Für den Client ist lediglich ein Browser erforderlich. Auf dem Server muss Microsoft .NET Framework ausgeführt werden. Aktualisierungen von Anwendungen werden durch Aktualisieren von Code auf dem Server durchgeführt.

Grafiken

Windows Forms umfassen GDI+ für anspruchsvolle Grafiken für Spiele und andere äußerst komplexe grafische Umgebungen.

Für Aktualisierungen interaktiver oder dynamischer Grafiken, die in Web Forms verwendet werden, sind Schleifen zum Server erforderlich. GDI+ kann auf dem Server verwendet werden, um benutzerdefinierte Grafiken zu erstellen.

Reaktionszeit

Windows Forms können vollständig auf dem Clientcomputer ausgeführt werden. Für Anwendungen, für die ein hoher Grad an Interaktivität erforderlich ist, werden von ihnen die höchsten Reaktionsgeschwindigkeiten bereitgestellt.

Wenn Benutzer Internet Explorer 5 oder höher verwenden, können von einer Web Forms-Anwendung die DHTML (Dynamic HTML)-Fähigkeiten des Browsers genutzt werden, um eine umfangreiche Benutzeroberfläche (UI) mit hoher Reaktionsgeschwindigkeit zu erstellen. Wenn Benutzer andere Browser verwenden, ist für den größten Teil der Verarbeitung, einschließlich UI-bezüglicher Aufgaben wie die Validierung, eine Schleife zum Server erforderlich. Hierdurch kann die Reaktionsgeschwindigkeit beeinflusst werden.

Formular- und Textflusssteuerung

Die Rasterpositionierung von Windows Forms ermöglicht eine präzise zweidimensionale Steuerung (x- und y-Koordinaten) der Steuerelementplatzierung.

Zur Anzeige von Text auf Windows Forms fügen Sie den Text in Steuerelemente ein (z. B. in die Steuerelemente Label, TextBox oder RichTextBox). Formatierungen sind nur in beschränktem Umfang möglich.

Web Forms basieren auf dem Flusslayout im Stil von HTML. Daher werden alle Features des Webseitenlayouts unterstützt. Sie bieten eine besonders umfangreiche Unterstützung für die Textformatierung.

Das Steuerelementlayout kann mit einigen Einschränkungen, z. B. keine überlappenden Steuerelemente, entsprechend verwaltet werden. Wenn die Benutzer DHTML-fähige Browser verwenden, ist mit zweidimensionalem Layout mit x- und y-Koordinate ein viel genaueres Layout möglich.

Plattform

Windows Forms setzen voraus, dass .NET Framework auf dem Clientcomputer ausgeführt wird.

Für Web Forms ist lediglich ein Browser erforderlich. Mit DHTML-fähigen Browsern können zusätzliche Features genutzt werden. Web Forms können aber so entworfen werden, dass sie mit allen Browsern zusammenwirken. Der Webserver muss .NET Framework ausführen.

Zugriff auf lokale Ressourcen (Dateisystem, Windows-Registrierung usw.)

Wenn Anwendungen zugelassen sind, verfügen sie über einen vollständigen Zugriff auf lokale Computerressourcen. Die Anwendung kann bei Bedarf hinsichtlich der Verwendung bestimmter Ressourcen gezielt eingeschränkt werden.

Durch Browsersicherheit wird verhindert, dass ein Zugriff der Anwendung auf Ressourcen des lokalen Computers erfolgt.

Programmiermodell

Windows Forms basieren auf einer clientseitigen Win32-Meldungsverteilschleife, mit der Entwickler Komponenteninstanzen erstellen, verwenden und verwerfen.

Web Forms sind auf ein großenteils asynchrones getrenntes Modell angewiesen, in dem die Komponenten lose mit dem Front-End der Anwendung verknüpft sind. In der Regel werden Anwendungskomponenten über HTTP aufgerufen. Für Anwendungen, für die ein extrem hoher Durchsatz von der Benutzerseite erforderlich ist oder von denen Transaktionen mit großem Umfang durchgeführt werden, ist dieses Modell u. U. nicht geeignet. Entsprechend sind Web Forms-Anwendungen u. U. nicht für Datenbankanwendungen geeignet, für die hohe Ebenen von Parallelitätssteuerung erforderlich sind, wie vollständiges Sperren.

Sicherheit

Bei der Implementierung der Codezugriffssicherheit von Windows Forms werden Berechtigungen verwendet, um Computerressourcen und vertrauliche Informationen zu schützen. Dadurch wird das vorsichtige Bereitstellen von Funktionalität unter Beibehalten der Sicherheit ermöglicht. Beispielsweise kann durch die Druckberechtigung, durch die auf einer Ebene nur das Drucken mit dem Standarddrucker zulässig ist, auf einer anderen Ebene das Drucken auf allen Druckern zulässig sein. Mit ClickOnce können Entwickler mühelos konfigurieren, welche Berechtigungen die Anwendungen vom Client fordern sollten. Weitere Informationen hierzu finden Sie unter ClickOnce-Bereitstellung und Sicherheit.

Die Autorisierung des Zugriffs auf die Ressourcen einer Webanwendung wird in der Regel pro URL gesteuert, indem die Anmeldedaten des Anfordernden, z. B. ein Name/Kennwort-Paar, authentifiziert werden. Durch Web Forms sind Entwickler in der Lage, die Identität zu steuern, unter der Serveranwendungscode ausgeführt wird. Anwendungen können Code mit der Identität der anfordernden Entität ausführen. Dies ist als Identitätswechsel bekannt. Inhalt kann von Anwendungen ebenfalls dynamisch an die Identität oder Rolle des Anfordernden angepasst werden. Beispielsweise könnte ein Manager Zugriff auf eine Site oder eine höhere Ebene von Inhalt als Personen mit geringeren Berechtigungen erhalten.

Siehe auch

Konzepte

Übersicht über die ClickOnce-Bereitstellung

Referenz

Übersicht über Windows Forms