SlideShare a Scribd company logo
Daniel Fisher
daniel.fisher@devcoach.de
Software Architect | CTO
devocach®
Michael Willers
michael.willers@devcoach.de
Software Architect | CTO
devocach®
 Experts each with 10+ years experience
 Development
 Architecture
 Consulting & Coaching
 Community activists
 Annual Software Developer Community Event
 Deep knowledge and skills on
 Service Orientation & Agile Methods
 Web & Data access
 Security & Deployment
 Real Projects – Not just cool demos!
Performance
Managability
Pitfalls
Summary
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
Development
Beiing Agile
Technical
Design enabling a fast execution of functionality
Code written to be executed with low memory and cpu
utilization
Non-Technical
User Experience
Responsiveness of an application
Un-necessary things
Multiple rendering of UI
Multiple transfer of data over the wire
Don‘t repeat yourself
HTTP
Ajax
XHTML (or HTML) and CSS
ECMAScript/JavaScript
XMLHttpRequest object/IFrame object
XML, JSON
Ajax is not a technology in itself, but a term
that refers to the use of a group of
technologies.
Most of the technologies that enable Ajax started with
Microsoft's initiatives in developing Remote Scripting in
1998.
Microsoft created the XMLHttpRequest object in IE 5 and
first used it in Outlook Web Access supplied with Exchange
2000.
2003 not long before Microsoft introduced Callbacks in
ASP.NET.
“AJAX” was first used by Jesse James Garrett in February
2005 as a shorthand term to the suite of technologies as a
proposal to a client.
var request = new Request();
function _getXmlHttp()
{
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
var progids=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"]
or (i in progids) {
try { return new ActiveXObject(progids[i]) }
catch (e) {}
}
@end @*/
try { return new XMLHttpRequest();}
catch (e2) {return null; }
}
function Request() {
this.Get = Request_get;
this._get = _getXmlHttp();
if (this._get == null) return;
}
...
...
ReadyState = { Uninitialized: 0, Loading: 1, Loaded:2, Active:3, Completed: 4 }
HttpStatus = { OK: 200, NotFound: 404 }
function Request_get(url, f_change, method) {
if (!this._get)
return;
if (method == null)
method="GET";
if (this._get.readyState != ReadyState.Uninitialized)
this._get.abort()
this._get.open(method, url, true);
if (f_change != null)
var _get = this._get;
this._get.onreadystatechange = function()
{
f_change(_get);
}
this._get.send(null);
}
...
function ajaxInnerHTML(method, args, elmId)
{
request.Get(
url + "?m=" + escape(method) + "&p=" + escape(args),
function(result)
{
if (result.readyState!=ReadyState.Complete)
return;
if (result.status==HttpStatus.OK
&& result.responseText != "")
{
elm = document.getElementById(elmId);
if(elm)
{
var response = result.responseText;
elm.innerHTML = response;
}
}
});
}
Works just with „ugly hacks“?
Or just in one browser (version)
Javascript is not type safe
Code like in the 90‘s...
Welcome to WEB 0.5?
An framework for building rich, interactive
Web experiences and browser-applications
Microsoft AJAX Library
Cross-browser compatible client script framework
ASP.NET AJAX Extensions
Server controls enabling AJAX in ASP.NET
applications
ASP.NET AJAX Futures
Features of future AJAX Extension releases (Betas)
ASP.NET AJAX Control Toolkit
Rich set of server controls and client script
functionality
Client Server
Microsoft AJAX Library
IE, Firefox, Safari, …)
Browser Compatibility
Asynchronous Communications
Script Core Library
Base Class Library
XHTML/CSS
JSON Serializer WSProxiesXML-HTTP
var request = new Sys.Net.WebRequest();
request.set_url('Default.aspx');
request.add_completed(
function(response, args){
if (response.get_statusCode() == 200)
{
window.alert(response.get_responseData());
}
});
request.invoke();
ASP.NET AJAX clients can consume Web
services
ASMX
WCF
ASMX model extended to support JSON
endpoints
Server framework includes JSON serializer
Microsoft.Web.Script.Serialization.JavaScriptConverter
Also includes ASMX front-ends for ASP.NET 2.0
profile service and authentication service
<Person>
<id>1234</id>
<FirstName>John</FirstName>
<LastName>Doe</LastName>
<Address>21 Jump ST</Address>
<City>Springfield</City>
<State>GA</State>
<Zip>55555</Zip>
</Person>
{
"Person":
[
{
"id":"1234",
"FirstName":"John",
"LastName":"Doe",
"Address":"21 Jump ST",
"City":"Springfield",
"State":"GA",
"Zip":"55555"
}
]
}
Create a service reference
View the generated Proxy
Call the web service
Binding for AJAX
webHttpBinding (Serializer for JSON)
HTTP Verb Attributes & URI-Template
Enable REST-APIs
Factory-attribute
Enables configuration-less services
Configuration
Support webHttpBinding as additional endpoint
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
A code base that is easy to maintain, extend
and localize.
Code that tells you where to find the error if
one appears.
A Development Environment that supports
the developer
Syntax Highlighting
Intellisense
Compile Time Errors
// JavaScript w/o ASP.NET
var obj =
document.getElementById(
‘id_of_object‘);
// JavaScript with ASP.NET
var obj = $Get(‘id_of_object‘);
Case Study: vision4health
Sys.Debug.assert(condition, message, displayCaller)
Checks for a condition - if the condition is false, displays a
message and prompts to break into the debugger.
Sys.Debug.clearTrace()
Clears all trace messages from the TraceConsoletextarea
element.
Sys.Debug.traceDump(object, name)
Dumps an object to the debugger console and to the
TraceConsoletextarea element, if available.
Sys.Debug.fail(message)
Displays a message in the debugger's output window and breaks
into the debugger.
Sys.Debug.trace(text)
Appends a text line to the debugger console and to the
TraceConsoletextarea element, if available.
function Sys$_Debug$_appendConsole(text) {
// VS script debugger output window.
if ((typeof(Debug) !== 'undefined') && Debug.writeln) {
Debug.writeln(text);
}
// Firebug and Safari console.
if (window.console && window.console.log) {
window.console.log(text);
}
// Opera console.
if (window.opera) {
window.opera.postError(text);
}
// WebDevHelper console.
if (window.debugService) {
window.debugService.trace(text);
}
Case Study: AUTOonline
Browser integration
No History
No Bookmarks
Response-time concerns
Search engine optimization
JavaScript reliability and compatibility
Source code fully exposed to client
Another language, another skill set
Harder to debug
Increased web requests
JSON != Performance
Language Layer InterOp
Microsoft ASP.NET AJAX enables easy
develpment of „Application“ that live in the
Web 2.0
AJAX still means server round-trips, so
design carefully
It‘s a cool tool
2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability
Software em versão completa para avaliação
2 incidentes de suporte gratuito profissional
Acesso antecipado às versões beta
software exclusivo: Capacity Planner
actualizações de segurança e service packs
formação gratuita ….e muito mais.
www.microsoft.com/portugal/technet/subscricoes
Software em versão completa para avaliação
Suporte técnico 24x7 para incidentes
Acesso antecipado às versões beta
Microsoft Office
Software Assurance
formação gratuita ….e muito mais.
www.microsoft.com/portugal/msdn/subscricoes
www.microsoft.com/learning
Complete o questionário de
avaliação e devolva-o no balcão
da recepção…
…e habilite-se a ganhar 1 percurso de
certificação por dia! Oferecido por:
…e habilite-se a ganhar 1 percurso de
certificação MCTS por dia! Oferecido por:
…e habilite-se a ganhar 1 curso e exame por
dia! Oferecido por:
© 2008 Microsoft Corporation. Todos os direitos reservados.
Esta apresentação destina-se apenas a fins informativos.
A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS NESTA APRESENTAÇÃO.

More Related Content

ODP
Bring the fun back to java
ODP
Unit testing with Easymock
PDF
React.js enlightenment
PDF
Spock's New Tricks
PPTX
Net conf BG xamarin lecture
PDF
Refactoring
PDF
The Ring programming language version 1.3 book - Part 30 of 88
PPTX
Full Stack Unit Testing
Bring the fun back to java
Unit testing with Easymock
React.js enlightenment
Spock's New Tricks
Net conf BG xamarin lecture
Refactoring
The Ring programming language version 1.3 book - Part 30 of 88
Full Stack Unit Testing

What's hot (17)

PDF
Desarrollo para Android con Groovy
PDF
Automated testing for client-side - Adam Klein, 500 Tech
PPTX
Protractor Training in Pune by QuickITDotnet
PDF
The Ring programming language version 1.5.2 book - Part 38 of 181
PDF
Redux for ReactJS Programmers
PDF
Unit Testing Express and Koa Middleware in ES2015
PDF
TDD CrashCourse Part5: Testing Techniques
PDF
Sony C#/.NET component set analysis
PDF
Mirage For Beginners
PDF
You do not need automation engineer - Sqa Days - 2015 - EN
PDF
Javascript do jeito certo
PDF
Ask The Expert - Typescript: A stitch in time saves nine
PDF
Errors detected in the Visual C++ 2012 libraries
PDF
ES3-2020-06 Test Driven Development (TDD)
PDF
Testing Java Code Effectively - BaselOne17
PDF
Zeppelin Helium: Spell
PDF
Your code are my tests
Desarrollo para Android con Groovy
Automated testing for client-side - Adam Klein, 500 Tech
Protractor Training in Pune by QuickITDotnet
The Ring programming language version 1.5.2 book - Part 38 of 181
Redux for ReactJS Programmers
Unit Testing Express and Koa Middleware in ES2015
TDD CrashCourse Part5: Testing Techniques
Sony C#/.NET component set analysis
Mirage For Beginners
You do not need automation engineer - Sqa Days - 2015 - EN
Javascript do jeito certo
Ask The Expert - Typescript: A stitch in time saves nine
Errors detected in the Visual C++ 2012 libraries
ES3-2020-06 Test Driven Development (TDD)
Testing Java Code Effectively - BaselOne17
Zeppelin Helium: Spell
Your code are my tests
Ad

Viewers also liked (20)

PPTX
2009 - Microsoft Springbreak: IIS, PHP & WCF
PPTX
2009 - NRW Conf: (ASP).NET Membership
PPTX
2015 DWX - Komponenten und Konsequenzen
PPTX
2009 Dotnet Information Day: More effective c#
PPT
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
PPTX
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
PPTX
2015 - Basta! 2015, DE: JavaScript und build
PPTX
2011 - DNC: REST Wars
PPTX
2009 - DNC: Silverlight ohne UI - Nur als Cache
PPTX
2008 - TechDays PT: Building Software + Services with Volta
PPTX
2007 - Basta!: Nach soa kommt soc
PPTX
2010 - Basta!: REST mit ASP.NET MVC
PPTX
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
PPTX
2011 - Dotnet Information Day: NUGET
PPT
2006 - Basta!: Advanced server controls
PPT
2005 - NRW Conf: Design, Entwicklung und Tests
PPTX
2008 - Basta!: DAL DIY
PPTX
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
PPTX
Saturation vs satisfaction in it industry
PDF
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
2009 - Microsoft Springbreak: IIS, PHP & WCF
2009 - NRW Conf: (ASP).NET Membership
2015 DWX - Komponenten und Konsequenzen
2009 Dotnet Information Day: More effective c#
2006 DDD4: Data access layers - Convenience vs. Control and Performance?
.NET Developer Days 2015, PL: Defensive programming, resilience patterns & an...
2015 - Basta! 2015, DE: JavaScript und build
2011 - DNC: REST Wars
2009 - DNC: Silverlight ohne UI - Nur als Cache
2008 - TechDays PT: Building Software + Services with Volta
2007 - Basta!: Nach soa kommt soc
2010 - Basta!: REST mit ASP.NET MVC
2008 - TechDays PT: Modeling and Composition for Software today and tomorrow
2011 - Dotnet Information Day: NUGET
2006 - Basta!: Advanced server controls
2005 - NRW Conf: Design, Entwicklung und Tests
2008 - Basta!: DAL DIY
2015 TechSummit Web & Cloud - Gem, NPM, Bower, Nuget, Paket - Päckchen hier, ...
Saturation vs satisfaction in it industry
2015 - Network 2015, UA: Defensive programming, resilience patterns & antifra...
Ad

Similar to 2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability (20)

PDF
Android best practices
PDF
mobl
PPT
Working Effectively With Legacy Code
PPTX
Reactive programming every day
PPT
"Scala in Goozy", Alexey Zlobin
PDF
mobl presentation @ IHomer
PPTX
Eclipse e4 Overview
PDF
mobl - model-driven engineering lecture
PPT
Groovy Introduction - JAX Germany - 2008
PPTX
Compatibility Detector Tool of Chrome extensions
KEY
CouchDB on Android
PPTX
Introduction To Google Android (Ft Rohan Bomle)
PPTX
5 x HTML5 worth using in APEX (5)
PPT
jQuery for beginners
PPTX
Ajax for dummies, and not only.
PPT
Introducing Struts 2
PDF
JavaScript Refactoring
PDF
How to build to do app using vue composition api and vuex 4 with typescript
PDF
Nativescript angular
PDF
From Legacy to Hexagonal (An Unexpected Android Journey)
Android best practices
mobl
Working Effectively With Legacy Code
Reactive programming every day
"Scala in Goozy", Alexey Zlobin
mobl presentation @ IHomer
Eclipse e4 Overview
mobl - model-driven engineering lecture
Groovy Introduction - JAX Germany - 2008
Compatibility Detector Tool of Chrome extensions
CouchDB on Android
Introduction To Google Android (Ft Rohan Bomle)
5 x HTML5 worth using in APEX (5)
jQuery for beginners
Ajax for dummies, and not only.
Introducing Struts 2
JavaScript Refactoring
How to build to do app using vue composition api and vuex 4 with typescript
Nativescript angular
From Legacy to Hexagonal (An Unexpected Android Journey)

More from Daniel Fisher (15)

PPTX
MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
PPTX
NRWConf, DE: Defensive programming, resilience patterns & antifragility
PPTX
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
PPTX
2011 - DotNetFranken: ASP.NET MVC Localization
PPTX
2011 NetUG HH: ASP.NET MVC & HTML 5
PPTX
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
PPTX
2010 - Basta!: IPhone Apps mit C#
PPTX
2010 - Basta: ASP.NET Controls für Web Forms und MVC
PPTX
2010 Basta!: Massendaten mit ADO.NET
PPTX
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
PPTX
2009 - Basta!: Agiles requirements engineering
PPT
2008 - Basta!: Massendaten auf dem Client
PPTX
2008 - Afterlaunch: 10 Tipps für WCF
PPS
2006 - NRW Conf: Asynchronous asp.net
PPTX
2006 - DDD4: Decoupling service oriented backend systems
MD DevdDays 2016: Defensive programming, resilience patterns & antifragility
NRWConf, DE: Defensive programming, resilience patterns & antifragility
2015 - Basta! 2015, DE: Defensive programming, resilience patterns & antifrag...
2011 - DotNetFranken: ASP.NET MVC Localization
2011 NetUG HH: ASP.NET MVC & HTML 5
2010 - Basta!: REST mit WCF 4, Silverlight und AJAX
2010 - Basta!: IPhone Apps mit C#
2010 - Basta: ASP.NET Controls für Web Forms und MVC
2010 Basta!: Massendaten mit ADO.NET
2009 - Basta!: Url rewriting mit iis, asp.net und routing engine
2009 - Basta!: Agiles requirements engineering
2008 - Basta!: Massendaten auf dem Client
2008 - Afterlaunch: 10 Tipps für WCF
2006 - NRW Conf: Asynchronous asp.net
2006 - DDD4: Decoupling service oriented backend systems

Recently uploaded (20)

PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PDF
Salesforce Agentforce AI Implementation.pdf
PDF
Nekopoi APK 2025 free lastest update
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Transform Your Business with a Software ERP System
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
assetexplorer- product-overview - presentation
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
medical staffing services at VALiNTRY
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Adobe Illustrator 28.6 Crack My Vision of Vector Design
17 Powerful Integrations Your Next-Gen MLM Software Needs
Salesforce Agentforce AI Implementation.pdf
Nekopoi APK 2025 free lastest update
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
EN-Survey-Report-SAP-LeanIX-EA-Insights-2025.pdf
Digital Systems & Binary Numbers (comprehensive )
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Autodesk AutoCAD Crack Free Download 2025
Transform Your Business with a Software ERP System
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Designing Intelligence for the Shop Floor.pdf
assetexplorer- product-overview - presentation
AutoCAD Professional Crack 2025 With License Key
medical staffing services at VALiNTRY

2008 - TechDays PT: WCF, JSON and AJAX for performance and manageability

  • 1. Daniel Fisher [email protected] Software Architect | CTO devocach® Michael Willers [email protected] Software Architect | CTO devocach®
  • 2.  Experts each with 10+ years experience  Development  Architecture  Consulting & Coaching  Community activists  Annual Software Developer Community Event  Deep knowledge and skills on  Service Orientation & Agile Methods  Web & Data access  Security & Deployment  Real Projects – Not just cool demos!
  • 5. Development Beiing Agile Technical Design enabling a fast execution of functionality Code written to be executed with low memory and cpu utilization Non-Technical User Experience Responsiveness of an application
  • 6. Un-necessary things Multiple rendering of UI Multiple transfer of data over the wire Don‘t repeat yourself
  • 8. XHTML (or HTML) and CSS ECMAScript/JavaScript XMLHttpRequest object/IFrame object XML, JSON Ajax is not a technology in itself, but a term that refers to the use of a group of technologies.
  • 9. Most of the technologies that enable Ajax started with Microsoft's initiatives in developing Remote Scripting in 1998. Microsoft created the XMLHttpRequest object in IE 5 and first used it in Outlook Web Access supplied with Exchange 2000. 2003 not long before Microsoft introduced Callbacks in ASP.NET. “AJAX” was first used by Jesse James Garrett in February 2005 as a shorthand term to the suite of technologies as a proposal to a client.
  • 10. var request = new Request(); function _getXmlHttp() { /*@cc_on @*/ /*@if (@_jscript_version >= 5) var progids=["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] or (i in progids) { try { return new ActiveXObject(progids[i]) } catch (e) {} } @end @*/ try { return new XMLHttpRequest();} catch (e2) {return null; } } function Request() { this.Get = Request_get; this._get = _getXmlHttp(); if (this._get == null) return; } ...
  • 11. ... ReadyState = { Uninitialized: 0, Loading: 1, Loaded:2, Active:3, Completed: 4 } HttpStatus = { OK: 200, NotFound: 404 } function Request_get(url, f_change, method) { if (!this._get) return; if (method == null) method="GET"; if (this._get.readyState != ReadyState.Uninitialized) this._get.abort() this._get.open(method, url, true); if (f_change != null) var _get = this._get; this._get.onreadystatechange = function() { f_change(_get); } this._get.send(null); }
  • 12. ... function ajaxInnerHTML(method, args, elmId) { request.Get( url + "?m=" + escape(method) + "&p=" + escape(args), function(result) { if (result.readyState!=ReadyState.Complete) return; if (result.status==HttpStatus.OK && result.responseText != "") { elm = document.getElementById(elmId); if(elm) { var response = result.responseText; elm.innerHTML = response; } } }); }
  • 13. Works just with „ugly hacks“? Or just in one browser (version) Javascript is not type safe Code like in the 90‘s... Welcome to WEB 0.5?
  • 14. An framework for building rich, interactive Web experiences and browser-applications Microsoft AJAX Library Cross-browser compatible client script framework ASP.NET AJAX Extensions Server controls enabling AJAX in ASP.NET applications ASP.NET AJAX Futures Features of future AJAX Extension releases (Betas) ASP.NET AJAX Control Toolkit Rich set of server controls and client script functionality
  • 16. Microsoft AJAX Library IE, Firefox, Safari, …) Browser Compatibility Asynchronous Communications Script Core Library Base Class Library XHTML/CSS JSON Serializer WSProxiesXML-HTTP
  • 17. var request = new Sys.Net.WebRequest(); request.set_url('Default.aspx'); request.add_completed( function(response, args){ if (response.get_statusCode() == 200) { window.alert(response.get_responseData()); } }); request.invoke();
  • 18. ASP.NET AJAX clients can consume Web services ASMX WCF ASMX model extended to support JSON endpoints Server framework includes JSON serializer Microsoft.Web.Script.Serialization.JavaScriptConverter Also includes ASMX front-ends for ASP.NET 2.0 profile service and authentication service
  • 21. Create a service reference View the generated Proxy Call the web service
  • 22. Binding for AJAX webHttpBinding (Serializer for JSON) HTTP Verb Attributes & URI-Template Enable REST-APIs Factory-attribute Enables configuration-less services Configuration Support webHttpBinding as additional endpoint
  • 24. A code base that is easy to maintain, extend and localize. Code that tells you where to find the error if one appears. A Development Environment that supports the developer Syntax Highlighting Intellisense Compile Time Errors
  • 25. // JavaScript w/o ASP.NET var obj = document.getElementById( ‘id_of_object‘); // JavaScript with ASP.NET var obj = $Get(‘id_of_object‘);
  • 27. Sys.Debug.assert(condition, message, displayCaller) Checks for a condition - if the condition is false, displays a message and prompts to break into the debugger. Sys.Debug.clearTrace() Clears all trace messages from the TraceConsoletextarea element. Sys.Debug.traceDump(object, name) Dumps an object to the debugger console and to the TraceConsoletextarea element, if available. Sys.Debug.fail(message) Displays a message in the debugger's output window and breaks into the debugger. Sys.Debug.trace(text) Appends a text line to the debugger console and to the TraceConsoletextarea element, if available.
  • 28. function Sys$_Debug$_appendConsole(text) { // VS script debugger output window. if ((typeof(Debug) !== 'undefined') && Debug.writeln) { Debug.writeln(text); } // Firebug and Safari console. if (window.console && window.console.log) { window.console.log(text); } // Opera console. if (window.opera) { window.opera.postError(text); } // WebDevHelper console. if (window.debugService) { window.debugService.trace(text); }
  • 30. Browser integration No History No Bookmarks Response-time concerns Search engine optimization JavaScript reliability and compatibility Source code fully exposed to client Another language, another skill set Harder to debug Increased web requests JSON != Performance Language Layer InterOp
  • 31. Microsoft ASP.NET AJAX enables easy develpment of „Application“ that live in the Web 2.0 AJAX still means server round-trips, so design carefully It‘s a cool tool
  • 33. Software em versão completa para avaliação 2 incidentes de suporte gratuito profissional Acesso antecipado às versões beta software exclusivo: Capacity Planner actualizações de segurança e service packs formação gratuita ….e muito mais. www.microsoft.com/portugal/technet/subscricoes
  • 34. Software em versão completa para avaliação Suporte técnico 24x7 para incidentes Acesso antecipado às versões beta Microsoft Office Software Assurance formação gratuita ….e muito mais. www.microsoft.com/portugal/msdn/subscricoes
  • 36. Complete o questionário de avaliação e devolva-o no balcão da recepção… …e habilite-se a ganhar 1 percurso de certificação por dia! Oferecido por: …e habilite-se a ganhar 1 percurso de certificação MCTS por dia! Oferecido por: …e habilite-se a ganhar 1 curso e exame por dia! Oferecido por:
  • 37. © 2008 Microsoft Corporation. Todos os direitos reservados. Esta apresentação destina-se apenas a fins informativos. A MICROSOFT NÃO FAZ GARANTIAS, EXPRESSAS OU IMPLÍCITAS NESTA APRESENTAÇÃO.