290 likes | 458 Views
Sponsoren. Softwaresponsoren. Mediasponsoren. Einführung in die Ajax Library. Jan Molnar Jan-Cornelius.Monlnar@studentprogram.de Dennis Zielke i-denniz@microsoft.com. Agenda. Ajax Library Grundlagen Javascript Debugging, Webservices Javascript Events Javascript Authentifizierung
E N D
Sponsoren Softwaresponsoren Mediasponsoren
Einführung in die Ajax Library Jan Molnar Jan-Cornelius.Monlnar@studentprogram.de Dennis Zielke i-denniz@microsoft.com
Agenda • Ajax Library Grundlagen • Javascript Debugging, Webservices • Javascript Events • Javascript Authentifizierung • Databinding • UI Effekte
Mehralsnur Ajax • Cross-Browser Framework • Objekt-OrientiertesJavascript • .NET Event Modell • Imperative + DeklarativeProgrammierung • ControlBinding • Control Extensions + Behaviours • Data Binding • Support für ASP.NET, Java, PHP...
Architektur Client Server Components Script Support Browser Compability Web Services Networking Application Services Core Services Server Controls
MicrosoftAjax.js Sys Sys.Net Sys.Services Sys.Serialization Sys.UI String- Builder WebRequest- Executor _ProfileService JavaScript- Serializer DOMElement _Debug XMLHttp- EXecutor ProfileGroup DOMEvent EventArgs _WebRequest- Manager _Authentication- Service Behavior Component WebRequest Control Point _Application WebService- Proxy Bounds CultureInfo WebService- Error _Timer Other Other
JavascriptErweiterungen • Vererbung • Interfaces + AbstrakteKlassen • Namespaces • Enumerations • Delegates • Events • Partial Rendering Engine • Reflection
Base Type Extensions • Microsoft AJAX Library erweitert JavaScript • Array - add, addRange, contains, insert, etc. • Boolean - parse • Date - format, parselocale, parseInvariant, etc. • Error - argumentOutOfRange, etc. • Number - format, parseLocale, parseInvariant • Object - getType, getTypeName • String - format, endsWith, startWith, trim, etc.
$get, $find & $create … • GlobaleFunktionen • Verweise auf statischeKlassen • $get -> Sys.UI.DomElement.getElementById • $create -> Sys.Component.create • $find -> Sys.Application.findComponent • $addHandler -> Sys.UI.DomEvent.addHandler • $removeHandler -> System.UI.DomEvent.removeHandler • $clearHandlers -> Sys.UI.DomEvent.clearHandlers
JavascriptWebservices • JSON statt XML • Ca. 30% weniger Overhead • Neues [ScriptService] Attribut • Automatische Generierung • Webservices Bridge • Alternative: PageMethod
Javascript Debugging • Sys.Debug Objekt • Debugging • Tracing • MicrosoftAjax.debug.js • Lesbare Formatierung • Kommentare
Debuggint • Debugging unterstützt • "assert" • "fail" • "trace" • "traceDump" • Sys.Debug = newSys._Debug();
Javascript Debugging demo
Sys.Application • Zuständig für den Client-Page-LifeCycle • Läd & initialisiert Komponenten
Client Page LifeCycle Window Sys.Application Component 1. Open Page 2. init 3. $create 4. load 5. $get 6. Close Page 7. unload
Ajax Events functionpageLoad() { varelement = $get(“elementId“); $addHandler(element, „click“, elementClick); } functionelementClick(e) { // eventhandling }
Ajax DOM • Sys.UI.DomElement • addCssClass / removeCssClass • containsCssClass • toggleCssClass • getBounds • setLocation • setVisible
Ajax DOM demo
Ajax Services • Authentication ServiceZugriff auf ASP.NET Membership • Profile ServiceZugriff auf ASP.NET Profil
Ajax Services demo
Sys.Preview.[UI.].Data • EnthältDatabindingfähigeKlassen • ItemView und ListView
Sys.Preview.UI • Component • Timer, DragDropManager, … • Behavior • Floating, DropZone, Opacity, … • Control • TextBox, Menu, CheckBox, …
Ajax Drag & Drop demo
www.justcommunity.de www.dnug-koeln.de
Sponsoren Softwaresponsoren Mediasponsoren