Asynchronous JavaScript and XML Custom

Transkrypt

Asynchronous JavaScript and XML Custom
Asynchronous JavaScript and XML
Custom Controls, User Controls
ASP.NET
Wiktor Zychla
Uniwersytet Wrocławski
Instytut Informatyki
29 listopad 2005
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.1/18
AJAX
AJAX (Asynchronous Javascript and XML) - nowa
nazwa dla składanki 5 technologii:
•
•
•
•
•
prezentacja w HTML/XHTML...
...danych XML...
...przenoszonych przez XMLHttpRequest...
...przetwarzanych w modelu DOM...
...za pomoca˛ Javascript.
Na przykład Google Suggest czy Google Maps.
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.2/18
AJAX
Callback zamiast postback:
• do serwera nie jest odsyłany </FORM> jak przy
postback
• zamiast tego używa si˛
e JavaScript do zbudowana
żadania
˛
skierowanego do określonego miejsca na
serwerze
• serwer odpowiada zwykłym tekstem lub XML
• klient przetwarza odpowiedź za pomoca˛
JavaScript
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.3/18
AJAX
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.4/18
AJAX
Różne implementacje w ramach .NET, m.in.:
• Scripting Callbacks (ASP.NET 2.0) - nie wybiega
znacznie poza wariant klasyczny
• AJAX.NET (atrybuty + logika serwera
mapowana na logik˛e klienta) - pi˛ekna
architektura ale dyskusyjna wydajność
• inne...
W ASP.NET 2.0 niektóre funkcje komponentów
wbudowanych oparto o Scripting Callbacks, na
przykład dynamicznie rozwijajacy
˛ w˛ezły TreeView,
czy nie wymagajacy
˛ Postback GridView.
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.5/18
AJAX
Zalety AJAX:
• rewelacyjne zachowanie si˛
e interfejsu
użytkownika aplikacji Web
• znaczne zmniejszenie ruchu klient-serwer
• możliwość
Wady AJAX:
• nie wspierany przez wszystkie przegladarki
˛
• w uj˛
eciu klasycznym - niewygodny do integracji
z istniejacymi
˛
technologiami
• wiele różnych implementacji w tym oficjalne i
nieoficjalne
• wymaga programowania JavaScript
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.6/18
AJAX
DEMO: minimalny przykład
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.7/18
AJAX
Literatura:
• Jessie James Garret - Ajax: A New Approach to
Web Applications
• Ajax.NET - A free library for the Microsoft .NET
Framework
• Dino Esposito - Script Callbacks in ASP.NET
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.8/18
Kontrolki ASP.NET
•
•
Podobnie jak w przypadku aplikacji desktop,
programista ma możliwość tworzenia własnych
komponentów ASP.NET. Okoliczności w których
warto pisać własne kontrolki sa˛ dokładnie takie
same.
Dwa modele tworzenia kontrolek:
• deklaratywny - User Controls
• programowany - Custom Controls
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.9/18
User Controls
•
•
•
•
•
pliki *.ASCX
budowane wizualnie
nie wymagaja˛ kompilacji
przy próbie użycia kompilator tworzy kod klasy
dla kontrolki dokładnie tak samo jak w
przypadku stron (*.ASPX)
z tego powodu w przypadku tworzenia
dynamicznego nie można używać new tylko
LoadControl
Zastosowanie: fragmenty interfejsu użytkownika o
wielokrotnym zastosowaniu.
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.10/18
User Controls
DEMO: SiteHeader+Site
Footer
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.11/18
Custom controls
•
•
•
•
•
klasy dziedziczace
˛ z Control lub WebControl
zawartość budowana w kodzie
wymagaja˛ kompilacji
osadzane w zestawach jak wszystkie inne klasy
w przypadku tworzenia dynamicznego wystarczy
new
Zastosowanie: jakakolwiek logika po stronie serwera,
która może (ale nie musi) mieć jakaś
˛ postać wizualna˛
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.12/18
Custom controls
Modele dziedziczenia:
• Control - dla elementów niewizualnych
• WebControl - dla elementów wizualnych,
automatycznie udost˛epnia m.in. Font, Width,
Height, ForeColor, BackColor
• jakakolwiek istniejaca
˛ kontrolka, np. TextBox
czy Button
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.13/18
Custom Controls
DEMO: kontrolki Control i
WebControl
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.14/18
Custom Controls
DEMO: kontrolki Control i
WebControl
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.15/18
Custom Controls
DEMO: kontrolka niewizualna
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.16/18
User vs Custom Controls
User
Custom
deployment
single app
możliwy GAC
layout
łatwiejszy statyczny
dowolny
design-time
słaby
duże wsparcie
wydajność
taka sama
taka sama
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.17/18
Kontrolki ASP.NET
Literatura:
• Nikhil Kothari, Vandana Datye - Developing
ASP.NET Server Controls and Components
Asynchronous JavaScript and XMLCustom Controls, User Controls – p.18/18

Podobne dokumenty