I T Mentors V S2008 Onramp240 V1

Preview:

DESCRIPTION

Deck from presentation on October 11 in Irvine, CA

Citation preview

Visual Studio 2008 OnRamp240

Fundamentals of Visual Studio Fundamentals of Visual Studio 20082008

Rich Web ApplicationsRich Web Applications

Next-Generation Windows Next-Generation Windows ApplicationsApplications

Office Client Applications and Office Client Applications and VSTOVSTO

Lynn Langit – MSDN Developer Evangelisthttp://blogs.msdn.com/SoCalDevGal

Developer Productivity

Next Generation Applications

Team Collaboration

Visual Studio 2008 Vision

Language advances• .NET Framework multi-targeting support• Improved Data & Language integration in VB / C#

Improvements for Web Developers• HTML / CSS designer enhancements• JavaScript Intellisense and debugging support

Developer Productivity

• Integrating the database professional

• Extensions to Unit Testing

• Load Testing for the Enterprise

• New performance tuning and diagnostic tools

Team Collaboration

Architect

TesterProject

Manager

DatabaseProfessional

Developer Designer

Best tool set for Windows Server 2008, Windows Vista & Microsoft Office 2007, SQL Server 2008• .NET Framework 3.5 design surfaces• Office 2007 support including ClickOnce and VSTO

Improvements for Web Developers• Integrated AJAX and Silverlight support• Improved JavaScript support (Intellisense and debugging)

Support for the Latest Platforms

What is the .NET Framework 3.5?

.NET Framework 3.5.NET Framework 3.5

.NET Framework 3.0.NET Framework 3.0

.NET Framework 2.0.NET Framework 2.0

.NET FrameworkTimeline

Nov 2006Nov 2006

Dec 2006Dec 2006

Fall 2007Fall 2007

Nov 2005Nov 2005

.NET Framework 2.0.NET Framework 2.0

Visual Studio 2005Visual Studio 2005

ArchitectsArchitectsDevelopersDevelopers

TestersTestersProjectProject

ManagersManagers HobbyistsHobbyistsEnthusiastsEnthusiasts

StudentsStudents

Database EditionDevelopment Edition

Architecture EditionTest Edition

Team Foundation Server

The Ultimate User Experience with Visual Studio 2008

ApplicationPlatform

Reliable, Usable, Desirable, Adaptable

Ric

hR

each

Browser + AJAX

Browser + Silverlight

Windows Vista + WPF

Rapid Application Development with Visual Studio 2008

LINQ: Smoother Data Handling

DatabaseObjects

XML

C#

VB .NET

Others…

Multi-Targeting SupportChoose which Framework version to target• .NET Framework 2.0 (“Visual Studio 2005”)• .NET Framework 3.0 (“Windows Vista”)• .NET Framework 3.5 (“Visual Studio 2008”)

Visual Studio enables only features available in target Framework• Toolbox, Project types, References, Intellisense, …

Makes it easy to upgrade to Visual Studio 2008• Move existing Visual Studio 2005 applications to .NET

Framework 3.5 gradually

Using Visual Studio 2008 multi-Using Visual Studio 2008 multi-targeting to simplify targeting to simplify development across different development across different versions of the .NET platformversions of the .NET platform

Rich Web ApplicationsRich Web Applications

Web Page AuthoringASP.NET AJAXSilverlightIIS 7Windows Live Services

Expressive andExpressive andstandards-compliantstandards-compliant

BetterBetterdeveloper/designerdeveloper/designer

collaborationcollaboration

Secure, scalableSecure, scalableplatformplatform

Windows Server 2008C

ore

Integrated Hypervisor

App PlatformApp Platform ManagementManagement.NET 3.0

IIS 7

WS-Management

Monitoring

The FundamentalsThe Fundamentals

Transactions Recovery

Storage Networking

Serv

er

Role

s

Security

Windows Server 2008 Features for Windows Server 2008 Features for DevelopersDevelopersApplication Server• .NET Framework 3.0• IIS 7• Windows Activation Service

Management• PowerShell• MMC 3.0

Transactions• Transactional NTFS and Registry

Internet Information Services (IIS) 7Internet Information Services (IIS) 7

IIS 7.0• Designed for modularity• Provides an extensibility architecture for hosting content

IIS7 Modules• Both Native and Managed are supported• Managed modules can be applied to all requests, not just ASP.NET

IIS7 Administration• Provides comprehensive Managed API• Resides in Microsoft.Web.Administration namespace

Web Development Enhancements

