tony goodhew product planner [email protected] dev328

36

Upload: harriet-jennings

Post on 13-Jan-2016

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328
Page 2: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Building Smart Client Applications in Microsoft Visual Studio 2008Tony GoodhewProduct [email protected]

DEV328

Page 3: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Reusability

Key Smart Client Tech∙Ed Topics

Post VS 2008

Taking Data Offline

Working with Data

User Profiles

User Experience

Deployment

Page 4: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Working With Data

Page 5: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328
Page 6: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Problem:Data != Objects

Page 7: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

LINQ Architecture

LINQ-enabled data sources

LINQ To

Objects

LINQ To XML

LINQ-enabled ADO.NET

Visual Basic Others

LINQ To

Entities

LINQ To SQL

LINQ To

Datasets

.Net Language Integrated Query (LINQ)

Visual C#

Objects Relational XML

Page 8: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

.NET Language Integrated Query Framework

demo

Page 9: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Taking Data Offline

Page 10: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328
Page 11: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Problems:Nowhere to keep local dataKeeping local and server in sync

Page 12: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Transport

ServiceServiceProxy

Data Forms

Data Access

ServerSyncProviderClientSyncProvider

Sync Component Architecture

SQL Server Compact

Edition 3.5

Sync Agent

SyncAgent

SQL Server Compact

Edition 3.5

Server DB

Client

Client Server

Can push changes directly or via services

Page 13: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Sync Services for ADO.NET

demo

Page 14: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

User Profiles

Page 15: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Problem:Expensive to

leverage existing web services

Page 16: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Client Application Services

Client App

Web Page

Internet

Web Services

Experience unchanged on lost connectivity

AuthenticationRolesProfiles

Page 17: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Client Application Services

demo

Page 18: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

User Experience

Page 19: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Problem:Design Matters

Page 20: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328
Page 21: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Controls / Content

User Controls

Windows

WPF Windows

FormsWindows Forms Application

WPF Application

Controls / Content

User Controls

Forms

ActiveX

Integration Scenarios

Page 22: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Building a Hybrid Application

demo

Page 23: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Designer / Developer Collaboration

Expression Blend

Control TemplatesData TemplatesAnimationAdvanced LayoutsTriggers

Visual Studio 2008

LayoutXAML EditingElement NavigationVB & C# code editingDebuggingDeployment

Page 24: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Problem:Deployment

Page 25: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

ClickOnce Deployment Framework

Isolated Low Impact Declarative Installation

Smart Client Deployment Meets Web Deployment

Auto Update

Deep Microsoft Visual Studio Integration

Rich Security Model

Page 26: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328
Page 27: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

VS 2008 ClickOnce Enhancements

Application no longer tied to a publish location on signing

Added Firefox Support

Distributed Apps maintain the author’s branding

Auth Certificates now renewable across updates

Works across authenticated proxies

Page 28: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Reusability

Page 29: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

What Is "Acropolis?"

Rich, extensible run-time frameworkDesign-time tools to support visual composition of componentsLeverages Windows Presentation Framework (WPF), Windows Workflow Foundation (WF), Windows Communications Foundation (WCF) technologies

Dramatically simplify the way to define, develop,

configure, deploy and manage client applications

Page 30: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Customer Feedback

Page 31: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Customer, Customer, Customer…Listened to your feedback and fixed

the top customer reported bugs

Improved designer performance

Fixed bugs that caused ‘Design-Time Error List’ to appear

Increased custom Smart Tag stability

Allowed for custom Toolbox Population

Many, many more…

Page 32: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Design-Time Error List

Similar to the Build Error ListPrevents controls from disappearingList was :

VagueClutteredImposingFrustrating

Page 33: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

New Design-Time Error List

Improved usabilityGroups similar errors into bucketsProvides targeted help Links to the MSDN ForumsAllows you to “Ignore and Continue”

Page 34: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Reusability

Key Smart Client Tech∙Ed Topics

Post VS 2008

Taking Data Offline

Working with Data

User Profiles

User Experience

Deployment

Page 35: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

Questions?

Page 36: Tony Goodhew Product Planner tgoodhew@microsoft.com DEV328

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