SlideShare ist ein Scribd-Unternehmen logo
1 von 24
Downloaden Sie, um offline zu lesen
Introduction to
ASP.NET MVC
@SirwanAfifi
What is ASP.NET MVC?
Web Development Framework
The Most Up-to-date Ideas and Techniques from Agile
Development
The Best Part of ASP.NET Platform
It is a complete alternative to traditional ASP.NET Web Forms
Understanding the History of ASP.NET
.NET
A multi-language managed code platform
(brand new at the time – a landmark in its own right)
ASP.NET
A way to host .NET applications in IIS, letting you
interact
With HTTP requests and responses
ASP.NET Web Forms
A set of UI components (pages, buttons, etc.)
Pulse a stateful, object-oriented GUI
Programming model
• ASP.NET 1.0 was first released in 2002 (it was same thing with Webform)
• ASP.NET 2.0 was released in 2005 along with Visual Studio 2005
• ASP.NET MVC was announced in 2007
• ASP.NET 3.5 followed in 2008 and brought with it DynamicData, which enables you to
rapidly generate data-driven applications in minutes.
• ASP.NET 4 was released along with VS2010. At the same time ASP.NET MVC 4 was released
• ASP.NET 4.5 was released along with VS2012 in 2012. This release included ASP.NET MVC 4.5
• ASP.NET 4.5.1 was released along with VS2013. MVC 5.0
• ASP.NET 4.5.2 Update 1,2 VS 2013 (MVC 5.1)
ASP.NET Web Forms
What Is Wrong with ASP.NET Web Forms ?
Viewstate weight
Page life cycle
False sense of separation of concerns (SOC)
Limited control over HTML
Leaky abstraction
Low testability
MVC
MVC (cont.)
Model = HTML View= CSS Controller= Browser
ASP.NET MVC
ASP.NET MVC is a framework for building web applications that
applies the general Model
View Controller pattern to the ASP.NET framework
How ASP.NET MVC Fits in with ASP.NET?
• ASP.NET MVC 1 Overview : at the Austin ALT.NET conference in October 2007 in Redmond ScottGu
showed a group of developers “this cool thing I wrote on a plane”- codenamed (Scalene)
• including code and unit tests
• Was released in March 2009
• ASP.NET MVC 2 Overview : was released just one year later, in March 2010
• UI helpers with automatic scaffolding with customizable templates
• Attribute-based model validation on both client and server
• Strongly typed HTML helpers
• Improved Visual Studio tooling
• ASP.NET MVC 3 Overview : shipped just 10 months after MVC 2
• The Razor view engine
• Support for .NET 4 Data Annotations
• Improved model validation
• Better JavaScript support with unobtrusive JavaScript, jQuery Validation, and JSON binding
• Use of NuGet to deliver software and manage dependencies throughout the platform
• Razor View Engine
Razor is the first major update to rendering HTML since ASP.NET 1 shipped almost a decade ago.
The default view engine used in MVC 1 and 2 was commonly called the Web Forms view engine
syntax in a Web Forms page is shown here :
Razor was designed specifically as a view engine syntax. It has one main focus: code-focused templating
for HTML generation. Here’s how that same markup would be generated using Razor:
ASP.NET MVC 3.0 Features
The Razor syntax is easier to type, and easier to read. Razor doesn’t have the XML-like heavy syntax
of the Web Forms view engine.
• Compact, expressive, and fluid
• Not a new language : Razor is a syntax that lets you use your existing .NET coding skills in a
template in a very intuitive way.
• Easy to learn: Precisely because Razor is not a new language, it’s easy to learn. You know
HTML, you know .NET; just type HTML and hit the @ sign whenever you need to write
some .NET code.
• Good IntelliSense
ASP.NET MVC 3.0 Features (cont.)
• Validation Improvements
Validation is an important part of building web applications, but it’s never fun. MVC 3 extended the
validation support to cover most scenarios you’re likely to encounter.
• .NET 4 Data Annotation Support :
• Unobtrusive JavaScript using data- instead of something like onclick,…
• jQuery Validation
• JSON Binding : enabling your action methods to accept and model-bind data in JSON format.
• Dependency Resolution : MVC 3 introduced a new concept called a dependency resolver, which greatly
simplified the use of dependency injection in your applications.
ASP.NET MVC 3.0 Features (cont.)
• MVC 4 Overview
• ASP.NET Web API : ASP.NET MVC development style but is tailored to writing HTTP services
• Enhancements to default project templates
• Mobile project template using jQuery Mobile
• Display Modes
• Task support for Asynchronous Controllers
• Bundling and minification
ASP.NET MVC 4
• Enhancements to Default Project Templates
MVC 1.0 MVC 4.0
ASP.NET MVC 4 (cont.)
• Mobile Project Template Using jQuery Mobile
Responsive jQuery Mobile
ASP.NET MVC 4 (cont.)
• Display Modes
Display modes use a convention-based approach to allow selecting different views based on the
browser making the request.
The default view engine first looks for views with names ending with .Mobile.cshtml when the
browser’s user agent indicates a known mobile device.
ASP.NET MVC 4 (cont.)
• Bundling and Minification
This system reduces requests to your site by combining several individual script references into a single
request.
ASP.NET MVC 4 (cont.)
Open Source Release
• MVC 5 Overview
• One ASP.NET
• ASP.Net Identity
• Bootstrap 3.0 in the MVC template
• Authentication Filters
• Filter overrides
• Attribute routing (my Article here)
ASP.NET MVC 5
• Includes new cloud-optimized versions of MVC, Web API, Web Pages, SignalR, and
Entity Framework.
• MVC, Web API, and Web Pages will be merged into one framework, called MVC 6
• MVC 6 has no dependency on System.Web
• vNext uses the Rosyln compiler to compile code dynamically
• vNext is open source and cross platform
• vNext is host agnostic
A sneak peak or preview of ASP.NET vNext
Question?

