SlideShare a Scribd company logo
1 of 23
Quick overview of ASP.NET Ajax
Ajax deep-dive
  Cover some key real-world problems
  Discuss solutions, patterns, opportunities
  Lots of demos
  And more of ASP.NET Ajax
Partial rendering
   Update a portion of the page without writing any script
Ajax Control Toolkit
   Open source project at
   http://www.codeplex.com/AtlasControlToolkit
   Lots of Ajax-enabled server controls
Web services
   Exposing web services as JSON services
   Super simple access via script proxies and networking
   stack
Script Framework (MicrosoftAjax.js)
   Type system, and general framework for creating Ajax
   apps
Ajax has become mainstream
  Users have come to expect it
  However, subtle use of Ajax is usually effective
  Don‟t have to go overboard with flashy apps
It is about creating better user experiences
  Fluid user interface matching user task flows
  Rich data visualization
  Intuitive data entry
It is not just about updating page contents
by issuing xmlhttp requests
Script complexity
Indexability and SEO
Navigation and bookmarkability
Increasing user expectations
Diagnostics/Tracing/Monitoring
Performance
Accessibility
Browser API inconsistencies
…
Increasing complexity with increased Ajax features
   Use appropriate framework features
   Script components, encapsulation of logic
   OOP
   Separation of content, presentation, and logic
Partial rendering in ASP.NET
Behaviors in ASP.NET Ajax
   Re-use and encapsulation mechanism
   Represent script logic that you attach to markup
   Usable in a variety of scenarios
   Enable better designer/developer workflow
Ajax updates don‟t affect the browser history
   Breaks the back button
   Might also break bookmarkability
It is an opportunity!
   You have a clean slate
   Add your own history points to create a better
   navigation model than regular post-backs
ASP.NET Ajax History Feature
   Very simple API to abstract browser “nuances”
   Call addHistoryState()
   Handle the navigated event to detect state changes
   Updates URL fragment to also provide bookmarkability
Preserving indexability is a must for most sites
   Relies on presence of static data within pages
   Ajax apps often fetch data dynamically
   App structure and logic isn‟t useful for searching
An alternate Ajax pattern
   Embed data statically within the page
   Make every page of data independently discoverable
   via sitemaps
   Script consumes data and creates interactive
   presentation
   Script uses xmlhttp to implement paging as well
<script>
document.write(„<div style=“display: none”>‟);
</script>
                                                 Script-enabled View
                                                 Search Engine Browser View
 <div id=“photoList”>
   <div>                                         <div id=“photoList”>none”>
                                                 <div style=“display:
    <h1 class=“title”>…</h1>                      <div id=“photoList”>
                                                   <div>
    <img class=“photo” src=“…” alt=“…” />           …
                                                    <h1 class=“title”>…</h1>
   </div>                                         </div>
                                                 </div> class=“photo” src=“…”
                                                    <img
 </div>
                                                       alt=“…” />
                                                 <div id=“mapFrame” />
<script>
                                                   </div>
                                                 <script>
document.write(„</div>‟);
                                                 </div> to create map
                                                 // Script
</script>
                                                 <div id=“mapFrame” />
                                                 </script>
<div id=“mapFrame” />
<script>
 // Script to create map
</script>
Increasing user expectations for functionality
   Ability to work with local files
   Expectations around faster applications
   Deeply integrating media experiences
Using islands of Silverlight
   Can be used incrementally to light up existing Ajax
   apps
   Balancing reach and capabilities
   New capabilities to your application
     CLR-based execution, threads for background work
     Access to local storage and files
     Vector graphics, media
ASP.NET Ajax
  http://ajax.asp.net
  Docs, how-to videos, forums etc.
Ajax Control Toolkit
  http://www.codeplex.com/AtlasControlToolkit
My Blog
  http://www.nikhilk.net
  Slides + Samples
  My Contact Form
Prioritize creating better user experiences
  Think about where to apply Ajax in your
  applications
Approach Ajax systematically
  Separate content and behavior
Apply established patterns for addressing
key Ajax challenges
Leverage ASP.NET Ajax
  Solutions and framework for creating real-world
  Ajax apps
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.
The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market
     conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation.
                                 MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
Ajax apps have a lot more happening on the
client
Tracking script execution in production
  Handling errors internally and logging them
  End-user shouldn‟t ever see script errors
  Other tracing and tracking scenarios
Broad discussion topic with several facets
  Script downloading/bandwidth consumption
  Script execution time
  Perception – get some rendering quick
  …
