Transcript Session Title
This session is available at:
http://bit.ly/devreach-2012-idof The New Face of ASP.NET
ASP.NET MVC, Razor, and jQuery Ido Flatow | Senior Architect | Sela Group @idoFlatow | http://bit.ly/flatowblog
The History of Web Development ASP.NET 1.1 (2002-2003)
Does the job, but you need to get your hands dirty
The History of Web Development ASP.NET 2.0 (2005)
Stable platform with many new features
The History of Web Development ASP.NET 3.5 (2007-2008)
Improved performance, more accessorized
The Present of Web Development ASP.NET 4/4.5 (2010-2012)
A whole new ball game
About Me • Senior architect, Sela Group • Co-Author: ASP.NET 4 Programmer’s Reference • Co-Author of Microsoft’s official WCF 4 course • Microsoft MVP for Connected Systems Development • Focus on: ASP.NET, WCF, Window Azure platform, and IIS 7.5
• Microsoft certified trainer www.devreach.com
ASP.NET MVC is Not … • The new version of ASP.NET Web Forms • Yet another WCSF (Web Client Software Factory) • Going to eliminate JavaScript from your code • Able to use ASP.NET web controls • An isolated framework • Hard to use www.devreach.com
What ASP.NET MVC is All About … • Apparently, a new Web Project type for ASP.NET
• Clear separation: Model, View, Controller • Using friendly URLs • Giving full control over HTML and JavaScript • Making testing easier and comprehensive
A new framework for building web applications
www.devreach.com
using the power of ASP.NET
The “Page” Lifecycle of MVC Model www.devreach.com
View Controller View Model Controller
The “Page” Lifecycle of MVC Controller fetches data from the model Request is routed to the controller
Model
2 1
Controller
Request 3 Controller formats the data and passes it to the view
View
4 Response (HTML, JSON, Image …) View renders output (usually HTML) and returns it to the client Model View Controller
My First ASP.NET MVC Application
• • • • ASP.NET MVC Main Features
Productivity
– Strong-typed helpers – UI validation made easy with data annotations – Easy to use templates for display and edit
Security
– Automatic HTML encoding – Anti-Forgery (CSRF) improvements
Performance
– Support for AsyncController – Framework tuned for performance
Extensibility
– Use the view engine you want – Ability to replace almost everything in the pipeline www.devreach.com
ASP.NET MVC Main Features
Razor? Is This Microsoft or Gillette?
• ASP.NET MVC uses view engines • Use the default ASPX/ASCX <% %> • Or … use some other view engine – Razor – NHaml – Spark • Razor is … – Compact – Easy to learn – Extensible www.devreach.com
A Picture is Worth a Thousand Words
A Picture is Worth a Thousand Words
Expression Long expression Raw expression Escaping the @ sign Comments Conditions and HTML inside code
Conditions and HTML inside code
Calling functions (reusable code) Code segments and loops
Back to the Demo …
What is jQuery? It ’s Fantastic!
• Fast and concise JavaScript library • Simplifies your code – DOM traversing – Event handling – Animation – Ajax interaction • Included in ASP.NET 4 project templates • Cross browser (IE/FF/Safari/Opera/Chrome) • Extensible through plugins • Write less, do more!
• It just works!
www.devreach.com
18
jQuery Around the World http://trends.builtwith.com/javascript
(September 21 st 2012)
60 Minutes on jQuery www.devreach.com
• • • • • 60 Seconds on jQuery
Selectors – the $ token
– Element - $("div") – ID - $("#mainContainer") – Class - $(".content") – CSS3 Selector - $("div > p:odd")
Events
– $(".link").click(function () { ... });
Ajax
– $.load(), $.get(), $.post(), $.ajax() < div id ="mainContainer" > < h2 > Header < div class ="content"> < p > Paragraph 1 < p > Paragraph 2
DOM Manipulation
– $("table > tbody > tr:even").css("background", "pink");
Effects
– $("#btnSubmit").fadeOut("slow").fadeIn("slow"); www.devreach.com
Back to the Demo …
ASP.NET MVC and ASP.NET Web Forms ASP.NET MVC • Better testing automation • Enforces separation of concerns • No evil ViewState that increase page size • Full control over markup
.
VS
ASP.NET Web technology • Many server controls that abstract UI and logic • Supports a WYSIWYG designer • Less use of JavaScript (some of the time) • Evil ViewState
After 10 Years of Web Forms … • Better web application architecture • Better client side JavaScript libraries • Better way to write mixed-code • Better way to test our applications • It’s simply a better web … • We can only guess what the future holds … www.devreach.com
The Future of Web Development???
Fast, Slick, and Cool
Where to Go?
This Session - http://bit.ly/devreach-2012-idof
• Blogs – http://blogs.msdn.com/b/webdev – http://www.hanselman.com/blog – http://encosia.com
• Other Sites – http://asp.net/mvc – http://aspnet.uservoice.com/forums/41201-asp-net-mvc – http://www.asp.net/vnext – http://vimeo.com/43659037 (1-hour video on Fiddler) • My Info – Email: [email protected]
– Blog: http://bit.ly/flatowblog – Twitter: @idoFlatow www.devreach.com