Designing and Developing JSP Pages Using Custom Tags - Talk-IT

advertisement
Introduction to ASP.NET MVC
Chapter 1
ASP.NET MVC Development
Contents
1.
The case for ASP.NET MVC
2.
Tooling up
2
1. The Case for ASP.NET MVC

What is ASP.NET MVC?

ASP.NET Web Forms – issues

Web development – state of play

ASP.NET MVC architecture

ASP.NET MVC benefits

ASP.NET Web Forms or MVC?
3
What is ASP.NET MVC?

ASP.NET MVC is a web development platform from
Microsoft
•

A significant evolution for web developers using the Microsoft
platform
ASP.NET MVC emphasises the best of the ASP.NET
platform and agile development:
•
•
•
Clean architecture
Design patterns
Testability
4
ASP.NET Web Forms – Issues

Traditional ASP.NET Web Forms were a great step forward
when they first emerged
•
•

Much better than classic Active Server Pages (ASP)
Simple, especially for relatively small applications
However, there are some significant issues with ASP.NET
Web Forms
•
•
•
•
•
ViewState transmission can be onerous
The ASP.NET page life cycle is complicated and subtle
The ASP.NET code-behind model encourages developers to mix
presentation logic and application logic
Web Forms attempt to encapsulate the intricacies of HTML and
HTTP, but this can sometimes be an obstacle
It's difficult to automate unit testing for ASP.NET Web Forms
5
Web Development – State of Play

Key features of Web development today:
•
•
•
•
Ajax
Web standards
REST (Representational State Transfer)
Agile and test-driven development
6
ASP.NET MVC Architecture
HTTP Request
Controller
Response
HTML

View
Model
View data
The controller is probably the most interesting player
•
Processes user input

•
Manages application logic

•
Works with the model to handle the request
E.g. navigating a multi-step process, authentication, etc.
Prepares the data to be displayed

This is known as "view data" in ASP.NET MVC
7
ASP.NET MVC Benefits

Here are the key benefits of ASP.NET MVC:
•
•
•
•
•
•
•
•
Model-View-Controller architecture
Extensibility (ASP.NET MVC components are pluggable)
Reusable and consistent model classes
Testability
Flexible routing system
Tight control over HTML (standards-compliant)
Leverages strengths of the ASP.NET platform
Simplified JavaScript/Ajax integration
8
ASP.NET Web Forms or MVC?

ASP.NET Web Forms is still appropriate for:
•
Small Web applications

•
Simple Intranet-style Web applications

•

Maybe you don't really care about unit testing or long-term maintenance
Web apps where you have a lot of corporate data

•
Fast networks, so you don't care about ViewState transmission overheads
Quick-to-market apps

•
MVC would be overkill
Where you just want to display the data in data grids
Scenarios where the drag-and-drop simplicity of Web Forms
outweighs its weaknesses
A word about migration…
•
•
You can mix ASP.NET WebForms and MVC in the same Web app
Allows you to migrate WebForms to MVC piecemeal, if you want to
9
2. Tooling Up

Core development tools

MVC3

Downloading and installing MVC 3
10
Core Development Tools

The following tools include ASP.NET MVC by default:
•
•

Visual Studio 2010 (any edition)
Visual Web Developer 2010 Express (free)
The following tools don't include ASP.NET MVC by default
(you must download ASP.NET MVC separately from
http://www.asp.net/mvc/)
•
•
Visual Studio 2008 with SP1 (any edition)
Visual Web Developer 2008 Express with SP1 (free)
11
MVC3

ASP.NET MVC 3 builds on ASP.NET MVC 1 and 2
•
•

Adds features to simplify code and support deeper extensibility
Installs side-by-side with ASP.NET MVC 2
Key new features:
•
•
•
•
•
•
•
•
•
Expressive views, including the new Razor view engine
Internet and Intranet project templates
HTML 5 support
Extensible scaffolding with MvcScaffold integration
Hooks for Dependency Injection and global action filters
JavaScript and Ajax improvements
Model validation improvements
Controller improvements
Page caching and data caching
12
Downloading and Installing MVC 3

Download available from MVC 3 home page
•

We'll install via installer executable
•

http://www.asp.net/mvc/mvc3
C:\AspNetMvc3\Products\AspNetMVC3ToolsUpdateSetup.exe
Effect:
•
•
Adds new ASP.NET MVC 3 project templates
Extends existing APIs, adds new APIs
13
Summary

The case for ASP.NET MVC

Tooling up
14
Download