Formularze Web Forms — wprowadzenie

advertisement
Formularze Web Forms — wprowadzenie
Formularze Web Forms umożliwiają tworzenie programowalnych stron internetowych, służących jako interfejs
użytkownika aplikacji internetowych. Informacje zawarte na stronie Web Form mogą być wyświetlane przy
użyciu dowolnej przeglądarki internetowej lub urządzenia klienckiego. Logika aplikacyjna implementowana jest
w kodzie wykonywanym po stronie serwera. Postać wynikowa strony Web Forms może zawierać dowolne języki
zgodne z HTTP, w tym HTML, XML, WML i ECMAScript (JScript, JavaScript).
Strony Web Forms charakteryzują się następującymi cechami:

są oparte na technologii Microsoft ASP.NET — kod uruchamiany po stronie serwera dynamicznie generuje
postać wynikową strony internetowej i wysyła ją do przeglądarki internetowej lub urządzenia klienckiego
(więcej informacji na temat ASP.NET znajduje się w artykule Podstawy technologii ASP.NET,

są kompatybilne z dowolną przeglądarką internetową lub urządzeniem przenośnym — strona Web Forms dla
elementów takich jak style czy układ automatycznie tworzy prawidłowy kod HTML, zgodny z daną
przeglądarką. Możliwe jest także projektowanie stron Web Forms dedykowanych dla określonej wersji
przeglądarki (np. Microsoft Internet Explorer 5) i wykorzystanie pełnych możliwości danej przeglądarki,

są kompatybilne ze wszystkimi językami obsługiwanymi przez wspólne środowisko uruchomieniowe .NET,
w tym przez Microsoft Visual Basic, Microsoft Visual C# oraz Microsoft JScript .NET,

są oparte na platformie Microsoft .NET Framework. Umożliwia to wykorzystanie wszystkich zalet platformy,
w tym zarządzanego środowiska wykonywania, bezpieczeństwa typów czy dziedziczenia obiektów,

są obsługiwane przez Visual Studio — silne środowisko szybkiego projektowania aplikacji, zawierające
narzędzia do projektowania i programowania formularzy,

można je rozszerzać z użyciem kontrolek obsługujących projektowanie stron internetowych w trybie RAD, co
pozwala na szybkie tworzenie zaawansowanych interfejsów użytkownika,

są elastyczne, ponieważ można je rozszerzać z wykorzystaniem kontrolek tworzonych przez użytkownika lub
dostarczanych przez firmy trzecie.
Składniki stron Web Forms
Programowanie interfejsu użytkownika zostało podzielone na dwie niezależne części — projektowanie grafiki
i projektowanie logiki. Technika ta jest bardzo podobna do sposobu rozdzielenia widocznej części formularza od
kodu tego formularza, znanego z poprzednich wersji Visual C++ i Visual Basic.
Widoczna część formularza, zwana stroną Web Forms, to albo plik zawierający statyczny kod HTML, albo
kontrolki serwerowe ASP.NET albo obydwa te elementy.
Strona Web Forms to kontener dla statycznego tekstu i kontrolek. Kreator Web Forms Designer w Visual Studio
i kontrolki serwerowe ASP.NET pozwalają na projektowanie formularzy w taki sam sposób, jak w dowolnych
innych aplikacjach Visual Studio. Więcej informacji na ten temat można znaleźć w artykule Kontrolki stosowane
na stronach Web Forms.
Logika strony Web Forms to kod służący do interakcji z tym formularzem. Logika przechowywana jest
w niezależnym od pliku interfejsu użytkownika pliku o rozszerzeniu .aspx.vb lub .aspx.cs. Kod zapisany w tym
pliku zwany jest „kodem schowanym”. Logika pliku z kodem schowanym może być zapisana w języku Visual
Basic lub Visual C#.
Struktura formularza Web Forms
Podczas kompilacji projektu, na podstawie plików kodu schowanego wszystkich stron Web Forms projektu,
tworzona jest biblioteka dołączana dynamicznie (.dll). Pliki .aspx także są kompilowane, ale w inny sposób.
Podczas obsługi pierwszego żądania wyświetlenia danej strony, ASP.NET automatycznie generuje klasę .NET
reprezentującą tę stronę i kompiluje ją do drugiego pliku .dll. Klasa wygenerowana na podstawie pliku .aspx
dziedziczy po klasie zdefiniowanej w pliku kodu schowanego, znajdującej się w pliku .dll utworzonym podczas
kompilacji projektu. Gdy użytkownik żąda wyświetlenia strony o danym adresie URL, serwer uruchamia pliki .dll
w celu wygenerowania wynikowego kodu HTML tej strony. Więcej informacji — Przetwarzanie stron Web Forms.
Więcej informacji na temat konstrukcji stron Web Forms znaleźć można w artykule pod tytułem Model kodu
formularzy Web Forms.
Korzyści ze stosowania stron Web Forms
Programowanie aplikacji internetowych wiąże się z zagadnieniami, które zwykle nie występują przy
programowaniu tradycyjnych aplikacji klienckich. Do zagadnień tych należą:

Implementacja rozbudowanego interfejsu użytkownika. Projektowanie i implementowanie interfejsu
o skomplikowanym układzie, dużej ilości zawartości dynamicznej, zawierającego złożone kontrolki może być
trudne i uciążliwe. Jeszcze trudniejsze jest utworzenie takiego interfejsu dla aplikacji, która musi
współpracować z różnymi przeglądarkami internetowymi lub różnymi platformami urządzeń klienckich.

Rozdzielenie klienta i serwera. W aplikacjach internetowych klient (przeglądarka) i serwer to dwa różne
programy, uruchamiane na różnych komputerach (a nawet w różnych systemach operacyjnych). Z tego
względu obie części aplikacji współdzielą bardzo niewiele danych — mogą komunikować się ze sobą, ale
wymieniają jedynie niewielkie ilości prostych informacji.

Praca bezstanowa. Gdy serwer otrzymuje żądanie przesłania jakiejś strony, odnajduje tę stronę, generuje
jej postać wynikową, wysyła do przeglądarki, a następnie usuwa informacje dotyczące tego żądania. Jeśli
użytkownik ponownie zażąda przesłania tej samej strony, serwer powtarza wszystkie czynności, generując
stronę od podstaw. Innymi słowy, serwer nie utrzymuje w pamięci informacji o przetworzonych stronach.
Jeśli jakieś informacje muszą być przechowane pomiędzy kolejnymi żądaniami, jest to problem do
rozwiązania w kodzie aplikacji.

Nieznane możliwości klienta. W wielu przypadkach aplikacje internetowe dostępne są dla wielu
użytkowników, korzystających z różnych przeglądarek. Przeglądarki charakteryzują się różnymi
możliwościami — dlatego tak trudne jest utworzenie aplikacji, która będzie równie dobrze obsługiwana przez
wszystkie przeglądarki.

Problemy z dostępem do danych. W tradycyjnych aplikacjach internetowych odczytywanie i zapisywanie
informacji w bazie danych może być skomplikowane i może wymagać dużej ilości zasobów.

Problemy ze skalowalnością. W wielu wypadkach aplikacje projektowane dotychczasowymi metodami nie
są skalowalne — zwykle ze względu na brak kompatybilności pomiędzy różnymi komponentami aplikacji.
Skalowalność jest często krytycznym problemem podczas rozwoju aplikacji.
Rozwiązanie wymienionych problemów może wymagać dużych nakładów czasu i środków. Strony Web Forms
i architektura ASP.NET pomagają rozwiązać te problemy w następujący sposób:

Intuicyjny i spójny model obiektowy. Model obiektowy architektury ASP.NET umożliwia traktowanie
formularzy jako całości, a nie jako oddzielnych części — klienckiej i serwerowej. Pozwala to na
projektowanie formularza w sposób bardziej intuicyjny niż w przypadku tradycyjnych aplikacji internetowych
— możliwe jest ustawianie właściwości elementów formularza i obsługiwanie zdarzeń generowanych przez te
elementy. Co więcej, kontrolki serwerowe ASP.NET obsługiwane są w sposób niezależny od faktycznej
zawartości strony HTML i od interakcji pomiędzy przeglądarką a serwerem. Kontrolki serwerowe można
stosować tak, jak kontrolki w aplikacji klienckiej i nie trzeba zajmować się tworzeniem kodu HTML,
wyświetlającego i przetwarzającego kontrolki i ich zawartość.

Model programowania sterowany zdarzeniami. Strony Web Forms pozwalają na tworzenie aplikacji
internetowych w znajomy i wygodny sposób, polegający na tworzeniu procedur obsługi dla zdarzeń
zachodzących w kliencie lub na serwerze. Model ten został zaimplementowany w ASP.NET w taki sposób, że
mechanizm wykrycia wystąpienia zdarzenia na kliencie, przesłania go do serwera i wywołania odpowiedniej
procedury obsługi jest w pełni automatyczny i niewidoczny dla programisty. W wyniku otrzymujemy
czytelną i łatwą w zapisie strukturę kodu, uwzględniającą programowanie zdarzeniowe.

Intuicyjne zarządzanie stanem. Zarządzanie stanem formularza i jego kontrolek jest obsługiwane
automatycznie przez ASP.NET. Dostępne są też metody jawnego zarządzania stanem informacji
wykorzystywanych przez daną aplikację. Funkcjonalność ta nie wymaga dużego użycia zasobów serwera
i może być implementowana zarówno z wykorzystaniem plików cookie, jak i bez nich.

Aplikacje niezależne od przeglądarki. Środowisko ASP.NET jest odpowiedzialne za warstwę logiki
aplikacyjnej na serwerze, co eliminuje konieczność uwzględniania w kodzie różnic pomiędzy przeglądarkami.
Mimo tego, nadal możliwe jest wykorzystanie rozbudowanej funkcjonalności wybranych przeglądarek
poprzez utworzenie kodu uruchamianego po stronie klienta, co pozwala zwiększyć wydajność i uatrakcyjnić
pracę z aplikacją.

Obsługa wspólnego środowiska uruchomieniowego .NET Framework. ASP.NET to technologia
zbudowana na podstawie platformy .NET Framework. Dzięki temu aplikacje ASP.NET mogą korzystać z całej
funkcjonalności tej platformy. Aplikacje można tworzyć w dowolnym języku programowania, zgodnym ze
środowiskiem uruchomieniowym, w tym w Microsoft Visual Basic, Visual C# i JScript .NET. Co więcej —
dzięki wykorzystaniu infrastruktury dostępu do danych, wbudowanej w .NET Framework i biblioteki
ADO.NET — dostęp do danych jest znacznie prostszy.

Skalowalna platforma serwerowa .NET Framework. Platforma ASP.NET zapewnia skalowalność —
przeniesienie aplikacji z pojedynczego, jednoprocesorowego serwera na rozbudowaną farmę serwerów jest
łatwe i nie wymaga dużych zmian w logice aplikacji.
Zobacz także (materiały w języku angielskim)
Wprowadzenie do ASP.NET | Model kodu formularzy Web Forms | Przetwarzanie stron Web Forms | Tworzenie
prostej strony Web Forms — instrukcja krok po kroku | Migracja do Web Forms | Ułatwienia dostępu
w aplikacjach internetowych — instrukcja krok po kroku
Download