30
Chris Koenig Developer Evangelist http://blogs.msdn.com/chkoenig [email protected]

Next Generation Web Apps with VS08 and .NET 3.5

Embed Size (px)

DESCRIPTION

This was my presentation deck from the Oklahoma City .NET Developer Group meeting on Sept 8, 2008. The demo can be downloaded from http://shrinkster.com/11zu

Citation preview

Page 1: Next Generation Web Apps with VS08 and .NET 3.5

Chris KoenigDeveloper Evangelisthttp://blogs.msdn.com/[email protected]

Page 2: Next Generation Web Apps with VS08 and .NET 3.5

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

Page 3: Next Generation Web Apps with VS08 and .NET 3.5
Page 4: Next Generation Web Apps with VS08 and .NET 3.5

Visual Studio 2008Multi-targetingWeb Page Designer / Split-View EditorCSS Management ToolsJavaScript Intellisense & DebuggingVisual Studio Tools for Office

.NET 3.5 SP1ADO.NET Entity Framework / Entity Data ModelADO.NET Data ServicesASP.NET Dynamic Data

Visual Studio Team SystemUnit / Web / Load TestingCode Metrics / Code Coverage

Page 5: Next Generation Web Apps with VS08 and .NET 3.5

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 time.design 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

Page 6: Next Generation Web Apps with VS08 and .NET 3.5

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 for However, designer-generated CSS can be difficult/intimidating for developers to work withdevelopers 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 now Even the most complicated, designer-created CSS styles are now simple simple to work withto work with

The The ChallengeChallenge

The The SolutionSolution

Page 7: Next Generation Web Apps with VS08 and .NET 3.5

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

Page 8: Next Generation Web Apps with VS08 and .NET 3.5

Visual Studio 2008 integrates and enhances ASP.NET AJAX:Visual Studio 2008 integrates and enhances ASP.NET AJAX:

Adding UpdatePanels and ScriptManagers to an existing ASP.NET Adding UpdatePanels and ScriptManagers to an existing ASP.NET application can dramatically decrease the number of post backsapplication can dramatically decrease the number of post backs

All of the ASP.NET AJAX 1.0 controls and functionality are part of All of the ASP.NET AJAX 1.0 controls and functionality are part of the tool boxthe tool box

ASP.NET AJAX Script Control Library available as a free download ASP.NET AJAX Script Control Library available as a free download from CodePlexfrom CodePlex

The following new Project Items have been added:The following new Project Items have been added:

AJAX Master PageAJAX Master PageAJAX Client LibraryAJAX Client LibraryAJAX Web FormAJAX Web FormAJAX Client ControlAJAX Client ControlAJAX Client Behavior ControlAJAX Client Behavior ControlAJAX enabled WCF ServiceAJAX enabled WCF Service

The The SolutionSolution

Page 9: Next Generation Web Apps with VS08 and .NET 3.5

Add common features to AJAX Add common features to AJAX applications with no code applications with no code requiredrequired

Free open source download Free open source download from CodePlexfrom CodePlex

Sample site is available for Sample site is available for viewingviewing

Lots of tutorials, samples, Lots of tutorials, samples, documents and forums documents and forums availableavailable

Write your own Extenders!Write your own Extenders!

The The SolutionSolution http://asp.net/ajax/

ajaxcontroltoolkit/

Page 10: Next Generation Web Apps with VS08 and .NET 3.5
Page 11: Next Generation Web Apps with VS08 and .NET 3.5

My customers are demanding more from my web UIs - how to I take My customers are demanding more from my web UIs - how to I take advantage of high-definition video and rich interactive applications advantage of high-definition video and rich interactive applications in ASP.NET?in ASP.NET?

Microsoft Silverlight provides a cross-browser, cross-platform, Microsoft Silverlight provides a cross-browser, cross-platform, cross-device framework for building rich interactive applications cross-device framework for building rich interactive applications on the webon the web