ScriptManager.LoadScriptsBeforeUI
One upcoming ASP.NET Feature:
    Script combining
    Reduces the number of script downloads per page
Real-World AJAX with ASP.NET
Real-World AJAX with ASP.NET

More Related Content

What's hot

HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABpriya Nithya
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursSerge Esteves
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web AppsFITC
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksGerald Krishnan
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web DevelopersNathan Buggia
 
Deep dive into AngularJs for Beginners
Deep dive into AngularJs for BeginnersDeep dive into AngularJs for Beginners
Deep dive into AngularJs for BeginnersVassilis Pitsounis
 
Using HTML code to add page number and its output are there..
Using HTML code to add page number and its output are there..Using HTML code to add page number and its output are there..
Using HTML code to add page number and its output are there..Praseela R
 
Getting More Traffic From Search Advanced Seo For Developers Presentation
Getting More Traffic From Search  Advanced Seo For Developers PresentationGetting More Traffic From Search  Advanced Seo For Developers Presentation
Getting More Traffic From Search Advanced Seo For Developers PresentationSeo Indonesia
 
intro to Angular js
intro to Angular jsintro to Angular js
intro to Angular jsBrian Atkins
 
Frames and its components
Frames and its components Frames and its components
Frames and its components Deepam Aggarwal
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy AppsPeter Drinnan
 
Building Cool apps with flex
Building Cool apps with flexBuilding Cool apps with flex
Building Cool apps with flexJoseph Khan
 

What's hot (20)

Web components
Web componentsWeb components
Web components
 
Web Analytics
Web AnalyticsWeb Analytics
Web Analytics
 
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
 
(SEO) Search Engine Optimization
(SEO) Search Engine Optimization(SEO) Search Engine Optimization
(SEO) Search Engine Optimization
 
rendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteursrendre AJAX crawlable par les moteurs
rendre AJAX crawlable par les moteurs
 
Dive into AngularJS and directives
Dive into AngularJS and directivesDive into AngularJS and directives
Dive into AngularJS and directives
 
Spring Framework勉強会
Spring  Framework勉強会Spring  Framework勉強会
Spring Framework勉強会
 
Web Component
Web ComponentWeb Component
Web Component
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Html and html5 cheat sheets
Html and html5 cheat sheetsHtml and html5 cheat sheets
Html and html5 cheat sheets
 
Introduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC FrameworksIntroduction to Using PHP & MVC Frameworks
Introduction to Using PHP & MVC Frameworks
 
Advanced SEO for Web Developers
Advanced SEO for Web DevelopersAdvanced SEO for Web Developers
Advanced SEO for Web Developers
 
Deep dive into AngularJs for Beginners
Deep dive into AngularJs for BeginnersDeep dive into AngularJs for Beginners
Deep dive into AngularJs for Beginners
 
Using HTML code to add page number and its output are there..
Using HTML code to add page number and its output are there..Using HTML code to add page number and its output are there..
Using HTML code to add page number and its output are there..
 
Getting More Traffic From Search Advanced Seo For Developers Presentation
Getting More Traffic From Search  Advanced Seo For Developers PresentationGetting More Traffic From Search  Advanced Seo For Developers Presentation
Getting More Traffic From Search Advanced Seo For Developers Presentation
 
intro to Angular js
intro to Angular jsintro to Angular js
intro to Angular js
 
Frames and its components
Frames and its components Frames and its components
Frames and its components
 
AngularJS for Legacy Apps
AngularJS for Legacy AppsAngularJS for Legacy Apps
AngularJS for Legacy Apps
 
Building Cool apps with flex
Building Cool apps with flexBuilding Cool apps with flex
Building Cool apps with flex
 

Viewers also liked

Relate UI Automation Performance
Relate UI Automation PerformanceRelate UI Automation Performance
Relate UI Automation PerformanceThoughtworks
 
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NETSilicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NETMats Bryntse
 
Introduction To Asp.Net Ajax
Introduction To Asp.Net AjaxIntroduction To Asp.Net Ajax
Introduction To Asp.Net AjaxJeff Blankenburg
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax Brij Mishra
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesPeter Gfader
 
Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052goodfriday
 

Viewers also liked (7)

ASP.NET AJAX
ASP.NET AJAXASP.NET AJAX
ASP.NET AJAX
 
Relate UI Automation Performance
Relate UI Automation PerformanceRelate UI Automation Performance
Relate UI Automation Performance
 
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NETSilicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
Silicon Valley CodeCamp 2008: High performance Ajax with ExtJS and ASP.NET
 