Weitere ähnliche Inhalte

Was ist angesagt?

Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Thomas Robbins
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netshan km
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Shiju Varghese
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - IntroductionSenthil Kumar
 
TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0Shiju Varghese
 
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5Aaron Jacobson
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Noam Kfir
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0Senthil Kumar
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversitySyed Shanu
 
Modern Applications With Asp.net Core 5 and Vue JS 3
Modern Applications With Asp.net Core 5 and Vue JS 3Modern Applications With Asp.net Core 5 and Vue JS 3
Modern Applications With Asp.net Core 5 and Vue JS 3Alexandre Malavasi
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapiBrij Mishra
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCKhaled Musaied
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.netSHADAB ALI
 

Was ist angesagt? (20)

Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013Getting started with MVC 5 and Visual Studio 2013
Getting started with MVC 5 and Visual Studio 2013
 
Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5Lap Around ASP.NET MVC 5
Lap Around ASP.NET MVC 5
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 
Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0Introduction to ASP.NET MVC 1.0
Introduction to ASP.NET MVC 1.0
 
Valentine with Angular js - Introduction
Valentine with Angular js - IntroductionValentine with Angular js - Introduction
Valentine with Angular js - Introduction
 
TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0TDD with ASP.NET MVC 1.0
TDD with ASP.NET MVC 1.0
 
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
Discuss About ASP.NET MVC 6 and ASP.NET MVC 5
 
Scaffolding in One Asp.Net
Scaffolding in One Asp.NetScaffolding in One Asp.Net
Scaffolding in One Asp.Net
 
Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6Angular on ASP.NET MVC 6
Angular on ASP.NET MVC 6
 
ASP.NET Brief History
ASP.NET Brief HistoryASP.NET Brief History
ASP.NET Brief History
 
Entity Framework Core 1.0
Entity Framework Core 1.0Entity Framework Core 1.0
Entity Framework Core 1.0
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
 
Modern Applications With Asp.net Core 5 and Vue JS 3
Modern Applications With Asp.net Core 5 and Vue JS 3Modern Applications With Asp.net Core 5 and Vue JS 3
Modern Applications With Asp.net Core 5 and Vue JS 3
 
MVC 6 Introduction
MVC 6 IntroductionMVC 6 Introduction
MVC 6 Introduction
 