Supports high-definition video via the VC-1 codecSupports high-definition video via the VC-1 codec

Tooling support in Visual Studio 2008 and Expression Studio create Tooling support in Visual Studio 2008 and Expression Studio create a rich design and development experiencea rich design and development experience

Silverlight Hosting offers high-bandwidth, high-quality streaming at Silverlight Hosting offers high-bandwidth, high-quality streaming at low costlow cost

DeepZoom provides the ability to smoothly present and navigate DeepZoom provides the ability to smoothly present and navigate large amounts of visual information (images) regardless of the size large amounts of visual information (images) regardless of the size of the data, and optimizing the bandwidth available to download it.of the data, and optimizing the bandwidth available to download it.

The The ChallengeChallenge

The The SolutionSolution

Page 12: Next Generation Web Apps with VS08 and .NET 3.5

2D, GraphicsAudio, VideoAnimationsText, Text Input*Controls*Layout*Styles/Templates*Data Binding*Networking

HTTP/S and Sockets*

.NET Support*C# and VB.NET*Python and Ruby*

LINQ*XML APIs*Generics*HTML Integration*

JSON SerializerLocal storage*Crypto APIs (AES)*Threading*

* New in Silverlight 2

Page 13: Next Generation Web Apps with VS08 and .NET 3.5

Expression Blend and Visual Studio 2008 work better togetherExpression Blend and Visual Studio 2008 work better together

Based on a common language – XAMLBased on a common language – XAML

Tooling supports editing of artifacts from within both environmentsTooling supports editing of artifacts from within both environments

Getting information from designers to developers is a manual, painful Getting information from designers to developers is a manual, painful processprocess

The The ChallengeChallenge

The The SolutionSolution

Page 14: Next Generation Web Apps with VS08 and .NET 3.5

Visual Studio 2008 SP1 DeliversVisual Studio 2008 SP1 Delivers

Improved WPF designersImproved WPF designers

SQL Server 2008 SupportSQL Server 2008 Support

ADO.NET Entity DesignerADO.NET Entity Designer

TFS usability and performance improvementsTFS usability and performance improvements

Improved AJAX and JavaScript supportImproved AJAX and JavaScript support

.NET 3.5 SP1 Delivers.NET 3.5 SP1 Delivers

Improved WPF performance (20-45% without code changes)Improved WPF performance (20-45% without code changes)

ADO.NET Entity Framework / Entity Data ModelADO.NET Entity Framework / Entity Data Model

ASP.NET Dynamic Data, Routing Engine and ADO.NET Data ASP.NET Dynamic Data, Routing Engine and ADO.NET Data ServicesServices

.NET 3.5 Client Profile.NET 3.5 Client Profile

The The SolutionSolution

Page 15: Next Generation Web Apps with VS08 and .NET 3.5

It takes a lot of tedious code to expose my data model via REST It takes a lot of tedious code to expose my data model via REST accessible web services. accessible web services.

ADO.NET Data Services provides a simple to use scaffolding allowing ADO.NET Data Services provides a simple to use scaffolding allowing you to easily expose your data model to the webyou to easily expose your data model to the web

Extension of the ADO.NET Entity Framework or LINQ to SQL and Extension of the ADO.NET Entity Framework or LINQ to SQL and WCFWCF

Customization based on rulesCustomization based on rules

Reduces the overall number of lines of codeReduces the overall number of lines of code

Privides simple URI-based REST model for accessing data Privides simple URI-based REST model for accessing data

Accessible by any REST client, including WCFAccessible by any REST client, including WCF

The The ChallengeChallenge

The The SolutionSolution

Page 16: Next Generation Web Apps with VS08 and .NET 3.5

It takes a lot of tedious code to build data-driven web sites. It takes a lot of tedious code to build data-driven web sites.

ASP.NET Dynamic Data, released as part of .NET 3.5 Service Pack 1 ASP.NET Dynamic Data, released as part of .NET 3.5 Service Pack 1 provides a scaffolding to quickly and easily build data-driven web provides a scaffolding to quickly and easily build data-driven web sites but still allow for deep customizationsites but still allow for deep customization

