Top model AMERICA’S NEXT view controller. ScottGu Wrote The First Prototype of ASP.NET MVC While...

Post on 17-Jan-2018

218 views 0 download

description

ScottGu Wrote The First Prototype of ASP.NET MVC While Flying A Plane In

transcript

top model Phil HaackSenior Program ManagerMicrosoft Corporation

A M E R I C A ’ S N E X T

view controller

Objectives and TakeawaysWhat’s in it for you?

Session Objectives Introduce you to this crazy new MVC thingConvince you that it’s not as crazy as it seemsNot bore you to sleep

Key TakeawaysASP.NET MVC puts you in full controlExcitement about ASP.NET MVCLack of Sleep

Urban Myth Point of Clarification

ScottGu Wrote The First Prototype of ASP.NET MVC While Flying

A Plane

In

What is ASP.NET MVC?I ask myself this every night

A new Web Application Project typeSimply an option

Not a replacement for WebFormsBuilds on top ASP.NETManual vs Automatic Transmission

File | New

demo

What is MVC?

A design patternAcronym for Model ● View ● ControllerSeparation of concerns

What is MVC?

Step 1Incoming request routed to Controller

Request

Controller

What is MVC?

Step 2Controller processes request and creates presentation

Model

Controller

Model

What is MVC?

Step 3Model is passed to View

Controller

View

What is MVC?

Step 4View transforms Model into appropriate output format

Controller

View

What is MVC?

Step 5Response is rendered

Response

Controller

View

Framework Goals

Frictionless TestabilityTight control over <markup>User/SEO friendly URLsLeverage the benefits of ASP.NETConventions and Guidance

Separation of ConcernsEach component has one responsibility

SRP – Single Responsibility PrincipleDRY – Don’t Repeat Yourself

More easily testable (TDD)Helps with concurrent development

TLAs!

Clean URLsREST-like

/products/update/blog/posts/2008/08/12/mvc-is-cool

Friendlier to humansHack /product.aspx?categoryid=123 to becomeBecomes /products/kittens/

Friendlier to web crawlersSearch engine optimization (SEO)

ExtensibleReplace any component of the system

Interface-based architectureVery few sealed methods / classes

Plays well with others

"Webby"

Supports PRG (Post-Redirect-Get) Pattern

HaackOverflow

demo

Experiments in TransparencyHeavy community involvement

ForumsTwitter, Blogs, CodePlex

Trying out new ideasFunctional project templateIncludes unit tests and source on CodePlex

Experiments in AgilityDaily Triage Meetings and weekly design meetings94% Code Coverage/1209 unit testsShip early and often

The Road to RTM

Dec CTP 2007

Previews 2, 2.5, 3, 4, 5

BETA

RC 1RC 2

RTM!March 17 2009

Wow! 10 Releases!

ASP.NET>

MVCWeb Forms

Choosing Between MVC and WebForms

WebForms• Control ecosystem• State management• Design time support

ASP.NET• Services• Caching• Routing• Localization

MVC• Do it yourself• Separation of concerns•TDD• Extensibility everywhere

More control over details

Ready-to-use building blocks

Or…

Use Them Both!

SummaryNot a replacement for WebForms

All about alternativesExtensible

As simple or complex as it needs to be to suit your tasks

FundamentalPart of the System.Web namespaceIt’s still ASP.NET under the hood!

ResourcesASP.NET MVC - http://asp.net/mvc/ASP.NET on CodePlex - http://codeplex.com/aspnet/

ASP.NET MVC E-Book - http://bit.ly/mvc-ebook

Shameless Book Plug

1st Chapter Free! http://bit.ly/mvc-ebook

Extended Forehead Edition!

Please Complete an Evaluation FormYour feedback is important!

Evaluation forms can be found on each chairTemp Staff at the back of the room have additional evaluation form copies

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