SlideShare a Scribd company logo
1 of 24
Nikhil Kothari
Software Architect
Microsoft Corporation
Look at Ajax scenarios beyond the basics
Run through a sequence of patterns and solutions
 Solve real-world problems
 Create better user experiences
Demonstrate how ASP.NET enables these scenarios
From Wikipedia…
Design pattern: General repeatable solution to commonly
occurring problem in software design.
Various categories of patterns
 Foundational patterns
   Separation of code and behavior, data access, searchability
 User experience patterns
   Notifications, intuitive navigation, …
Patterns at Play…
Script attachment to enable interactivity (eg. accordion)
Logical navigation to provide optimal back/forward
behavior and bookmarkability
Update indicators and gestures to provide feedback in
dynamic user interfaces
Smart data access to enable rich visualization and
indexability
Mashing up to enhance application content
- Separation of content and behavior
- Enhancing semantic markup with script
Attaching script functionality to static content
  Separation of content (HTML+CSS) and behavior (Script)
  Include scripts as referenced files and attach event handlers dynamically
Benefits
  Facilitate designer/developer workflow
  Independently work on content and functionality at the same time
  More likely to work in script-disabled environments
ASP.NET AJAX offering
  Client-side behaviors and controls are first class concept
  Class pattern for script to enable encapsulating data and logic
  ExtenderControl allows extending existing UI controls on server
- Controlling or “fixing” the back button
- Adding support for bookmarking
Implement logical views and associated back/forward navigation
    Define logical views
    Be selective about which views and user interaction end up in history
Benefits
    User model is preserved – back takes user to previous view
    Back through form entry can be prevented
    Different views of the page can be bookmarked
    AJAX actually enables a better navigation model
  ASP.NET AJAX offering
    History server control and client-side API
    API supports multiple parts of the page participating in history
- User gestures and feedback for dynamic UI
Use UI gestures to indicate changes and updates to pages as a result
of user actions
  Highlighting, scrolling, focus, progress, …
  Be subtle, use simple animations, don't be annoying
Benefits
  Ability to guide user
  Add additional pizzaz to your application
  AJAX can actually enable a better UI model for dynamic UI
ASP.NET AJAX offering
  UpdateAnimation control in Ajax Control Toolkit
  UpateIndicator prototype control
Data access in Ajax applications without sacrificing
indexability
Accessing data in an Ajax application without sacrificing indexability
  Don't send empty pages
  Embed initial data in page as semantically correct markup
  Client-side script might completely alter the visualization to create a rich experience
  Include additional pages of data in sitemap
Benefits
  Use of semantic markup aids indexability
  Works well with script-disabled environments
  Saves initial Ajax request for data
ASP.NET Ajax offering
  Enables leveraging the server programming model
  Data controls infrastructure
- Enhancing content with external content
- Accessing services using JSONP and server
proxies
Lots of interesting scenarios for integrating services
  One is content enhancement
Typically mashups are written using server-side proxies
  Require cross-domain calls
  Enables use of configuration (eg. for API key), local caching, throttling calls
JSONP enables use of services directly from the client
  Service needs to support it
  Uses script tags to enable cross-domain calls
  Implied trust in service API and service provider
ASP.NET AJAX networking stack allows plugging in JSONP
  ScriptExecutor instead of default XMLHttpExecutor
There are many more interesting and relevant patterns
 Richer Plugin
 Diagnostics
 …
Patterns on the Web
 http://ajaxpatterns.org
 Yahoo! Design Patterns site:
 http://developer.yahoo.com/ypatterns
DEV08 – Go Deep with AJAX
DEV19 – High-Speed Development with the AJAX
Control Toolkit
BD007 – Search Capabilities for ASP.NET Web Content
DEV05 – Developing ASP.NET AJAX Controls with
Silverlight
ASP.NET AJAX site
 http://ajax.asp.net - Download bits, read docs/quickstarts, watch how-to
 videos, participate in forums and community
 Just released: ASP.NET Futures CTP