Javascript Intellisense & DebuggingRicher HTML/CSS Designer Support• Split View (simultaneous source and designer)• CSS Properties, Manage/Apply Styles windows, and direct

style application toolbar• Improved CSS/HTML layout and visualization in designer

ASP.NET Development Enhancements

Nested Master Page preview in designerNew Web data controls: • LinqDataSource, ListView, DataPager

LINQ supportReturn of Web Projects

ASP.NET AJAX IntegrationASP.NET AJAX templates in Web projectsJavaScript and ASP.NET AJAX Intellisense (in both pages and JS files)• Type inference, DOM support, enhanced function and

parameter tooltips• Intellisense against “referenced” script libraries in pages

and JS files

Script Debugging Improvements• Breakpoints in design-time code automatically map to runtime code• Switch between design-time/runtime code in Solution Explorer

while debugging• Improved debug watch information for script and DOM objects

Improving Web developer Improving Web developer productivity with new design tools productivity with new design tools and ASP.NET AJAX Integrationand ASP.NET AJAX Integration

Additional Web Enhancements

Microsoft Silverlight• Silverlight extensions• Intellisense and code generation for XAML• Debugging support

Windows Live Services

Silverlight

Silverlight is a cross-browser, cross-platform plug-in for delivering the next generation of media experiences and rich interactive applications (RIAs) for the Web.

Windows Live APIs

Flexible Monetization Options

Platform

Rich Media ExperiencesRich Media Experiences

Sharing &Storage

Sharing &Storage

Communicate &Stay ConnectedCommunicate &Stay Connected

Find &LocateFind &Locate

Identity &Authentication

Identity &Authentication

Silverlight Streaming

Live Spaces

Virtual Earth

LiveID

Live Contacts

Search

Agents Alerts

IM & Presence

Training & SupportTraining & Support Service Level AgreementsService Level Agreements Flexible Monetization OfferingsFlexible Monetization Offerings

Serv

ice A

PIs

& C

on

trols

Language INtegrated Query (LINQ)

Integrated, native query syntax in C# and VBIntegrated, native query syntax in C# and VB• Interact with data as objectsInteract with data as objects

Reduce the complexity when working with dataReduce the complexity when working with data• Consistent API for object collections, XML, SQL dataConsistent API for object collections, XML, SQL data

BenefitsBenefits• Work with data in a consistent way, regardless of the type of Work with data in a consistent way, regardless of the type of

datadata• Better integration with programming languagesBetter integration with programming languages• Improved productivity through IntelliSense in Visual StudioImproved productivity through IntelliSense in Visual Studio

LINQ to SQLAccessing data today Queries in

quotesQueries in

quotes

Loosely bound

arguments

Loosely bound

arguments

Loosely typed result

sets

Loosely typed result

sets

No compile time checksNo compile time checks

Classesdescribe

data

Classesdescribe

dataTables are

likecollections

Tables are like

collectionsStrongly

typedconnections

Strongly typed

connectionsIntegrated

query syntax

Integratedquery syntax

Strongly typedresults

Strongly typedresults

LINQ to SQLAccessing data with LINQ

SQL Server

Application

LINQ to SQL

LINQ to SQLLINQ Architecture

from c in db.Customerswhere c.City == "London"select c.CompanyName

from c in db.Customerswhere c.City == "London"select c.CompanyName

LINQ Query

SQL Query

SELECT CompanyNameFROM CustWHERE City = 'London'

SELECT CompanyNameFROM CustWHERE City = 'London'

Rows

Objects SubmitChanges()

DML or SProcs

db.Customers.Add(c1);c2.City = “Seattle";db.Customers.Remove(c3);

db.Customers.Add(c1);c2.City = “Seattle";db.Customers.Remove(c3);

INSERT INTO Cust …UPDATE Cust …DELETE FROM Cust …

INSERT INTO Cust …UPDATE Cust …DELETE FROM Cust …

Improving developer productivity Improving developer productivity with Language Integrated Query with Language Integrated Query (LINQ) and SQL Server data (LINQ) and SQL Server data

Next-Generation Windows Next-Generation Windows ApplicationsApplicationsSmart Client DevelopmentWindows Presentation FoundationWindows Forms/WPF InteroperabilityWindows Communication Foundation & Windows Workflow Integration

Improvements for Smart Client DevelopmentIntegrated UI designer experienceImproved ClickOnce application deploymentOffice 2007 UI for native C++ applicationsClient Application-Level Services

Windows Presentation Foundation

Deliver Innovative User InterfacesIncrease Developer-Designer Productivity Leveraging Existing Code Base and Skills SetA productive, unified approach to UI, mediaand documents to deliver unmatched UX