ASP.NET MVC 3
ASP.NET MVC 3ASP.NET MVC 3
ASP.NET MVC 3
 
Building rest services using aspnetwebapi
Building rest services using aspnetwebapiBuilding rest services using aspnetwebapi
Building rest services using aspnetwebapi
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
ASP.NET
ASP.NETASP.NET
ASP.NET
 
MSDN - ASP.NET MVC
MSDN - ASP.NET MVCMSDN - ASP.NET MVC
MSDN - ASP.NET MVC
 
Introduction to asp.net
Introduction to asp.netIntroduction to asp.net
Introduction to asp.net
 

Andere mochten auch

Undoing Things in Git
Undoing Things in GitUndoing Things in Git
Undoing Things in Gitgittower
 
Building Next Generation Web Apps and Services using ASP.NET 5
Building Next Generation Web Apps and Services using ASP.NET 5Building Next Generation Web Apps and Services using ASP.NET 5
Building Next Generation Web Apps and Services using ASP.NET 5Shravan Kumar Kasagoni
 
#Code: The Programmed Revolution
#Code: The Programmed Revolution #Code: The Programmed Revolution
#Code: The Programmed Revolution Fabernovel
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server controlSireesh K
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controlsRaed Aldahdooh
 
Learn SUIT: CSS Naming Convention
Learn SUIT: CSS Naming ConventionLearn SUIT: CSS Naming Convention
Learn SUIT: CSS Naming ConventionIn a Rocket
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0Ido Flatow
 
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYC
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYCHacking 101 & Yahoo Mobile Developer Suite - YMDC NYC
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYCSaurabh Sahni
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataJames Sirota
 
Does That Belong Here? A Facebook Versus LinkedIn Infographic
Does That Belong Here? A Facebook Versus LinkedIn InfographicDoes That Belong Here? A Facebook Versus LinkedIn Infographic
Does That Belong Here? A Facebook Versus LinkedIn InfographicBoston Interactive
 
How to Establish a Strong Visual Brand on Social Media
How to Establish a Strong Visual Brand on Social MediaHow to Establish a Strong Visual Brand on Social Media
How to Establish a Strong Visual Brand on Social MediaRebekah Radice
 
Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programmingExotel
 
Productivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowProductivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowRobert Half
 

Andere mochten auch (18)

Controls in asp.net
Controls in asp.netControls in asp.net
Controls in asp.net
 
What The Web!
What The Web!What The Web!
What The Web!
 
Undoing Things in Git
Undoing Things in GitUndoing Things in Git
Undoing Things in Git
 
Building Next Generation Web Apps and Services using ASP.NET 5
Building Next Generation Web Apps and Services using ASP.NET 5Building Next Generation Web Apps and Services using ASP.NET 5
Building Next Generation Web Apps and Services using ASP.NET 5
 
#Code: The Programmed Revolution
#Code: The Programmed Revolution #Code: The Programmed Revolution
#Code: The Programmed Revolution
 
Grid view in asp.net
Grid view in asp.netGrid view in asp.net
Grid view in asp.net
 
Asp.net html server control
Asp.net html  server controlAsp.net html  server control
Asp.net html server control
 
Asp.net server controls
Asp.net server controlsAsp.net server controls
Asp.net server controls
 
Learn SUIT: CSS Naming Convention
Learn SUIT: CSS Naming ConventionLearn SUIT: CSS Naming Convention
Learn SUIT: CSS Naming Convention
 
ASP.NET Core 1.0
ASP.NET Core 1.0ASP.NET Core 1.0
ASP.NET Core 1.0
 
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYC
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYCHacking 101 & Yahoo Mobile Developer Suite - YMDC NYC
Hacking 101 & Yahoo Mobile Developer Suite - YMDC NYC
 
Detecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking DataDetecting Hacks: Anomaly Detection on Networking Data
Detecting Hacks: Anomaly Detection on Networking Data
 
Does That Belong Here? A Facebook Versus LinkedIn Infographic
Does That Belong Here? A Facebook Versus LinkedIn InfographicDoes That Belong Here? A Facebook Versus LinkedIn Infographic
Does That Belong Here? A Facebook Versus LinkedIn Infographic
 
