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

Post on 08-May-2015

1.224 views 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 of 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

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

type

Simply an option

Not a replacement for WebForms

Builds on top ASP.NET

Manual vs Automatic Transmission

File | New

demo

What is MVC?

A design pattern

Acronym for Model ● View ●

Controller

Separation 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 Testability

Tight control over <markup>

User/SEO friendly URLs

Leverage the benefits of ASP.NET

Conventions and Guidance

Separation of Concerns

Each component has one responsibility

SRP – Single Responsibility PrincipleDRY – Don’t Repeat Yourself

More easily testable (TDD)Helps with concurrent development

TLAs!

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)

Extensible

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

Plays well with others

"Webby"

Supports PRG (Post-Redirect-Get)

Pattern

HaackOverflow

demo

Experiments in Transparency

Heavy community involvementForumsTwitter, Blogs, CodePlex

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

Experiments in Agility

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

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!

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

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.