ASP.NET AJAX Control Toolkit
 http://www.codeplex.com/AtlasControlToolkit - Open source community
 project, 30+ controls
Blogs
 http://www.nikhilk.net
 http://weblogs.asp.net/scottgu
 http://weblogs.asp.net/bleroy
 http://weblogs.asp.net/elipton
Think about the set of problems at the app infrastructure
and user experience
 How can Ajax help improve and differentiate?
 Patterns provide terminology to talk about these problems
 and solutions
Check out ASP.NET AJAX
 Extensible platform for building and scaling to broad range of
 applications
 ASP.NET AJAX Control Toolkit has a number of out-of-box
 controls to get you started
© 2007 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.
This session takes a deeper look at the AJAX paradigm by
discussing key development patterns. It demonstrates
implementing them using a combination of out-of-the-box
features and as well as features built by leveraging the
extensibility of the platform. Patterns covered range from
fundamentals such as networking, search
optimization, navigation, and unobtrusive script attachment
to user interface usability techniques such as visual
notifications, and customization. The demonstrations are
illustrated in the context of a simple scenario, but are
designed to be applied directly to real-world applications.

More Related Content

What's hot

STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010Shakir Majeed Khan
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11Jonathan Beri
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 
What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013Microsoft Visual Studio
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudSalesforce Developers
 
Edwin John.net
Edwin John.netEdwin John.net
Edwin John.netEdwin John
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeSpiffy
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersJithin Kuriakose
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_formatRajiv Saini
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)Rahul Singh
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformFrancesco Iervolino
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsBob German
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Prashanth Shivakumar
 
An Intro to Mobile HTML5
An Intro to Mobile HTML5An Intro to Mobile HTML5
An Intro to Mobile HTML5James Pearce
 
PPT with Flash ry
PPT with Flash ryPPT with Flash ry
PPT with Flash rymarina2207
 
Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen Wu
 

What's hot (20)

STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010STUG-Client Object Model SharePoint 2010
STUG-Client Object Model SharePoint 2010
 
Developer unconference 2k11
Developer unconference 2k11Developer unconference 2k11
Developer unconference 2k11
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013What's new for Developers in Visual Studio 2013
What's new for Developers in Visual Studio 2013
 
Lighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App CloudLighting up the Bay, Real-World App Cloud
Lighting up the Bay, Real-World App Cloud
 
Santhosh_Resume
Santhosh_ResumeSanthosh_Resume
Santhosh_Resume
 
Edwin John.net
Edwin John.netEdwin John.net
Edwin John.net
 
Visual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar KakadeVisual Studio 2010 ALM Overview - Sreedhar Kakade
Visual Studio 2010 ALM Overview - Sreedhar Kakade
 
Oracle ADF Overview for Beginners
Oracle ADF Overview for BeginnersOracle ADF Overview for Beginners
Oracle ADF Overview for Beginners
 
Resume new it_format
Resume new it_formatResume new it_format
Resume new it_format
 