Controls in asp.net
Controls in asp.netControls in asp.net
Controls in asp.net
 
Staff development
Staff developmentStaff development
Staff development
 
How to Establish a Strong Visual Brand on Social Media
How to Establish a Strong Visual Brand on Social MediaHow to Establish a Strong Visual Brand on Social Media
How to Establish a Strong Visual Brand on Social Media
 
Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programming
 
Productivity Facts Every Employee Should Know
Productivity Facts Every Employee Should KnowProductivity Facts Every Employee Should Know
Productivity Facts Every Employee Should Know
 

Ähnlich wie Introduction to ASP.NET MVC

Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NETRajkumarsoy
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET PresentationRasel Khan
 
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and Swagger
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and SwaggerIntroduction Asp.Net Core, MVC, Docker (Linux), Postman and Swagger
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and SwaggerAgusto Sipahutar
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologiesHosam Kamel
 
Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdevdamianofusco
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Bluegrass Digital
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCSaineshwar bageri
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4Jon Galloway
 
ASP .Net Core SPA Templates
ASP .Net Core SPA TemplatesASP .Net Core SPA Templates
ASP .Net Core SPA TemplatesEamonn Boyle
 
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014Enea Gabriel
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelAlex Thissen
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMahmoudOHassouna
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8Thomas Robbins
 

Ähnlich wie Introduction to ASP.NET MVC (20)

Introduction to ASP.NET
Introduction to ASP.NETIntroduction to ASP.NET
Introduction to ASP.NET
 
Mvc4
Mvc4Mvc4
Mvc4
 
ASP.NET Presentation
ASP.NET PresentationASP.NET Presentation
ASP.NET Presentation
 
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and Swagger
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and SwaggerIntroduction Asp.Net Core, MVC, Docker (Linux), Postman and Swagger
Introduction Asp.Net Core, MVC, Docker (Linux), Postman and Swagger
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
ASP.pptx
ASP.pptxASP.pptx
ASP.pptx
 
Asp 1a-aspnetmvc
Asp 1a-aspnetmvcAsp 1a-aspnetmvc
Asp 1a-aspnetmvc
 
Aspnetmvc 1
Aspnetmvc 1Aspnetmvc 1
Aspnetmvc 1
 
ASP.NET 5
ASP.NET 5ASP.NET 5
ASP.NET 5
 
Web development concepts using microsoft technologies
Web development concepts using microsoft technologiesWeb development concepts using microsoft technologies
Web development concepts using microsoft technologies
 
Lightweight webdev
Lightweight webdevLightweight webdev
Lightweight webdev
 
Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015Best of Microsoft Dev Camp 2015
Best of Microsoft Dev Camp 2015
 
Introduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVCIntroduction to .NET Core & ASP.NET Core MVC
Introduction to .NET Core & ASP.NET Core MVC
 
SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4SoCal Code Camp 2011 - ASP.NET MVC 4
SoCal Code Camp 2011 - ASP.NET MVC 4
 
ASP .Net Core SPA Templates
ASP .Net Core SPA TemplatesASP .Net Core SPA Templates
ASP .Net Core SPA Templates
 
Aspnet mvc
Aspnet mvcAspnet mvc
Aspnet mvc
 
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
The future of ASP.NET / CodeCamp/Iasi 25 Oct 2014
 
MVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming modelMVC 6 - the new unified Web programming model
MVC 6 - the new unified Web programming model
 
Murach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVCMurach: An introduction to web programming with ASP.NET Core MVC
Murach: An introduction to web programming with ASP.NET Core MVC
 
Using MVC with Kentico 8
Using MVC with Kentico 8Using MVC with Kentico 8
Using MVC with Kentico 8
 

Kürzlich hochgeladen

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogueitservices996
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...OnePlan Solutions
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxAndreas Kunz
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonApplitools
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringHironori Washizaki
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Rob Geurden
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shardsChristopher Curtin
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxRTS corp
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfRTS corp
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfmaor17
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?Alexandre Beguel
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jNeo4j
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identityteam-WIBU
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...Bert Jan Schrijver
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdfAndrey Devyatkin
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsJean Silva
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...OnePlan Solutions
 