Introduction To Asp.Net Ajax
Introduction To Asp.Net AjaxIntroduction To Asp.Net Ajax
Introduction To Asp.Net Ajax
 
ASP.NET MVC and ajax
ASP.NET MVC and ajax ASP.NET MVC and ajax
ASP.NET MVC and ajax
 
Usability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET FeaturesUsability AJAX and other ASP.NET Features
Usability AJAX and other ASP.NET Features
 
Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 

Similar to Real-World AJAX with ASP.NET

Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...goodfriday
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009Christopher Judd
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyChristian Thilmany
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Webnewcircle
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersTodd Anglin
 
Aspnet2 Overview
Aspnet2 OverviewAspnet2 Overview
Aspnet2 Overviewajitbergi
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile WidgetsJose Palazon
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Steve Souders
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]Chris Toohey
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentationipolevoy
 

Similar to Real-World AJAX with ASP.NET (20)

Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
Building AOL's High Performance, Enterprise Wide Mail Application With Silver...
 
IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009IPhone Web Development With Grails from CodeMash 2009
IPhone Web Development With Grails from CodeMash 2009
 
Internet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian ThilmanyInternet Explorer 8 for Developers by Christian Thilmany
Internet Explorer 8 for Developers by Christian Thilmany
 
Building Web Hack Interfaces
Building Web Hack InterfacesBuilding Web Hack Interfaces
Building Web Hack Interfaces
 
Decoding the Web
Decoding the WebDecoding the Web
Decoding the Web
 
EPiServer Web Parts
EPiServer Web PartsEPiServer Web Parts
EPiServer Web Parts
 
GWT
GWTGWT
GWT
 
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET DevelopersAccelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
Accelerated Adoption: HTML5 and CSS3 for ASP.NET Developers
 
Aspnet2 Overview
Aspnet2 OverviewAspnet2 Overview
Aspnet2 Overview
 
BluePrint Mobile Framework
BluePrint Mobile FrameworkBluePrint Mobile Framework
BluePrint Mobile Framework
 
Yahoo Mobile Widgets
Yahoo Mobile WidgetsYahoo Mobile Widgets
Yahoo Mobile Widgets
 
Html5
Html5Html5
Html5
 
Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09Even Faster Web Sites at jQuery Conference '09
Even Faster Web Sites at jQuery Conference '09
 
Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)
Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)
Intro on GWT & Google APIs (Vikram Rangnekar, COO of Socialwok.com)
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
10 Things You're Not Doing [IBM Lotus Notes Domino Application Development]
 
ActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group PresentationActiveWeb: Chicago Java User Group Presentation
ActiveWeb: Chicago Java User Group Presentation
 

More from goodfriday

09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 eastergoodfriday
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009goodfriday
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swimgoodfriday
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092goodfriday
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009goodfriday
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009goodfriday
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Currentgoodfriday
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newslettergoodfriday
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009goodfriday
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09goodfriday
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09goodfriday
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009goodfriday
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendargoodfriday
 
Easter 2009 Advertising
Easter 2009 AdvertisingEaster 2009 Advertising
Easter 2009 Advertisinggoodfriday
 

More from goodfriday (20)

Triunemar05
Triunemar05Triunemar05
Triunemar05
 
09 03 22 easter
09 03 22 easter09 03 22 easter
09 03 22 easter
 
Holy Week Easter 2009
Holy Week Easter 2009Holy Week Easter 2009
Holy Week Easter 2009
 
Holt Park Easter 09 Swim
Holt Park Easter 09 SwimHolt Park Easter 09 Swim
Holt Park Easter 09 Swim
 
Easter Letter
Easter LetterEaster Letter
Easter Letter
 
April2009
April2009April2009
April2009
 
Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092Swarthmore Lentbrochure20092
Swarthmore Lentbrochure20092
 
Eastercard2009
Eastercard2009Eastercard2009
Eastercard2009
 
Easterservices2009
Easterservices2009Easterservices2009
Easterservices2009
 
Bulletin Current
Bulletin CurrentBulletin Current
Bulletin Current
 
Easter2009
Easter2009Easter2009
Easter2009
 
Bulletin
BulletinBulletin
Bulletin
 
March 2009 Newsletter
March 2009 NewsletterMarch 2009 Newsletter
March 2009 Newsletter
 
Mar 29 2009
Mar 29 2009Mar 29 2009
Mar 29 2009
 
Lent Easter 2009
Lent Easter 2009Lent Easter 2009
Lent Easter 2009
 
Easterpowersports09
Easterpowersports09Easterpowersports09
Easterpowersports09
 
Easter Trading 09
Easter Trading 09Easter Trading 09
Easter Trading 09
 
