Reach End Users With Next Generation Web Applications
-
Upload
jeff-blankenburg -
Category
Technology
-
view
3.274 -
download
1
Transcript of Reach End Users With Next Generation Web Applications
Jeff BlankenburgDeveloper EvangelistMicrosoft Corporation
{ { Reach End-Users With Reach End-Users With Next Generation Web Next Generation Web Applications Applications }}
Web development has Web development has evolved so that developers evolved so that developers are expected to deliver rich are expected to deliver rich
user experiencesuser experiences
{ { challenges challenges } Are } Are Everywhere…Everywhere…
Functional testing for ASP.NET Functional testing for ASP.NET AJAX and JavaScriptAJAX and JavaScript
Integrated code metricsIntegrated code metrics
Improved performance and Improved performance and scalability profilingscalability profiling
Faster, Easier Faster, Easier DevelopmentDevelopment
A powerful, new HTML designerA powerful, new HTML designer
CSS managementCSS management
JavaScript debugging and JavaScript debugging and Intellisense®Intellisense®
Better support for working with Better support for working with datadata
ListView controlListView control
LinqDataSourceLinqDataSource
Less Effort, More EffectLess Effort, More Effect
ASP.NET AJAX built-inASP.NET AJAX built-in
Enhanced AJAX functionalityEnhanced AJAX functionality
Better interoperability with WebParts, <asp:treeview>, <asp:menu>, etcBetter interoperability with WebParts, <asp:treeview>, <asp:menu>, etc
Nested master pagesNested master pages
New ListView controlNew ListView control
Breakthrough User ExperiencesBreakthrough User Experiences
HTML is getting more and more complicated – we need help!HTML is getting more and more complicated – we need help!
Visual Studio® 2008 provides a powerful new HTML designer that Visual Studio® 2008 provides a powerful new HTML designer that tames even the most complicated HTML; it includestames even the most complicated HTML; it includes
A split view that enables you to see your HTML from a source and A split view that enables you to see your HTML from a source and design perspective at the same timedesign perspective at the same time
Nested master pages to help you factor your HTML more efficientlyNested master pages to help you factor your HTML more efficiently
The The ChallengeChallenge
The The SolutionSolution
Cascading Style Sheets (CSS) are ubiquitous because they promote Cascading Style Sheets (CSS) are ubiquitous because they promote accessibility and standards complianceaccessibility and standards compliance
However, designer-generated CSS can be difficult/intimidating However, designer-generated CSS can be difficult/intimidating for developers to work withfor developers to work with
New features for working with CSS style sheetsNew features for working with CSS style sheets
Intellisense for CSSIntellisense for CSS
Filtered lists of which styles are being in a page or selectionFiltered lists of which styles are being in a page or selection
Visually apply styles to elementsVisually apply styles to elements
Even the most complicated, designer-created CSS styles are Even the most complicated, designer-created CSS styles are now simple to work withnow simple to work with
The The ChallengeChallenge
The The SolutionSolution
CSS styles CSS styles used in pageused in pageSplit view that shows Split view that shows
both markup and both markup and designdesign
Intellisense that Intellisense that shows what CSS shows what CSS class names are class names are
availableavailable
‘‘Go to definition’ option Go to definition’ option enables you to go to enables you to go to
source of CSS style from source of CSS style from markupmarkup
It’s always about data!It’s always about data!
The ChallengeThe Challenge
Use LINQ directly in an ASP.NET Use LINQ directly in an ASP.NET page with LinqDatasourcepage with LinqDatasource
Just another data source, so it Just another data source, so it works with any ASP.NET controlworks with any ASP.NET control
The SolutionThe Solution
{ { ASP.NET Support For ASP.NET Support For LINQ LINQ }}
Languages like JavaScript are more and more popularLanguages like JavaScript are more and more popular
Their type-less, dynamic nature presents challenges to traditional Their type-less, dynamic nature presents challenges to traditional development activities like debugging and statement completiondevelopment activities like debugging and statement completion
Visual Studio 2008 makes JavaScript a 1st class development Visual Studio 2008 makes JavaScript a 1st class development experience withexperience with
Syntax coloringSyntax coloring
IntellisenseIntellisense
DebuggingDebugging
The The ChallengeChallenge
The The SolutionSolution
HTTP is a stateless protocol, so web applications must post back to HTTP is a stateless protocol, so web applications must post back to servers to update themselvesservers to update themselves
The user experience is degraded because the entire page must be The user experience is degraded because the entire page must be re-drawnre-drawn
An unnecessarily high load is put on the server because the entire An unnecessarily high load is put on the server because the entire page page must be rendered againmust be rendered again
Bandwidth is being wasted to send updates to elements that have Bandwidth is being wasted to send updates to elements that have not changednot changed
The The ChallengeChallenge
UpdatePanel is the UpdatePanel is the only change neededonly change needed
Core content stays the Core content stays the same – just located in same – just located in
UpdatePanel nowUpdatePanel now
image=/images/newimage.gif&page=4&items=show_sales
GET /default.aspxHTTP/1.1 Host: www.fabrikam.comUser-Agent: Internet Explorer/7.0
All my services are being re-written with WCF – how does my All my services are being re-written with WCF – how does my ASP.NET application call them?ASP.NET application call them?
Visual Studio 2008 provides a new project item that creates a Visual Studio 2008 provides a new project item that creates a default default AJAX-enabled WCF serviceAJAX-enabled WCF service
Existing WCF services can be decorated with an attribute to Existing WCF services can be decorated with an attribute to convert their communication format to something that is AJAX convert their communication format to something that is AJAX friendly friendly (i.e., JSON or REST)(i.e., JSON or REST)
Also, in Visual Studio 2008, the ScriptManager supports the Also, in Visual Studio 2008, the ScriptManager supports the registration of WCF services as well ASMXregistration of WCF services as well ASMX
The The ChallengeChallenge
The The SolutionSolution
New Project ItemNew Project Item
Attribute that Attribute that makes this WCF makes this WCF
service AJAX-service AJAX-callablecallable
{ { ASP.NET AJAX And ASP.NET AJAX And Visual Studio 2008 Visual Studio 2008 }}
My ‘breakthrough’ only works for Internet Explorer; but my customers My ‘breakthrough’ only works for Internet Explorer; but my customers use use other browsers tooother browsers too
In Visual Studio 2008, ASP.NET AJAX provides client-script libraries In Visual Studio 2008, ASP.NET AJAX provides client-script libraries that incorporate cross-browser ECMAScript (JavaScript) and that incorporate cross-browser ECMAScript (JavaScript) and dynamic HTML (DHTML) technologies; this technology is dynamic HTML (DHTML) technologies; this technology is compatible with commonly used browsers such ascompatible with commonly used browsers such as
Internet ExplorerInternet Explorer
Mozilla FirefoxMozilla Firefox
Apple SafariApple Safari
The The ChallengeChallenge
The The SolutionSolution
AJAX-enabled web applications are very popular, but their AJAX-enabled web applications are very popular, but their asynchronous nature makes testing them very difficultasynchronous nature makes testing them very difficult
Visual Studio 2008 Team System enables team members to target Visual Studio 2008 Team System enables team members to target even the most complex AJAX applications – HTTP requests, even the most complex AJAX applications – HTTP requests, whether user or script generated are captured as part of the web whether user or script generated are captured as part of the web testtest
The The ChallengeChallenge
The The SolutionSolution
Practicing formal Test Driven Development (TDD) is very demanding Practicing formal Test Driven Development (TDD) is very demanding for even the most sophisticated of development toolsfor even the most sophisticated of development tools
Visual Studio 2008 Team System makes great strides towards Visual Studio 2008 Team System makes great strides towards making TDD more productive. These improvements includemaking TDD more productive. These improvements include
Better execution timesBetter execution times
Run testsRun tests
Short cut keys to run testsShort cut keys to run tests
Disable deploymentDisable deployment
Test inheritanceTest inheritance
Directly go to the point of failureDirectly go to the point of failure
The The ChallengeChallenge
The The SolutionSolution
Less than 15% of the world uses English as their everyday languageLess than 15% of the world uses English as their everyday language
Visual Studio 2008 and ASP.NET provide many different ways to Visual Studio 2008 and ASP.NET provide many different ways to ensure that your web application is ready for the worldensure that your web application is ready for the world
The ScriptManager supports a setting that enables client script to The ScriptManager supports a setting that enables client script to format a JavaScript Date or Number object based on a culture format a JavaScript Date or Number object based on a culture value; this does not require a post back to the servervalue; this does not require a post back to the server
Localized resources can be included in a ScriptManager registered Localized resources can be included in a ScriptManager registered JavaScript file and used throughout your applicationJavaScript file and used throughout your application
The The ChallengeChallenge
The The SolutionSolution
{ { Multi-Browser Support Multi-Browser Support }}
How do developers know they are writing code that can be How do developers know they are writing code that can be maintained and understood in the future?maintained and understood in the future?
Visual Studio 2008 Team System integrates sophisticated code Visual Studio 2008 Team System integrates sophisticated code metrics that enable developers to clearly understand how metrics that enable developers to clearly understand how maintainable and complex maintainable and complex the code they are building is; This understanding is gathered from the code they are building is; This understanding is gathered from the following metricsthe following metrics
Cyclometic complexityCyclometic complexity
Maintainability indexMaintainability index
Inheritance depthInheritance depth
Class couplingClass coupling
Lines of codeLines of code
The The ChallengeChallenge
The The SolutionSolution
Code reviews are time consuming, error prone and depends on Code reviews are time consuming, error prone and depends on ‘group’ knowledge‘group’ knowledge
Code analysis examines every path code might take; looking for Code analysis examines every path code might take; looking for known problems and concerns; This feature has been greatly known problems and concerns; This feature has been greatly enhanced in enhanced in Visual Studio 2008Visual Studio 2008
Better discoverability of the feature through the Developer top-Better discoverability of the feature through the Developer top-level menulevel menu
More flexible warning suppressionsMore flexible warning suppressions
Code analysis report comparisonCode analysis report comparison
Enhanced code analysis check-in policyEnhanced code analysis check-in policy
Code-aware spell checkerCode-aware spell checker
The The ChallengeChallenge
The The SolutionSolution
Understanding data gathered by a profiler is difficult and tediousUnderstanding data gathered by a profiler is difficult and tedious
In Visual Studio 2008 Team System, the industrial strength profiler In Visual Studio 2008 Team System, the industrial strength profiler has been enhanced across the board; this includeshas been enhanced across the board; this includes
New data collection controlNew data collection control
WCF supportWCF support
However, probably its most notable features is its ability to visually However, probably its most notable features is its ability to visually compare performance datacompare performance data
The The ChallengeChallenge
The The SolutionSolution
Dynamically Dynamically control how control how
performance data performance data is gatheredis gathered
Insert ‘marks’ Insert ‘marks’ which help you which help you correlate datacorrelate data
Compare 2 Compare 2 performance performance
reports against reports against each othereach other
Functional testing for ASP.NET Functional testing for ASP.NET AJAX and JavaScriptAJAX and JavaScript
Integrated code metricsIntegrated code metrics
Improved performance and Improved performance and scalability profilingscalability profiling
Faster, easier Faster, easier developmentdevelopment
A powerful, new HTML designerA powerful, new HTML designer
CSS managementCSS management
JavaScript debugging and JavaScript debugging and Intellisense®Intellisense®
Better support for working with Better support for working with datadata
ListView controlListView control
LinqDataSourceLinqDataSource
Less effort, more effectLess effort, more effect
ASP.NET AJAX built-inASP.NET AJAX built-in
Enhanced AJAX functionalityEnhanced AJAX functionality
Better interoperability with WebParts, <asp:treeview>, <asp:menu>, etcBetter interoperability with WebParts, <asp:treeview>, <asp:menu>, etc
Nested master pagesNested master pages
New ListView controlNew ListView control
Breakthrough user experiencesBreakthrough user experiences
Install Visual Studio 2008 Trial version available
http://msdn.microsoft.com/vstudio
Get the latest on ASP.NET http://www.asp.net/
Download Starter kits, hands-on-labs and videoshttp://msdn.microsoft.com/vstudio
Evaluation material at http://www.microsoft.com/vstudio
© 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.