Windows Presentation FoundationVisual Studio 2008 Enhancements

Visual Studio Designer for WPF• Creates a seamless designer/developer workflow with

Expression Blend

XAML-based editing directly in the IDE• Changes reflected in the designer in real time• Intellisense based on a XAML language service

Control extensibilityProject templates, debugger & deployment supportSide-by-side support for WinForms ClickOnce deployment support for WPF apps

Designers design

With XAML designers & With XAML designers &

developers can streamline developers can streamline

their collaborationtheir collaboration

Developers add business logic

Visual Studio 2008 supports "bi-directional" integration of WPF and Windows Forms• Windows Forms applications hosting WPF• WPF hosting Windows Forms controls

Benefits• Bring WPF functionality to existing applications• Re-use existing controls in new WPF applications

WPF & Windows Forms Interop – "Hybrid" Apps

Leverage ASP.NET Services on the client• Share user authentication and authorization between Client and Web

applications• Store user settings on the web

Client Services infrastructure• Handles web services communication• Provides offline support

Client Application Services

Simplified development using the Simplified development using the new WPF design toolsnew WPF design tools

Interoperability with WPF & Interoperability with WPF & WinFormsWinForms

Windows Communication Foundation

Microsoft’s platform for distributed systems

Build WCF services in Visual Studio 2008 using any .NET Language• Intelligent code editing, IDE Extensions for WCF, debugging, re-factoring,

code snippets, Autohost, test, client, config editing, etc.• Visual Basic .NET, Visual C#, etc.

Runs on• Microsoft Windows Vista• Microsoft Windows XP• Microsoft Windows Server 2003• Microsoft Windows Server 2008

WCF – What's New in Visual Studio 2008

Tooling• Autohost, test client, new config editor, debugging

HTTP programming support• 1st class REST support, Syndication

JSON messaging supportOASIS standard support (new protocols)Windows Workflow Foundation (WF) integration

Windows Workflow Foundation

Programming model, engine and tools for building workflow enabled applications on Windows platform

Author Workflows in Visual Studio 2008 using any .NET Language• Intelligent code editing, IDE Extensions for designing workflows, visual

debugging, re-factoring, code snippets, Service Contract designer, new service activities, etc.

• Visual Basic .NET, Visual C#, etc.

Runs on• Microsoft Windows Vista• Microsoft Windows XP• Microsoft Windows Server 2003• Microsoft Windows Server 2008

WF – What's New in Visual Studio 2008

Integration between WF and WCF• Services implemented as workflow• Workflow hosted as service

Benefits• Enables durable services• Enables conversations• Enables security around workflows

New tooling to create contracts

Building Connected Applications Building Connected Applications with Windows Communication with Windows Communication Foundation and Windows Foundation and Windows Workflow FoundationWorkflow Foundation

Office Client Applications and VSTOOffice Client Applications and VSTO

Office Business ApplicationsVisual Studio Tools for OfficeRibbon DesignerOutlook Form RegionsClickOnce Deployment

Office as a Developer Platform

Familiar user interface500+ million users worldwideOffice Open XML file formatsMicrosoft Office SharePoint Server 2007

LOB LOB AppsApps

The "Results Gap"The "Results Gap"

LOB LOB AppsApps

OfficeBusiness

Applications

Estimate custom design

Unstructured

CreateLead

Qualified?

RetireLead

CreateOppt’y

CreateQuote

Closed? CompleteSale

Create Invoice

Get specs from customer

Validate specs with Tech Sales

Cost out the solution

Decide discount strategy

Assemble proposed response

Approve proposed response

Structured

“Classic” Enterprise Applications

Office Business Applications

Estimate custom design

Unstructured

Office SharePoint Server

Word Excel Outlook InfoPath

• Document-level code behind• Brings Microsoft Office into the managed world• Strict security model

• Custom ActionsPane• Host Controls on doc

surface• Cached Data in the

document• Server-side data

processing• App-level add-ins for

Outlook

VSTO 2008VSTO 2008 • New designers: ribbon, custom task pane, Outlook form region

• App-level add-ins for most client programs• ClickOnce deployment and security• VBA/VSTO interoperability• Workflow & Microsoft SharePoint support• VSTO integral part of Visual Studio 2008

Professional

VSTO 2005VSTO 2005&&

VSTO 2005 SEVSTO 2005 SE

VSTO 2003VSTO 2003

Office Applications

Visual Studio 2008 Professional includes Visual Studio Tools for Office

Visual designers for Ribbon, Task & Action pane, Outlook Form Region customization