RAHUL_Updated( (2)
RAHUL_Updated( (2)RAHUL_Updated( (2)
RAHUL_Updated( (2)
 
Building Video Apps on Salesforce Platform
Building Video Apps on Salesforce PlatformBuilding Video Apps on Salesforce Platform
Building Video Apps on Salesforce Platform
 
Azure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: BotsAzure for SharePoint Developers - Workshop - Part 4: Bots
Azure for SharePoint Developers - Workshop - Part 4: Bots
 
Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01Web Component Development with Servlet and JSP Technologies Unit 01
Web Component Development with Servlet and JSP Technologies Unit 01
 
Srinivasaragavan Jayakumar
Srinivasaragavan JayakumarSrinivasaragavan Jayakumar
Srinivasaragavan Jayakumar
 
Introduction to Visualforce Webinar
Introduction to Visualforce WebinarIntroduction to Visualforce Webinar
Introduction to Visualforce Webinar
 
An Intro to Mobile HTML5
An Intro to Mobile HTML5An Intro to Mobile HTML5
An Intro to Mobile HTML5
 
PPT with Flash ry
PPT with Flash ryPPT with Flash ry
PPT with Flash ry
 
Resume
ResumeResume
Resume
 
Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2Zhen_Wu_Resume_V2
Zhen_Wu_Resume_V2
 

Similar to AJAX Patterns with ASP.NET

ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designersshank
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008Caleb Jenkins
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docxchristiandean12115
 
Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Mike Taylor
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalMunish Gupta
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiencesgoodfriday
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talkpooyad
 
High-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control ToolkitHigh-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control Toolkitgoodfriday
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceSAP Portal
 
Developing Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform ADeveloping Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform Aauexpo Conference
 

Similar to AJAX Patterns with ASP.NET (20)

ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Experience Ajax - Workshop For Designers
Experience Ajax - Workshop For DesignersExperience Ajax - Workshop For Designers
Experience Ajax - Workshop For Designers
 
ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008ASP.NET AJAX with Visual Studio 2008
ASP.NET AJAX with Visual Studio 2008
 
JOB PORTALProject SummaryTitle JOB-PORT.docx
JOB PORTALProject SummaryTitle    JOB-PORT.docxJOB PORTALProject SummaryTitle    JOB-PORT.docx
JOB PORTALProject SummaryTitle JOB-PORT.docx
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...Community platform for job seekers | web application for job seekers | case s...
Community platform for job seekers | web application for job seekers | case s...
 
Web2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere PortalWeb2.0 Ajax and REST in WebSphere Portal
Web2.0 Ajax and REST in WebSphere Portal
 
Lessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX ExperiencesLessons from the Trenches: Engineering Great AJAX Experiences
Lessons from the Trenches: Engineering Great AJAX Experiences
 
Lessons
LessonsLessons
Lessons
 
Siva_DotNet
Siva_DotNetSiva_DotNet
Siva_DotNet
 
Search Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win PrizesSearch Engine And Toolbar With A Chance To Win Prizes
Search Engine And Toolbar With A Chance To Win Prizes
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Persentation
PersentationPersentation
Persentation
 
Web 2.0 Tech Talk
Web 2.0 Tech TalkWeb 2.0 Tech Talk
Web 2.0 Tech Talk
 
ASP.NET OVERVIEW
ASP.NET OVERVIEWASP.NET OVERVIEW
ASP.NET OVERVIEW
 
High-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control ToolkitHigh-Speed Development with the AJAX Control Toolkit
High-Speed Development with the AJAX Control Toolkit
 
Arun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOCArun Kumar(7.8Yrs).DOC
Arun Kumar(7.8Yrs).DOC
 
Develop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on DeviceDevelop Your First Mobile Application with Portal on Device
Develop Your First Mobile Application with Portal on Device
 
Tech Lead-Sachidanand Sharma
Tech Lead-Sachidanand SharmaTech Lead-Sachidanand Sharma
Tech Lead-Sachidanand Sharma
 
Developing Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform ADeveloping Profitable APIs - John Fraser - Platform A
Developing Profitable APIs - John Fraser - Platform A
 

More from goodfriday

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052goodfriday
 
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
 

More from goodfriday (20)

Narine Presentations 20051021 134052
Narine Presentations 20051021 134052Narine Presentations 20051021 134052
Narine Presentations 20051021 134052
 
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
 

Recently uploaded

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Recently uploaded (20)

Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

AJAX Patterns with ASP.NET

  • 1.
  • 3. Look at Ajax scenarios beyond the basics Run through a sequence of patterns and solutions Solve real-world problems Create better user experiences Demonstrate how ASP.NET enables these scenarios
  • 4. From Wikipedia… Design pattern: General repeatable solution to commonly occurring problem in software design. Various categories of patterns Foundational patterns Separation of code and behavior, data access, searchability User experience patterns Notifications, intuitive navigation, …
  • 6. Script attachment to enable interactivity (eg. accordion) Logical navigation to provide optimal back/forward behavior and bookmarkability Update indicators and gestures to provide feedback in dynamic user interfaces Smart data access to enable rich visualization and indexability Mashing up to enhance application content
  • 7. - Separation of content and behavior - Enhancing semantic markup with script
  • 8. Attaching script functionality to static content Separation of content (HTML+CSS) and behavior (Script) Include scripts as referenced files and attach event handlers dynamically Benefits Facilitate designer/developer workflow Independently work on content and functionality at the same time More likely to work in script-disabled environments ASP.NET AJAX offering Client-side behaviors and controls are first class concept Class pattern for script to enable encapsulating data and logic ExtenderControl allows extending existing UI controls on server
  • 9. - Controlling or “fixing” the back button - Adding support for bookmarking
  • 10. Implement logical views and associated back/forward navigation Define logical views Be selective about which views and user interaction end up in history Benefits User model is preserved – back takes user to previous view Back through form entry can be prevented Different views of the page can be bookmarked AJAX actually enables a better navigation model ASP.NET AJAX offering History server control and client-side API API supports multiple parts of the page participating in history
  • 11. - User gestures and feedback for dynamic UI
  • 12. Use UI gestures to indicate changes and updates to pages as a result of user actions Highlighting, scrolling, focus, progress, … Be subtle, use simple animations, don't be annoying Benefits Ability to guide user Add additional pizzaz to your application AJAX can actually enable a better UI model for dynamic UI ASP.NET AJAX offering UpdateAnimation control in Ajax Control Toolkit UpateIndicator prototype control
  • 13. Data access in Ajax applications without sacrificing indexability
  • 14. Accessing data in an Ajax application without sacrificing indexability Don't send empty pages Embed initial data in page as semantically correct markup Client-side script might completely alter the visualization to create a rich experience Include additional pages of data in sitemap Benefits Use of semantic markup aids indexability Works well with script-disabled environments Saves initial Ajax request for data ASP.NET Ajax offering Enables leveraging the server programming model Data controls infrastructure
  • 15. - Enhancing content with external content - Accessing services using JSONP and server proxies
  • 16. Lots of interesting scenarios for integrating services One is content enhancement Typically mashups are written using server-side proxies Require cross-domain calls Enables use of configuration (eg. for API key), local caching, throttling calls JSONP enables use of services directly from the client Service needs to support it Uses script tags to enable cross-domain calls Implied trust in service API and service provider ASP.NET AJAX networking stack allows plugging in JSONP ScriptExecutor instead of default XMLHttpExecutor
  • 17. There are many more interesting and relevant patterns Richer Plugin Diagnostics … Patterns on the Web http://ajaxpatterns.org Yahoo! Design Patterns site: http://developer.yahoo.com/ypatterns
  • 18. DEV08 – Go Deep with AJAX DEV19 – High-Speed Development with the AJAX Control Toolkit BD007 – Search Capabilities for ASP.NET Web Content DEV05 – Developing ASP.NET AJAX Controls with Silverlight
  • 19. ASP.NET AJAX site http://ajax.asp.net - Download bits, read docs/quickstarts, watch how-to videos, participate in forums and community Just released: ASP.NET Futures CTP ASP.NET AJAX Control Toolkit http://www.codeplex.com/AtlasControlToolkit - Open source community project, 30+ controls Blogs http://www.nikhilk.net http://weblogs.asp.net/scottgu http://weblogs.asp.net/bleroy http://weblogs.asp.net/elipton
  • 20. Think about the set of problems at the app infrastructure and user experience How can Ajax help improve and differentiate? Patterns provide terminology to talk about these problems and solutions Check out ASP.NET AJAX Extensible platform for building and scaling to broad range of applications ASP.NET AJAX Control Toolkit has a number of out-of-box controls to get you started
  • 21.
  • 22.
  • 23. © 2007 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.
  • 24. This session takes a deeper look at the AJAX paradigm by discussing key development patterns. It demonstrates implementing them using a combination of out-of-the-box features and as well as features built by leveraging the extensibility of the platform. Patterns covered range from fundamentals such as networking, search optimization, navigation, and unobtrusive script attachment to user interface usability techniques such as visual notifications, and customization. The demonstrations are illustrated in the context of a simple scenario, but are designed to be applied directly to real-world applications.