Kürzlich hochgeladen (20)

Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
Ronisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited CatalogueRonisha Informatics Private Limited Catalogue
Ronisha Informatics Private Limited Catalogue
 
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
Revolutionizing the Digital Transformation Office - Leveraging OnePlan’s AI a...
 
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptxUI5ers live - Custom Controls wrapping 3rd-party libs.pptx
UI5ers live - Custom Controls wrapping 3rd-party libs.pptx
 
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + KobitonLeveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
Leveraging AI for Mobile App Testing on Real Devices | Applitools + Kobiton
 
Machine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their EngineeringMachine Learning Software Engineering Patterns and Their Engineering
Machine Learning Software Engineering Patterns and Their Engineering
 
Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...Simplifying Microservices & Apps - The art of effortless development - Meetup...
Simplifying Microservices & Apps - The art of effortless development - Meetup...
 
2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards2024 DevNexus Patterns for Resiliency: Shuffle shards
2024 DevNexus Patterns for Resiliency: Shuffle shards
 
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptxThe Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
The Role of IoT and Sensor Technology in Cargo Cloud Solutions.pptx
 
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdfEnhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
Enhancing Supply Chain Visibility with Cargo Cloud Solutions.pdf
 
Zer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdfZer0con 2024 final share short version.pdf
Zer0con 2024 final share short version.pdf
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News UpdateVictoriaMetrics Q1 Meet Up '24 - Community & News Update
VictoriaMetrics Q1 Meet Up '24 - Community & News Update
 
SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?SAM Training Session - How to use EXCEL ?
SAM Training Session - How to use EXCEL ?
 
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4jGraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
GraphSummit Madrid - Product Vision and Roadmap - Luis Salvador Neo4j
 
Post Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on IdentityPost Quantum Cryptography – The Impact on Identity
Post Quantum Cryptography – The Impact on Identity
 
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
JavaLand 2024 - Going serverless with Quarkus GraalVM native images and AWS L...
 
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
2024-04-09 - From Complexity to Clarity - AWS Summit AMS.pdf
 
Strategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero resultsStrategies for using alternative queries to mitigate zero results
Strategies for using alternative queries to mitigate zero results
 
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
Tech Tuesday Slides - Introduction to Project Management with OnePlan's Work ...
 