Integrated Workflow & Microsoft SharePoint SupportData binding in Word Content ControlsApplication-level add-ins for most client programs (both 2003 & 2007)

Document-level add-ins for Excel & Word 2007Improved deployment and security using ClickOnce

Office has built-in support for XML-based customization model

VSTO 2005 SE support:• Simplifies hookup from .NET via pre-

generated classes and sample XML

VSTO 2008 support: • Adds full-blown visual designer support• “Export to XML” option• A more robust programming layer

Ribbon Development

The benefits of Office Business The benefits of Office Business Applications and the power of the Applications and the power of the new Ribbon Designernew Ribbon Designer

New technology in Outlook 2007 for enhancing and replacing Outlook’s built-in forms

Form regions are created using Outlook Forms DesignerFour types of form regions• Adjoining and Separate regions for both custom and built-in forms• Replacement and Replace-all regions for custom forms

Reading Pane can display all types except SeparateCode behind form region is implemented as COM Add-inNew controls provide built-in look and feel as well as data binding to Outlook data

Outlook Form Regions

VSTO eases development of Outlook form regions• Use wizard to import Outlook designed form region• Controls are created and cast to correct name &

typeVSTO enables WinForm form regions• Drag & Drop WinForms designer provided• Properties window support

VSTO provides enhanced programming model, form region manifest object, automatic registration of add-in and form region, etc…

Outlook Form Regions and VSTO

Low-impact deployment mechanism• Self-contained• Solutions installed per user

Prerequisites are installed if the user is an adminSupports solution update / rollback without user interventionOffline availability of solution

ClickOnce Deployment

Leveraging the power of Outlook Leveraging the power of Outlook Form Regions and ClickOnce Form Regions and ClickOnce Deployment for Office 2007Deployment for Office 2007

Open XML = new file formats in Microsoft Office 2007• Open and standardized• Provide interoperability, compatibility and transparency

LINQ to XML enables language-based queries against XMLTogether, these technologies enable a new way of thinking about data in Office documents

Microsoft Office Open XML and LINQ to XML

LINQ To XML

Language integrated query for XML• Expressive power of XPath / XQuery• But with C# or VB as programming language

Leverages experience with DOM• Functional construction• Element centric, not document centric• Simplified XML namespace support• Annotations• Faster and smaller

Designed to make XML usable without learning specialized technologies such as XPath/XSLT

LINQ to XMLProgramming XML today Document-

centricDocument-

centric

No integrated

queries

No integrated

queries

Memory intensiveMemory intensive

<contacts> <contact> <name>Great Lakes Food</name> <phone>(503) 555-7123</phone> </contact> …</contacts>

LINQ to XMLProgramming XML with LINQ Element-

centricElement-centric

Integrated queries

Integrated queries

Smaller andfaster

Smaller andfaster

<contacts> <contact> <name>Great Lakes Food</name> <phone>(503) 555-7123</phone> </contact> …</contacts>

Accessing content from Open XML Accessing content from Open XML using LINQ to XMLusing LINQ to XML

Summary

Visual Studio 2008 and .NET 3.5 provide a host of new features and tools that:• Improve developer productivity (LINQ, Intellisense, debugging, etc.)• Support the latest platforms (Vista, Windows Server 2008, Office 2007)• Enable unprecedented team collaboration (Visual Studio Team System

2008)

Additional VS2008 Features…

Language enhancementsMFC & C++ enhancements for Vista “look &

feel”New managed add-in modelCLR enhancements

• Partial trust, Threading enhancements

High-performance trace listenerTrace listener that logs events to Event

Tracing for Windows in Windows VistaAnonymous pipes and named pipesPeer-to-peer network APIsWMI Provider Extension 2.0SQL Server Compact EditionSQL Server Reporting Services Support

XSLT DebuggerMSBuild – parallel/multi-processor builds, multi-threaded buildsVSTS improvementsProfiler support for WCF ApplicationsCustomize and extend code correctness policies – Team edition for developersTools for performance tuning an enterprise appWeb Test rules improvementsVersion control support – annotate

New Language Features – C#

• Local Variable Type Inference

• Object Initializers• Collection Initializers• Anonymous Types• Auto-Implemented Properties

• Extension Methods• Lambdas

• Query Expressions• Expression Trees• Partial Methods• Implicitly-Typed Arrays

New Language Features – VB

• Query operators• Nullable support• Lambda Expressions (aka Inline Functions)

• Partial Methods• Anonymous Types w/Keys

• Query Expressions• Expression Trees• Partial Methods• Implicitly-Typed Arrays