Extension of the ADO.NET Entity Framework or LINQ to SQL, Extension of the ADO.NET Entity Framework or LINQ to SQL, ASP.NET Routing Framework and ADO.NET Data ServicesASP.NET Routing Framework and ADO.NET Data Services

Customizable UI based on rules and templatesCustomizable UI based on rules and templates

Reduces the overall number of lines of codeReduces the overall number of lines of code

Get data-driven applications up and running quicklyGet data-driven applications up and running quickly

The The ChallengeChallenge

The The SolutionSolution

Page 17: Next Generation Web Apps with VS08 and .NET 3.5
Page 18: Next Generation Web Apps with VS08 and .NET 3.5

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

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 TimesRun TestsRun TestsDisable DeploymentDisable DeploymentTest InheritanceTest InheritanceDirectly go to the Point of FailureDirectly go to the Point of Failure

Visual Studio 2008 Team System enables captures HTTP requests Visual Studio 2008 Team System enables captures HTTP requests whether user or script generated whether user or script generated

The The ChallengeChallenge

The The SolutionSolution

Page 19: Next Generation Web Apps with VS08 and .NET 3.5

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

Page 20: Next Generation Web Apps with VS08 and .NET 3.5

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

Page 21: Next Generation Web Apps with VS08 and .NET 3.5

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

New ability to visually compare performance dataNew ability to visually compare performance data

The The ChallengeChallenge

The The SolutionSolution

Page 22: Next Generation Web Apps with VS08 and .NET 3.5
Page 23: Next Generation Web Apps with VS08 and .NET 3.5

Collaborate and communicateDrive predictabilityManage team workflowUse familiar toolsEnsure quality early and oftenIntegrate work frequentlyMake real-time decisions

Page 24: Next Generation Web Apps with VS08 and .NET 3.5

TesterTester

DeveloperDeveloper

ArchitectArchitect

IT/ProjectIT/ProjectManagerManager

BusinessBusinessAnalystAnalyst

Database Database ProfessionalProfessional

DesignerDesigner

Overcome complexityQuality mindsetCulture of innovation

IndividualIndividual

CollaborationTransparencyIntegration

TeamTeam

ClarityAlignment

Efficiency

OrganizationOrganization

Lightweight, customizable processIntegrated quality tools for each roleReduce defects and security vulnerabilities

Page 25: Next Generation Web Apps with VS08 and .NET 3.5
Page 26: Next Generation Web Apps with VS08 and .NET 3.5

Visual Studio 2008Multi-targetingWeb Page Designer / Split-View EditorCSS Management ToolsJavaScript Intellisense & DebuggingVisual Studio Tools for Office

.NET 3.5 SP1ADO.NET Entity Framework / Entity Data ModelADO.NET Data ServicesASP.NET Dynamic Data

Visual Studio Team SystemUnit / Web / Load TestingCode Metrics / Code Coverage

Page 27: Next Generation Web Apps with VS08 and .NET 3.5
Page 28: Next Generation Web Apps with VS08 and .NET 3.5

Install Visual Studio 2008 Trial version availablehttp://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

Get the latest on Silverlighthttp://www.silverlight.net

Subscribe to my bloghttp://blogs.msdn.com/chkoenig

Del.icio.us Tagshttp://del.icio.us/ChrisKoenig/35sp1

Page 29: Next Generation Web Apps with VS08 and .NET 3.5

9/13/08 - Houston TechFesthttp://houstontechfest.com 9/23/08 - MSDN Unleashed & ArcReadyhttp://arcready.com 10/9/08 - Tulsa TechFest (2 days)http://tulsatechfest.com 1/16/09 - We Are Microsofthttp://wearemicrosoft.com

>>> http://southcentraldevelopers.com <<<

Page 30: Next Generation Web Apps with VS08 and .NET 3.5

© 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.