Introduction to ASP.NET MVC

  • 2. What is ASP.NET MVC? Web Development Framework The Most Up-to-date Ideas and Techniques from Agile Development The Best Part of ASP.NET Platform It is a complete alternative to traditional ASP.NET Web Forms
  • 3. Understanding the History of ASP.NET .NET A multi-language managed code platform (brand new at the time – a landmark in its own right) ASP.NET A way to host .NET applications in IIS, letting you interact With HTTP requests and responses ASP.NET Web Forms A set of UI components (pages, buttons, etc.) Pulse a stateful, object-oriented GUI Programming model
  • 4. • ASP.NET 1.0 was first released in 2002 (it was same thing with Webform) • ASP.NET 2.0 was released in 2005 along with Visual Studio 2005 • ASP.NET MVC was announced in 2007 • ASP.NET 3.5 followed in 2008 and brought with it DynamicData, which enables you to rapidly generate data-driven applications in minutes. • ASP.NET 4 was released along with VS2010. At the same time ASP.NET MVC 4 was released • ASP.NET 4.5 was released along with VS2012 in 2012. This release included ASP.NET MVC 4.5 • ASP.NET 4.5.1 was released along with VS2013. MVC 5.0 • ASP.NET 4.5.2 Update 1,2 VS 2013 (MVC 5.1)
  • 6. What Is Wrong with ASP.NET Web Forms ? Viewstate weight Page life cycle False sense of separation of concerns (SOC) Limited control over HTML Leaky abstraction Low testability
  • 7. MVC
  • 8. MVC (cont.) Model = HTML View= CSS Controller= Browser
  • 9. ASP.NET MVC ASP.NET MVC is a framework for building web applications that applies the general Model View Controller pattern to the ASP.NET framework
  • 10. How ASP.NET MVC Fits in with ASP.NET?
  • 11. • ASP.NET MVC 1 Overview : at the Austin ALT.NET conference in October 2007 in Redmond ScottGu showed a group of developers “this cool thing I wrote on a plane”- codenamed (Scalene) • including code and unit tests • Was released in March 2009 • ASP.NET MVC 2 Overview : was released just one year later, in March 2010 • UI helpers with automatic scaffolding with customizable templates • Attribute-based model validation on both client and server • Strongly typed HTML helpers • Improved Visual Studio tooling • ASP.NET MVC 3 Overview : shipped just 10 months after MVC 2 • The Razor view engine • Support for .NET 4 Data Annotations • Improved model validation • Better JavaScript support with unobtrusive JavaScript, jQuery Validation, and JSON binding • Use of NuGet to deliver software and manage dependencies throughout the platform
  • 12. • Razor View Engine Razor is the first major update to rendering HTML since ASP.NET 1 shipped almost a decade ago. The default view engine used in MVC 1 and 2 was commonly called the Web Forms view engine syntax in a Web Forms page is shown here :
  • 13. Razor was designed specifically as a view engine syntax. It has one main focus: code-focused templating for HTML generation. Here’s how that same markup would be generated using Razor: ASP.NET MVC 3.0 Features
  • 14. The Razor syntax is easier to type, and easier to read. Razor doesn’t have the XML-like heavy syntax of the Web Forms view engine. • Compact, expressive, and fluid • Not a new language : Razor is a syntax that lets you use your existing .NET coding skills in a template in a very intuitive way. • Easy to learn: Precisely because Razor is not a new language, it’s easy to learn. You know HTML, you know .NET; just type HTML and hit the @ sign whenever you need to write some .NET code. • Good IntelliSense ASP.NET MVC 3.0 Features (cont.)
  • 15. • Validation Improvements Validation is an important part of building web applications, but it’s never fun. MVC 3 extended the validation support to cover most scenarios you’re likely to encounter. • .NET 4 Data Annotation Support : • Unobtrusive JavaScript using data- instead of something like onclick,… • jQuery Validation • JSON Binding : enabling your action methods to accept and model-bind data in JSON format. • Dependency Resolution : MVC 3 introduced a new concept called a dependency resolver, which greatly simplified the use of dependency injection in your applications. ASP.NET MVC 3.0 Features (cont.)
  • 16. • MVC 4 Overview • ASP.NET Web API : ASP.NET MVC development style but is tailored to writing HTTP services • Enhancements to default project templates • Mobile project template using jQuery Mobile • Display Modes • Task support for Asynchronous Controllers • Bundling and minification ASP.NET MVC 4
  • 17. • Enhancements to Default Project Templates MVC 1.0 MVC 4.0 ASP.NET MVC 4 (cont.)
  • 18. • Mobile Project Template Using jQuery Mobile Responsive jQuery Mobile ASP.NET MVC 4 (cont.)
  • 19. • Display Modes Display modes use a convention-based approach to allow selecting different views based on the browser making the request. The default view engine first looks for views with names ending with .Mobile.cshtml when the browser’s user agent indicates a known mobile device. ASP.NET MVC 4 (cont.)
  • 20. • Bundling and Minification This system reduces requests to your site by combining several individual script references into a single request. ASP.NET MVC 4 (cont.)
  • 22. • MVC 5 Overview • One ASP.NET • ASP.Net Identity • Bootstrap 3.0 in the MVC template • Authentication Filters • Filter overrides • Attribute routing (my Article here) ASP.NET MVC 5
  • 23. • Includes new cloud-optimized versions of MVC, Web API, Web Pages, SignalR, and Entity Framework. • MVC, Web API, and Web Pages will be merged into one framework, called MVC 6 • MVC 6 has no dependency on System.Web • vNext uses the Rosyln compiler to compile code dynamically • vNext is open source and cross platform • vNext is host agnostic A sneak peak or preview of ASP.NET vNext