asp.net mvc: america's next top model view controller framework

32
top model Phil Haack Senior Program Manager Microsoft Corporation AMERICA’S NEXT view controller

Upload: goodfriday

Post on 08-May-2015

1.226 views

Category:

Technology


3 download

DESCRIPTION

See how to build a simple application that highlights some of the key capabilities of ASP.NET MVC. Also, learn how to improve productivity using some of the cool new tooling features.

TRANSCRIPT

Page 1: ASP.NET MVC: America's Next Top Model View Controller Framework

top model Phil HaackSenior Program ManagerMicrosoft Corporation

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

view controller

Page 2: ASP.NET MVC: America's Next Top Model View Controller Framework

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

Page 3: ASP.NET MVC: America's Next Top Model View Controller Framework

Urban Myth Point of Clarification

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

A Plane

In

Page 4: ASP.NET MVC: America's Next Top Model View Controller Framework

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

A new Web Application Project

type

Simply an option

Not a replacement for WebForms

Builds on top ASP.NET

Manual vs Automatic Transmission

Page 5: ASP.NET MVC: America's Next Top Model View Controller Framework

File | New

demo

Page 6: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

A design pattern

Acronym for Model ● View ●

Controller

Separation of concerns

Page 7: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

Step 1Incoming request routed to Controller

Request

Controller

Page 8: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

Step 2Controller processes request and creates presentation

Model

Controller

Model

Page 9: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

Step 3Model is passed to View

Controller

View

Page 10: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

Step 4View transforms Model into appropriate output format

Controller

View

Page 11: ASP.NET MVC: America's Next Top Model View Controller Framework

What is MVC?

Step 5Response is rendered

Response

Controller

View

Page 12: ASP.NET MVC: America's Next Top Model View Controller Framework

Framework Goals

Frictionless Testability

Tight control over <markup>

User/SEO friendly URLs

Leverage the benefits of ASP.NET

Conventions and Guidance

Page 13: ASP.NET MVC: America's Next Top Model View Controller Framework
Page 14: ASP.NET MVC: America's Next Top Model View Controller Framework

Separation of Concerns

Each component has one responsibility

SRP – Single Responsibility PrincipleDRY – Don’t Repeat Yourself

More easily testable (TDD)Helps with concurrent development

Page 15: ASP.NET MVC: America's Next Top Model View Controller Framework

TLAs!

Page 16: ASP.NET MVC: America's Next Top Model View Controller Framework

Clean URLs

REST-like

/products/update

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

Friendlier to humans

Hack /product.aspx?categoryid=123 to

become

Becomes /products/kittens/

Friendlier to web crawlers

Search engine optimization (SEO)

Page 17: ASP.NET MVC: America's Next Top Model View Controller Framework

Extensible

Replace any component of the systemInterface-based architectureVery few sealed methods / classes

Plays well with others

Page 18: ASP.NET MVC: America's Next Top Model View Controller Framework

"Webby"

Supports PRG (Post-Redirect-Get)

Pattern

Page 19: ASP.NET MVC: America's Next Top Model View Controller Framework

HaackOverflow

demo

Page 20: ASP.NET MVC: America's Next Top Model View Controller Framework

Experiments in Transparency

Heavy community involvementForumsTwitter, Blogs, CodePlex

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

Page 21: ASP.NET MVC: America's Next Top Model View Controller Framework

Experiments in Agility

Daily Triage Meetings and weekly design meetings94% Code Coverage/1209 unit testsShip early and often

Page 22: ASP.NET MVC: America's Next Top Model View Controller Framework

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!

Page 23: ASP.NET MVC: America's Next Top Model View Controller Framework

ASP.NET>

MVCWeb Forms

Page 24: ASP.NET MVC: America's Next Top Model View Controller Framework

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…

Page 25: ASP.NET MVC: America's Next Top Model View Controller Framework

Use Them Both!

Page 26: ASP.NET MVC: America's Next Top Model View Controller Framework

Summary

Not a replacement for WebFormsAll about alternatives

ExtensibleAs 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!

Page 27: ASP.NET MVC: America's Next Top Model View Controller Framework

Resources

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

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

Page 28: ASP.NET MVC: America's Next Top Model View Controller Framework

Shameless Book Plug

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

Page 29: ASP.NET MVC: America's Next Top Model View Controller Framework

Extended Forehead Edition!

Page 30: ASP.NET MVC: America's Next Top Model View Controller Framework

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

Page 31: ASP.NET MVC: America's Next Top Model View Controller Framework

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

Page 32: ASP.NET MVC: America's Next Top Model View Controller Framework