Date post: | 28-Mar-2015 |
Category: |
Documents |
Upload: | morgan-garza |
View: | 219 times |
Download: | 1 times |
ASP.NET Ajax
Daniel WalzenbachDeveloper EvangelistMicrosoft Deutschland GmbH
http://blogs.msdn.com/walzenbach
select * from Danieldocument.getElementById('Daniel')$get('Daniel')
setting expectations
Was ist Ajax?
Design PatternSäulen von Ajax
JavaScriptDocument Object Model (DOM)Cascading Style Sheets (CSS)XMLHttpRequest
AJAX Komponenten
ASP.NET AJAX in Action, Manning Verlag, Seite 6
Ajax
Synchrone Webentwicklung
ASP.NET AJAX in Action, Manning Verlag, Seite 8
Asynchrone Webentwicklung
ASP.NET AJAX in Action, Manning Verlag, Seite 9
XMLHttpRequest
ASP.NET AJAX Architektur
ASP.NET AJAX in Action, Manning Verlag, Seite 16
Microsoft Ajax Library Features
Application ModelComponentsJavaScript ExtensionsCompatibilityAjaxApplication ServicesPartial Rendering
Client Page Lifecycle
ASP.NET AJAX in Action, Manning Verlag, Seite 44
tons of demos ;-)
Optimizing Symbolic ResolutionBackground: Javascript Variable Scoping
Local
Global
DOM
Expando
Optimizing Symbol ResolutionBackground: Evaluating local variablesfunction WorkOnLocalVariable() {
local_var = ObtainValueFromDOM();return (local_var + 1);
}
Optimizing Symbol ResolutionRecommendation: Declare local variables
function WorkOnLocalVariable() {
var local_var = ObtainValueFromDOM();return (local_var + 1);
}
Optimizing Symbol ResolutionBackground: Recognize implicit look ups
function BuildUI() {
var baseElement=document.getElementById(‘target’);
baseElement.innerHTML = ‘’; //Clear out previous
baseElement.innerHTML += BuildTitle(); baseElement.innerHTML += BuildBody(); baseElement.innerHTML += BuildFooter();
}
Optimizing Symbol ResolutionRecommendation: Cache values in local variables
function BuildUI() {
var elementText = BuildTitle() + BuildBody() + BuildFooter();
document.getElementById(‘target’).innerHTML =
elementText;}
Optimizing Symbol Resolution Background: DOM function symbolic lookupfunction CalculateSum() {
var lSide = document.body.all.lSide.value;var rSide = document.body.all.rSide.value;
document.body.all.result.value = lSide + rSide;}
Optimizing Symbol ResolutionRecommendation: Cache values in local variablesfunction CalculateSum() {
// Cache document.body.allvar elemCollection = document.body.all;
var lSide = elemCollection.lSide.value;var rSide = elemCollection.rSide.value; elemCollection.result.value = lSide + rSide;
}
Optimizing Symbol ResolutionBackground: Javascript function symbolic lookupfunction IterateWorkOverCollection() {
var length = myCollection.getItemCount(); for(var index = 0; index<length; index++) {
Work(myCollection[index]);}
}
Optimizing Symbol ResolutionRecommendation: cache JavaScript function pointersfunction IterateWorkOverCollection() {
var funcWork = Work;var length = myCollection.getItemCount(); for(var index = 0; index<length; index++) {
funcWork(myCollection[index]);}
}
Optimizing Symbol ResolutionBackground: Internet Explorer function symbolic lookupfunction IterateWorkOverCollection() {
var parentElement = document.getElementById(‘target’);
var length = myCollection.getItemCount();for(var index = 0; index<length; index++) {
parentElement.appendChild(myCollection[iterate]);}
}
Optimizing Symbol ResolutionRecommendation: Cache Internet Explorer function pointers (sometimes)function IterateWorkOverCollection() {
var funcAppendChild =
document.getElementById(‘target’).appendChild;
var length = myCollection.getItemCount(); for(var index = 0; index<length; index++) {
funcAppendChild(myCollection[index]);}
}
Javascript Code InefficienciesBackground: String concatenationvar smallerStrings = new Array();var myRatherLargeString = "";var length = smallerStrings.length;
for(var index = 0; index<length; index++) {
myRatherLargeString += smallerStrings[index];}
Javascript Code InefficienciesRecommendation: array.join for string concatenationvar smallerStrings = new Array();
smallerStrings.push("<div id=\""); smallerStrings.push("sampleID"); smallerStrings.push("\">"); smallerStrings.push("sampleText"); smallerStrings.push("</div>");
…var myRatherLargeString =
smallerStrings.join(‘’);
Referenzen
ASP.NETAjax in Action, Manning Verlag
Referenzen
ASP.NET AJAX Online Documentationhttp://www.asp.net/AJAX/Documentation/Live/default.aspx
HTML and DHTML Referencehttp://msdn2.microsoft.com/en-us/library/ms533050.aspx
Extending JavaScript with ASP.NET AJAX
http://www.asp.net/AJAX/Documentation/Live/tutorials/EnhancingJavaScriptTutorial.aspx
Referenzen
Classes in Jscript - Part Ihttp://blogs.msdn.com/jscript/archive/2007/09/24/classes-in-jscript-part-i.aspx
Classes in JScript – Part II: Instance Properties / Methods & Class Properties / Methods
http://blogs.msdn.com/jscript/archive/2007/09/30/classes-in-jscript-part-ii-instance-properties-methods-class-properties-methods.aspx
Referenzen
Classes in JScript – Part III: Class Hierarchy and Data Encapsulation
http://blogs.msdn.com/jscript/archive/2007/10/31/classes-in-jscript-part-iii-class-hierarchy-and-data-encapsulation.aspx
Prototype-based programminghttp://en.wikipedia.org/wiki/Prototype-based_programming
Referenzen
XML Documentation Comments (C# Programming Guide)
http://msdn2.microsoft.com/en-us/library/b2s063f7.aspx
The format for JavaScript doc comments
http://weblogs.asp.net/bleroy/archive/2007/04/23/the-format-for-javascript-doc-comments.aspx
AjaxDoc http://www.codeplex.com/ajaxdoc
Referenzen
Ajax Design Patternshttp://ajaxpatterns.org/
RESTwikihttp://rest.blueoxen.net/cgi-bin/wiki.pl?FrontPage
Remote Procedure Calls (RPC)http://www.cs.cf.ac.uk/Dave/C/node33.html
Microsoft AJAX Library Cheat Sheetshttp://aspnetresources.com/blog/ms_ajax_cheat_sheets_batch2.aspx
Referenzen
IE + JavaScript Performance Recommendations
http://blogs.msdn.com/ie/archive/2006/08/28/728654.aspxhttp://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspxhttp://blogs.msdn.com/ie/archive/2007/01/04/ie-jscript-performance-recommendations-part-3-javascript-code-inefficiencies.aspx
Referenzen
Yahoo developer network: Best Practices for Speeding Up Your Web Site
http://developer.yahoo.com/performance/rules.html
Referenzen
Fiddlerhttp://www.fiddlertool.com/fiddler/
Web Development Helperhttp://projects.nikhilk.net/Projects/WebDevHelper.aspx
Firebughttp://www.getfirebug.com/
Visual Studio – weitere Angebote
90-Tage Evaluierungs Versionen aller VS2008 Editionenwww.msdn-online.de/evalcenter
Launchveranstaltung von VS2008, SQL2008 & WS200819.-21. Februar 2008 in Frankfurt a.M.www.microsoftlaunch2008.de
Visual Studio Team System Information DayRegelmäßige ganztägige Informationsveranstaltung von MicrosoftPraxisnahe Demos & viel Raum für DiskussionenDetails & Anmeldung: www.event-team.com/events/visualstudio
TeamConf 2008 – Die Visual Studio Team System KonferenzSave the Date! 22.-24. April 2008 in MünchenErste Informationen und Call for Papers: www.teamconf.de
Patterns & Practices VSTS Guidance Project Praktische Ratschläge über den Einsatz von VSTS www.codeplex.com/VSTSGuidance
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
© 2006 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.