Easter Brochure 2009
Easter Brochure 2009Easter Brochure 2009
Easter Brochure 2009
 
March April 2009 Calendar
March April 2009 CalendarMarch April 2009 Calendar
March April 2009 Calendar
 
Easter 2009 Advertising
Easter 2009 AdvertisingEaster 2009 Advertising
Easter 2009 Advertising
 

Real-World AJAX with ASP.NET

  • 1.
  • 2. Quick overview of ASP.NET Ajax Ajax deep-dive Cover some key real-world problems Discuss solutions, patterns, opportunities Lots of demos And more of ASP.NET Ajax
  • 3. Partial rendering Update a portion of the page without writing any script Ajax Control Toolkit Open source project at http://www.codeplex.com/AtlasControlToolkit Lots of Ajax-enabled server controls Web services Exposing web services as JSON services Super simple access via script proxies and networking stack Script Framework (MicrosoftAjax.js) Type system, and general framework for creating Ajax apps
  • 4.
  • 5. Ajax has become mainstream Users have come to expect it However, subtle use of Ajax is usually effective Don‟t have to go overboard with flashy apps It is about creating better user experiences Fluid user interface matching user task flows Rich data visualization Intuitive data entry It is not just about updating page contents by issuing xmlhttp requests
  • 6. Script complexity Indexability and SEO Navigation and bookmarkability Increasing user expectations Diagnostics/Tracing/Monitoring Performance Accessibility Browser API inconsistencies …
  • 7. Increasing complexity with increased Ajax features Use appropriate framework features Script components, encapsulation of logic OOP Separation of content, presentation, and logic Partial rendering in ASP.NET Behaviors in ASP.NET Ajax Re-use and encapsulation mechanism Represent script logic that you attach to markup Usable in a variety of scenarios Enable better designer/developer workflow
  • 8.
  • 9. Ajax updates don‟t affect the browser history Breaks the back button Might also break bookmarkability It is an opportunity! You have a clean slate Add your own history points to create a better navigation model than regular post-backs ASP.NET Ajax History Feature Very simple API to abstract browser “nuances” Call addHistoryState() Handle the navigated event to detect state changes Updates URL fragment to also provide bookmarkability
  • 10.
  • 11. Preserving indexability is a must for most sites Relies on presence of static data within pages Ajax apps often fetch data dynamically App structure and logic isn‟t useful for searching An alternate Ajax pattern Embed data statically within the page Make every page of data independently discoverable via sitemaps Script consumes data and creates interactive presentation Script uses xmlhttp to implement paging as well
  • 12.
  • 13. <script> document.write(„<div style=“display: none”>‟); </script> Script-enabled View Search Engine Browser View <div id=“photoList”> <div> <div id=“photoList”>none”> <div style=“display: <h1 class=“title”>…</h1> <div id=“photoList”> <div> <img class=“photo” src=“…” alt=“…” /> … <h1 class=“title”>…</h1> </div> </div> </div> class=“photo” src=“…” <img </div> alt=“…” /> <div id=“mapFrame” /> <script> </div> <script> document.write(„</div>‟); </div> to create map // Script </script> <div id=“mapFrame” /> </script> <div id=“mapFrame” /> <script> // Script to create map </script>
  • 14. Increasing user expectations for functionality Ability to work with local files Expectations around faster applications Deeply integrating media experiences Using islands of Silverlight Can be used incrementally to light up existing Ajax apps Balancing reach and capabilities New capabilities to your application CLR-based execution, threads for background work Access to local storage and files Vector graphics, media
  • 15.
  • 16. ASP.NET Ajax http://ajax.asp.net Docs, how-to videos, forums etc. Ajax Control Toolkit http://www.codeplex.com/AtlasControlToolkit My Blog http://www.nikhilk.net Slides + Samples My Contact Form
  • 17. Prioritize creating better user experiences Think about where to apply Ajax in your applications Approach Ajax systematically Separate content and behavior Apply established patterns for addressing key Ajax challenges Leverage ASP.NET Ajax Solutions and framework for creating real-world Ajax apps
  • 18. © 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.
  • 19. Ajax apps have a lot more happening on the client Tracking script execution in production Handling errors internally and logging them End-user shouldn‟t ever see script errors Other tracing and tracking scenarios
  • 20.
  • 21. Broad discussion topic with several facets Script downloading/bandwidth consumption Script execution time Perception – get some rendering quick … ScriptManager.LoadScriptsBeforeUI One upcoming ASP.NET Feature: Script combining Reduces the number of script downloads per page