SlideShare a Scribd company logo
1 of 23
Download to read offline
THE POWER OF PERSPECTIVE




                              ASP.NET MVC vs. Web Forms
                                              .NET Track

                                                                            Thiago Silva
                                                                                Credera

                           Copyright © 2011 Credera. All Rights Reserved.
www.credera.com



        About the Speaker

         Thiago Silva is a software and business intelligence consultant, based out of Dallas
          Texas. He is an architect for the Microsoft practice at Credera in Dallas and has helped
          several clients implement custom software, SharePoint, business intelligence, and
          reporting solutions using .NET and SQL Server technologies.
         Thiago is co-author of the book "Professional SQL Server 2008 Reporting Services" by
          Wrox Publishing, and contributor on the book "Microsoft SQL Server Reporting
          Services Recipes: for Designing Expert Reports".
         You can visit his blog, Silvaware, at http://silvaware.net, and follow him on twitter at
          http://twitter.com/tafs7




Copyright © 2011 Credera.
                                                    -2-
   All Rights Reserved.
                             T H E   P O W E R    O F     P E R S P E C T I V E
www.credera.com



        Agenda

         MVC
              – The Good Stuff
              – The Bad Not So Good Stuff
         Web Forms is dead! Long live Web Forms!
              – The Good Stuff
              – The Bad Not So Good Stuff
         ASP.NET – The Platform…THEY MEET IN THE MIDDLE!
         MVC Takes On Web Forms
              – High Level feature comparison
              – Detailed feature comparison
         MVC Learning Curve
         Show me the code!




Copyright © 2011 Credera.
                                                         -3-
   All Rights Reserved.
                                 T H E      P O W E R   O F    P E R S P E C T I V E
www.credera.com



        MVC 101

      Software Architectural Pattern (NOT A FRAMEWORK)
      First described, using Smalltalk, in 1979 by Trygve Reenskaug,
       Xerox PARC
      Isolates domain logic from UI/Presentation
      Popular in Java and Ruby Web Frameworks
                                                                    Controller




                                                        View                     Model


Copyright © 2011 Credera.
                                                 -4-
   All Rights Reserved.
                            T H E   P O W E R   O F    P E R S P E C T I V E
www.credera.com



        MVC – The Good Stuff

         Mature and Widely Adopted – tried and true
         Fosters adoption of best practices and patterns
              – Separation of Concerns
              – Unit Testing/TDD and Mocking
              – Loosely coupled tiers
              – Highly maintainable code
         Better code organization




Copyright © 2011 Credera.
                                                     -5-
   All Rights Reserved.
                              T H E     P O W E R   O F    P E R S P E C T I V E
www.credera.com



        MVC – The Bad Not So Good Stuff

         Requires deeper experience in architectural patterns and well-rounded web
          development topics:
              – TDD/unit testing
              – S.O.L.I.D.
              – HTML/CSS/JavaScript
         Does not closely resemble Windows Forms development so the learning curve
          is steeper for non-web developers
         Might be overkill if…
              – speed of development is essential
              – application is simple and small



Copyright © 2011 Credera.
                                                   -6-
   All Rights Reserved.
                              T H E   P O W E R   O F    P E R S P E C T I V E
www.credera.com



        Web Forms Is Dead! Long Live Web Forms!

         OH: “now that Microsoft has ASP.NET MVC, they are going to stop supporting Web
          Forms”….FALSE!
         Web Forms is very much alive and with a new release, in .NET4. Here are some new
          features:
              – Extensible Output Caching
              – Out of Proc Session State Compression
              – Extensible Request Validation
              – Extensible Object Caching
              – Better control over ViewState
              – URL Routing Support (vanity URLs = SEO!)
              – Better control over generated server control IDs in HTML (for easier JavaScript
                access)
              – Improved HTML rendering of controls for support of web standards and accessibility

Copyright © 2011 Credera.
                                                      -7-
   All Rights Reserved.
                               T H E   P O W E R    O F     P E R S P E C T I V E
www.credera.com



        Web Forms - The Good Stuff

      Rapid Development (RAD)
           – Drag and drop controls provide an abstraction layer over CSS, JS, and HTML.
           – Speeds up time from prototype to final product
      Simulates Statefulness
           – Viewstate, postbacks, control events, and page lifecycle, all aim to simulate a
             stateful model on top of an inherently stateless HTTP protocol.
           – Allows developers without deep HTML and JS knowledge to write effective
             applications.
      Maturity
           – Web Forms is stable, mature, and is fully supported by third party controls and tools
             (e.g. Ajax control toolkit, Telerik, Infragistics, DevExpress, etc.)




Copyright © 2011 Credera.
                                                     -8-
   All Rights Reserved.
                              T H E   P O W E R    O F     P E R S P E C T I V E
www.credera.com



        Web Forms - The Bad Not So Good Stuff

      Abstraction from HTML
           – Hinders integration with Javascript frameworks (e.g. jQuery).
           – Postback model and ViewState can make it hard for search engines to rank Web
             Forms pages higher due to payload size.
      Difficult to adopt practices such as Separation of Concerns
           – History has shown that the Web Forms model does not lend itself naturally to SOC.
           – Because framework does not lend itself well to SOC, developers must make a bigger
             effort to stick to best practices and patterns.
      Difficult To Unit Test
           – A monolithic runtime environment exposed as sealed classes is hard/impossible to
             test (mock).




Copyright © 2011 Credera.
                                                    -9-
   All Rights Reserved.
                             T H E    P O W E R   O F     P E R S P E C T I V E
www.credera.com



          ASP.NET – The Platform…THEY MEET IN THE MIDDLE!

          Since both MVC and Web Forms share the same underlying platform, they can take
          advantage of the same goodness that’s available in ASP.NET:

           HTTP Request             Roles                                 Health Monitoring
           HTTP Response            Master Pages                          Process Model
           URL Routing              Microsoft ASP.NET AJAX                Tracing
           Session State            jQuery
           Caching                  Localization
           Profiles                 Configuration
           Security                 Compilation
           Membership               Deployment


Copyright © 2011 Credera.
                                                     - 10 -
   All Rights Reserved.
                            T H E    P O W E R   O F          P E R S P E C T I V E
www.credera.com



        MVC Takes On Web Forms – a Feature Comparison

          Feature                                 Web Forms             MVC
          Server Controls                                                   *
          ViewState
          Unit Testing
          Full HTML Control
          Page Lifecycle
          Separation of Concerns
          Support for JavaScript
          Rapid Application Development
          Windows Forms paradigm

        * MVC Server controls are implemented as lightweight HTML helper extension methods, and render
        simple HTML and JavaScript. They do not actually maintain state or contain any server side
        event/lifecycle.


Copyright © 2011 Credera.
                                                     - 11 -
   All Rights Reserved.
                              T H E   P O W E R    O F        P E R S P E C T I V E
www.credera.com



        MVC Takes On Web Forms – Detailed Comparison

          Feature                             MVC                              Web Forms
          SEO                       Out of box MVC URLs are         Web Forms can be made to work
                                    SEO friendly                    with friendly URLs by manual
                                                                    processes involving URL rewrites
                                                                    and server transfers
          Development               Requires more design            Code-behind is more familiar,
                                    and separation of               and often more easily utilized as
                                    concerns, which can be          the code can directly control
                                    cause for more up from          page output (e.g. calling a
                                    effort, but better long         property on a server control)
                                    term maintenance
          Separation of Concerns Inherent in the                    Can be achieved by diligence and
                                 architecture                       process




Copyright © 2011 Credera.
                                                    - 12 -
   All Rights Reserved.
                            T H E     P O W E R   O F        P E R S P E C T I V E
www.credera.com



        MVC Takes On WebForms – Detailed Comparison

          Feature                             MVC                               WebForms
          Unit Testing              Easy to test the model     More difficult because code-
                                    and controller, as they    behind is not required to be-
                                    are de-coupled by the      decoupled from the form
                                    nature of the architecture
          Open Source Libraries     NuGet facilitates easy use Integrating open source, third
                                    of open source, third      party libraries is a more manual
                                    party libraries, and       process
                                    JavaScript libraries are
                                    more easily utilized
          HTML / Page Weight        More control over the           More difficult to control HTML
                                    HTML, easier to build           because controls and server
                                    lightweight, HTML               rendering may be out of
                                    compliant pages                 developer’s control




Copyright © 2011 Credera.
                                                    - 13 -
   All Rights Reserved.
                            T H E     P O W E R   O F        P E R S P E C T I V E
www.credera.com



        MVC Learning Curve

           Putting data on a page
                – Need to stop thinking in terms of telling controls what to do.
                – In MVC, you think in terms of providing a model that contains all the data a page
                  needs (a “View Model”).
                – A given view specifies/defines what model data it needs to display and in what way.
           Postbacks
                – No support for “classic” postbacks.
                – You must post to a controller action in MVC.
                – MVC does not consider any URL as the endpoint to a physical server resource.
           ViewState
                – This concept does not exist in MVC.
                – You are responsible for populating and repopulating form data.
                – Model binder and view models provide help with this.



Copyright © 2011 Credera.
                                                          - 14 -
   All Rights Reserved.
                                 T H E    P O W E R     O F        P E R S P E C T I V E
www.credera.com



        MVC Learning Curve – more stuff


                 WebForms Page Lifecycle                        MVC Page Lifecycle




Copyright © 2011 Credera.
                                                 - 15 -
   All Rights Reserved.
                            T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com



        MVC Learning Curve – even more stuff

       Platform Paradigm Parallels…(say that 5 times in a row!)
          WebForms                                    MVC

           Controls                  ≈                Html Helpers
           Code Behind               ≈                Controller
           Events                    ≈                Routes and Methods
           User Controls            ≈                 Partial Views
           Master Pages             =                 Master Pages and Shared
                                                        Views



Copyright © 2011 Credera.
                                                 - 16 -
   All Rights Reserved.
                            T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com




                                                Demo




Copyright © 2011 Credera.
                                                 - 17 -
   All Rights Reserved.
                            T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com



        Demo Links

        Silk Project – MileageStats MVC3 and jQuery demo –
         http://silk.codeplex.com
        MVC Music Store – an end-to-end MVC3 and EF4.1 Tutorial and
         Demo app – http://mvcmusicstore.codeplex.com
        Ayende’s Raccoon Blog Engine – open source blog engine using
         MVC3 and RavenDB – https://github.com/ayende/raccoonblog
        nopCommerce – an open-source e-commerce solution built with
         MVC3 – http://www.nopcommerce.com
        Orchard CMS – an open-source CMS built using MVC3, by
         Microsoft – http://www.orchardproject.net

Copyright © 2011 Credera.
                                                 - 18 -
   All Rights Reserved.
                            T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com



        Final Thoughts…

               “ I often find debates around programming model appropriateness and
               abstractions a little silly.
               Both Web Forms and MVC are programming web framework abstractions,
               built on top of a broader framework abstraction, programmed with higher
               level programming languages, running on top of a execution engine
               abstraction that itself is running on top of a giant abstraction called an
               OS.
               What you are creating with each is HTML/CSS/JavaScript (all abstractions
               persisted as text, transmitted over HTTP – another higher level protocol
               abstraction).”
                            --Scott Guthrie, Corporate VP, Server & Tools Business, Microsoft
                                                                  http://weblogs.asp.net/scottgu


Copyright © 2011 Credera.
                                                      - 19 -
   All Rights Reserved.
                                 T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com


       Credera is a Business and Technology Consulting Firm that Focuses on Leveraging Proven
       Technologies to Enable our Clients Business Strategy
        Our Company                                               Our People
             – Full-service business and technology                     – Credera’s professionals possess a unique
               consulting firm                                            combination of deep technical expertise with
                                                                          extensive business backgrounds
             – Provide business and technology solutions
               that offer measurable value to our clients               – Backgrounds include business, technology, and
                                                                          strategy management consulting with some of the
             – Deliver value by leveraging our people’s                   most well-known and respected consulting firms
               accumulated industry and management                        in the world
               experience with their deep technical
               expertise                                                – Have served many influential corporations in a
                                                                          variety of industries over the past 20 years
             – Established in 1999

             – Offices in Dallas, Austin, Denver
                                                                   Sample Clients

        Our Services
             – Management Consulting

             – Technology Solutions

             – Business Intelligence


Copyright © 2011 Credera.
                                                             - 20 -
   All Rights Reserved.
                                     T H E     P O W E R    O F       P E R S P E C T I V E
www.credera.com


       Coming Up…



                            Dallas Day of Dot Net
                                                 Presents…

                            Scott                                                 Hanselman



                                                March 9-10, 2012
                                     http://dodn2012.eventbrite.com/
Copyright © 2011 Credera.
                                                         - 21 -
   All Rights Reserved.
                                    T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com


       Shameless plug…


                                    Buy these!




Copyright © 2011 Credera.
                                                 - 22 -
   All Rights Reserved.
                            T H E   P O W E R   O F       P E R S P E C T I V E
www.credera.com



        Q&A

                             Thank you for attending!

                                  Contact Information:
                                        Thiago Silva
                                   tsilva@credera.com
                                    www.credera.com
                                      Twitter: @tafs7
                            Blogs: http://blogs.credera.com/
                                  http://silvaware.net
Copyright © 2011 Credera.
                                                  - 23 -
   All Rights Reserved.
                             T H E   P O W E R   O F       P E R S P E C T I V E

More Related Content

What's hot

Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java DeveloperJava Dev
 
Updated resume
Updated resumeUpdated resume
Updated resumepavani p
 
Java, BA,UI resumes
Java, BA,UI resumesJava, BA,UI resumes
Java, BA,UI resumesNeel A
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015Edward Burns
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Edward Burns
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEdward Burns
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015Edward Burns
 
SRIRAM THOTA_JAVA_RES
SRIRAM THOTA_JAVA_RESSRIRAM THOTA_JAVA_RES
SRIRAM THOTA_JAVA_RESSriram Thota
 
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...Edureka!
 
Java EE7 Demystified
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 DemystifiedAnkara JUG
 

What's hot (20)

V katakam
V katakamV katakam
V katakam
 
Bala Sr Java Developer
Bala  Sr Java DeveloperBala  Sr Java Developer
Bala Sr Java Developer
 
Krishnagopal Thogiti_Java
Krishnagopal Thogiti_JavaKrishnagopal Thogiti_Java
Krishnagopal Thogiti_Java
 
Updated resume
Updated resumeUpdated resume
Updated resume
 
Alaguraja.Ramasamy
Alaguraja.RamasamyAlaguraja.Ramasamy
Alaguraja.Ramasamy
 
Jspx Jdc2010
Jspx Jdc2010Jspx Jdc2010
Jspx Jdc2010
 
Java, BA,UI resumes
Java, BA,UI resumesJava, BA,UI resumes
Java, BA,UI resumes
 
Venugopal Kommineni
Venugopal KommineniVenugopal Kommineni
Venugopal Kommineni
 
Bhargav
BhargavBhargav
Bhargav
 
JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015JSF 2.2 Input Output JavaLand 2015
JSF 2.2 Input Output JavaLand 2015
 
Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015Java EE 7 from an HTML5 Perspective, JavaLand 2015
Java EE 7 from an HTML5 Perspective, JavaLand 2015
 
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talkEd presents JSF 2.2 at a 2013 Gameduell Tech talk
Ed presents JSF 2.2 at a 2013 Gameduell Tech talk
 
Bhim raju
Bhim rajuBhim raju
Bhim raju
 
New resume
New resumeNew resume
New resume
 
Burns jsf-confess-2015
Burns jsf-confess-2015Burns jsf-confess-2015
Burns jsf-confess-2015
 
Indranil_Bhowmick_Resume
Indranil_Bhowmick_ResumeIndranil_Bhowmick_Resume
Indranil_Bhowmick_Resume
 
Education&work experience
Education&work experienceEducation&work experience
Education&work experience
 
SRIRAM THOTA_JAVA_RES
SRIRAM THOTA_JAVA_RESSRIRAM THOTA_JAVA_RES
SRIRAM THOTA_JAVA_RES
 
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
Spring Framework Tutorial | Spring Tutorial For Beginners With Examples | Jav...
 
Java EE7 Demystified
Java EE7 DemystifiedJava EE7 Demystified
Java EE7 Demystified
 

Viewers also liked

ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1Gaurav Arora
 
Real time app with SignalR
Real time app with SignalR Real time app with SignalR
Real time app with SignalR Mojammel Haque
 
Benefits of using angular js
Benefits of using angular jsBenefits of using angular js
Benefits of using angular jsManev Dave
 
Asp Net (FT Preasen Revankar)
Asp Net   (FT  Preasen Revankar)Asp Net   (FT  Preasen Revankar)
Asp Net (FT Preasen Revankar)Fafadia Tech
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Fafadia Tech
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NETAlessandro Giorgetti
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1Esraa Ammar
 
Gettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSGettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSArmin Vieweg
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC PresentationVolkan Uzun
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVCKhaled Musaied
 
AngularJS performance & production tips
AngularJS performance & production tipsAngularJS performance & production tips
AngularJS performance & production tipsNir Kaufman
 
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)Gary Arora
 
Introduction to AngularJS Framework
Introduction to AngularJS FrameworkIntroduction to AngularJS Framework
Introduction to AngularJS FrameworkRaveendra R
 

Viewers also liked (20)

ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1ASPNet MVC series for beginers part 1
ASPNet MVC series for beginers part 1
 
Real time app with SignalR
Real time app with SignalR Real time app with SignalR
Real time app with SignalR
 
Aspnet mvc
Aspnet mvcAspnet mvc
Aspnet mvc
 
Benefits of using angular js
Benefits of using angular jsBenefits of using angular js
Benefits of using angular js
 
AngularJS is awesome
AngularJS is awesomeAngularJS is awesome
AngularJS is awesome
 
Asp Net (FT Preasen Revankar)
Asp Net   (FT  Preasen Revankar)Asp Net   (FT  Preasen Revankar)
Asp Net (FT Preasen Revankar)
 
Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)Introduction To Google Android (Ft Rohan Bomle)
Introduction To Google Android (Ft Rohan Bomle)
 
«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET«Real Time» Web Applications with SignalR in ASP.NET
«Real Time» Web Applications with SignalR in ASP.NET
 
SignalR With ASP.Net part1
SignalR With ASP.Net part1SignalR With ASP.Net part1
SignalR With ASP.Net part1
 
Benefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJSBenefits of developing a Single Page Web Applications using AngularJS
Benefits of developing a Single Page Web Applications using AngularJS
 
Gettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJSGettings started with the superheroic JavaScript library AngularJS
Gettings started with the superheroic JavaScript library AngularJS
 
SignalR
SignalRSignalR
SignalR
 
ASP.NET MVC Presentation
ASP.NET MVC PresentationASP.NET MVC Presentation
ASP.NET MVC Presentation
 
SignalR
SignalRSignalR
SignalR
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
AngularJS performance & production tips
AngularJS performance & production tipsAngularJS performance & production tips
AngularJS performance & production tips
 
AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)AngularJS - What is it & Why is it awesome ? (with demos)
AngularJS - What is it & Why is it awesome ? (with demos)
 
AngularJS Basics with Example
AngularJS Basics with ExampleAngularJS Basics with Example
AngularJS Basics with Example
 
Introduction to Angularjs
Introduction to AngularjsIntroduction to Angularjs
Introduction to Angularjs
 
Introduction to AngularJS Framework
Introduction to AngularJS FrameworkIntroduction to AngularJS Framework
Introduction to AngularJS Framework
 

Similar to Aspnet mvc vs_web_forms_final

Mvc presentation
Mvc presentationMvc presentation
Mvc presentationMaslowB
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Servicessuparnarao
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Servicesgnreddi
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Servicesmadhu54321
 
Using jQuery and WCF To Build a Better User Experience
Using jQuery and WCF To Build a Better User ExperienceUsing jQuery and WCF To Build a Better User Experience
Using jQuery and WCF To Build a Better User Experiencejthewitt
 
JQuery and WCF for a Better User Experience
JQuery and WCF for a Better User ExperienceJQuery and WCF for a Better User Experience
JQuery and WCF for a Better User ExperienceCredera
 
Senior .Net Developer - Senthil Ravindranath
Senior .Net Developer - Senthil RavindranathSenior .Net Developer - Senthil Ravindranath
Senior .Net Developer - Senthil RavindranathSenthil Ravindranath
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperKarthik Reddy
 
Java online training, java training in bangalore, java training
Java online training, java training in bangalore, java trainingJava online training, java training in bangalore, java training
Java online training, java training in bangalore, java trainingVyshnavi Reddy
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchReza Rahman
 

Similar to Aspnet mvc vs_web_forms_final (20)

Asp.netmvc handson
Asp.netmvc handsonAsp.netmvc handson
Asp.netmvc handson
 
MVC 1.0 / JSR 371
MVC 1.0 / JSR 371MVC 1.0 / JSR 371
MVC 1.0 / JSR 371
 
Mvc presentation
Mvc presentationMvc presentation
Mvc presentation
 
Mvc3 part1
Mvc3   part1Mvc3   part1
Mvc3 part1
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Services
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Services
 
Remote Assessment Services
Remote Assessment ServicesRemote Assessment Services
Remote Assessment Services
 
Using jQuery and WCF To Build a Better User Experience
Using jQuery and WCF To Build a Better User ExperienceUsing jQuery and WCF To Build a Better User Experience
Using jQuery and WCF To Build a Better User Experience
 
JQuery and WCF for a Better User Experience
JQuery and WCF for a Better User ExperienceJQuery and WCF for a Better User Experience
JQuery and WCF for a Better User Experience
 
Senior .Net Developer - Senthil Ravindranath
Senior .Net Developer - Senthil RavindranathSenior .Net Developer - Senthil Ravindranath
Senior .Net Developer - Senthil Ravindranath
 
SeniorNET Bhanu Resume
SeniorNET Bhanu ResumeSeniorNET Bhanu Resume
SeniorNET Bhanu Resume
 
Trinath Resume
Trinath ResumeTrinath Resume
Trinath Resume
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Actively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net DeveloperActively looking for an opportunity to work as a challenging Dot Net Developer
Actively looking for an opportunity to work as a challenging Dot Net Developer
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Java online training, java training in bangalore, java training
Java online training, java training in bangalore, java trainingJava online training, java training in bangalore, java training
Java online training, java training in bangalore, java training
 
Trinada pabolu profile
Trinada pabolu profileTrinada pabolu profile
Trinada pabolu profile
 
Introduction to ASP.NET MVC
Introduction to ASP.NET MVCIntroduction to ASP.NET MVC
Introduction to ASP.NET MVC
 
Introduction to Mvc
Introduction to MvcIntroduction to Mvc
Introduction to Mvc
 
JavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great MatchJavaScript Frameworks and Java EE – A Great Match
JavaScript Frameworks and Java EE – A Great Match
 

More from Credera

Credera Employees Compete in AT&T Business Hackathon with Magic Leap
Credera Employees Compete in AT&T Business Hackathon with Magic LeapCredera Employees Compete in AT&T Business Hackathon with Magic Leap
Credera Employees Compete in AT&T Business Hackathon with Magic LeapCredera
 
Seven Keys to Unlock and Lead Innovation Strategy
Seven Keys to Unlock and Lead Innovation StrategySeven Keys to Unlock and Lead Innovation Strategy
Seven Keys to Unlock and Lead Innovation StrategyCredera
 
Credera 2017 Chief Marketing Officer survey
Credera 2017 Chief Marketing Officer surveyCredera 2017 Chief Marketing Officer survey
Credera 2017 Chief Marketing Officer surveyCredera
 
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013Enterprise Social Networking: Strategy and Implementation with SharePoint 2013
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013Credera
 
SharePoint Information Architecture
SharePoint Information ArchitectureSharePoint Information Architecture
SharePoint Information ArchitectureCredera
 
Office 365 Migration Planning
Office 365 Migration PlanningOffice 365 Migration Planning
Office 365 Migration PlanningCredera
 
UX Kick Start: Start Your Project Off On the Right Foot
UX Kick Start: Start Your Project Off On the Right FootUX Kick Start: Start Your Project Off On the Right Foot
UX Kick Start: Start Your Project Off On the Right FootCredera
 
Agile Comes To You
Agile Comes To YouAgile Comes To You
Agile Comes To YouCredera
 
SharePoint Commerce Services
SharePoint Commerce ServicesSharePoint Commerce Services
SharePoint Commerce ServicesCredera
 
Microsoft Cloud Services - Introducing the Value of BPOS
Microsoft Cloud Services  - Introducing the Value of BPOSMicrosoft Cloud Services  - Introducing the Value of BPOS
Microsoft Cloud Services - Introducing the Value of BPOSCredera
 
Microsoft X
Microsoft XMicrosoft X
Microsoft XCredera
 
Open Admin - GWT
Open Admin - GWTOpen Admin - GWT
Open Admin - GWTCredera
 
From delegates, to lamdas and expression trees your guide to elegant code in ...
From delegates, to lamdas and expression trees your guide to elegant code in ...From delegates, to lamdas and expression trees your guide to elegant code in ...
From delegates, to lamdas and expression trees your guide to elegant code in ...Credera
 
Winning With APIs
Winning With APIsWinning With APIs
Winning With APIsCredera
 

More from Credera (14)

Credera Employees Compete in AT&T Business Hackathon with Magic Leap
Credera Employees Compete in AT&T Business Hackathon with Magic LeapCredera Employees Compete in AT&T Business Hackathon with Magic Leap
Credera Employees Compete in AT&T Business Hackathon with Magic Leap
 
Seven Keys to Unlock and Lead Innovation Strategy
Seven Keys to Unlock and Lead Innovation StrategySeven Keys to Unlock and Lead Innovation Strategy
Seven Keys to Unlock and Lead Innovation Strategy
 
Credera 2017 Chief Marketing Officer survey
Credera 2017 Chief Marketing Officer surveyCredera 2017 Chief Marketing Officer survey
Credera 2017 Chief Marketing Officer survey
 
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013Enterprise Social Networking: Strategy and Implementation with SharePoint 2013
Enterprise Social Networking: Strategy and Implementation with SharePoint 2013
 
SharePoint Information Architecture
SharePoint Information ArchitectureSharePoint Information Architecture
SharePoint Information Architecture
 
Office 365 Migration Planning
Office 365 Migration PlanningOffice 365 Migration Planning
Office 365 Migration Planning
 
UX Kick Start: Start Your Project Off On the Right Foot
UX Kick Start: Start Your Project Off On the Right FootUX Kick Start: Start Your Project Off On the Right Foot
UX Kick Start: Start Your Project Off On the Right Foot
 
Agile Comes To You
Agile Comes To YouAgile Comes To You
Agile Comes To You
 
SharePoint Commerce Services
SharePoint Commerce ServicesSharePoint Commerce Services
SharePoint Commerce Services
 
Microsoft Cloud Services - Introducing the Value of BPOS
Microsoft Cloud Services  - Introducing the Value of BPOSMicrosoft Cloud Services  - Introducing the Value of BPOS
Microsoft Cloud Services - Introducing the Value of BPOS
 
Microsoft X
Microsoft XMicrosoft X
Microsoft X
 
Open Admin - GWT
Open Admin - GWTOpen Admin - GWT
Open Admin - GWT
 
From delegates, to lamdas and expression trees your guide to elegant code in ...
From delegates, to lamdas and expression trees your guide to elegant code in ...From delegates, to lamdas and expression trees your guide to elegant code in ...
From delegates, to lamdas and expression trees your guide to elegant code in ...
 
Winning With APIs
Winning With APIsWinning With APIs
Winning With APIs
 

Recently uploaded

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxMatsuo Lab
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxYounusS2
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesDavid Newbury
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceMartin Humpolec
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding TeamAdam Moalla
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataSafe Software
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintMahmoud Rabie
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureEric D. Schabell
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncObject Automation
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 

Recently uploaded (20)

Introduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptxIntroduction to Matsuo Laboratory (ENG).pptx
Introduction to Matsuo Laboratory (ENG).pptx
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Babel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptxBabel Compiler - Transforming JavaScript for All Browsers.pptx
Babel Compiler - Transforming JavaScript for All Browsers.pptx
 
Linked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond OntologiesLinked Data in Production: Moving Beyond Ontologies
Linked Data in Production: Moving Beyond Ontologies
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
Things you didn't know you can use in your Salesforce
Things you didn't know you can use in your SalesforceThings you didn't know you can use in your Salesforce
Things you didn't know you can use in your Salesforce
 
9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team9 Steps For Building Winning Founding Team
9 Steps For Building Winning Founding Team
 
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial DataCloud Revolution: Exploring the New Wave of Serverless Spatial Data
Cloud Revolution: Exploring the New Wave of Serverless Spatial Data
 
Empowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership BlueprintEmpowering Africa's Next Generation: The AI Leadership Blueprint
Empowering Africa's Next Generation: The AI Leadership Blueprint
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
OpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability AdventureOpenShift Commons Paris - Choose Your Own Observability Adventure
OpenShift Commons Paris - Choose Your Own Observability Adventure
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
GenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation IncGenAI and AI GCC State of AI_Object Automation Inc
GenAI and AI GCC State of AI_Object Automation Inc
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 

Aspnet mvc vs_web_forms_final

  • 1. THE POWER OF PERSPECTIVE ASP.NET MVC vs. Web Forms .NET Track Thiago Silva Credera Copyright © 2011 Credera. All Rights Reserved.
  • 2. www.credera.com About the Speaker  Thiago Silva is a software and business intelligence consultant, based out of Dallas Texas. He is an architect for the Microsoft practice at Credera in Dallas and has helped several clients implement custom software, SharePoint, business intelligence, and reporting solutions using .NET and SQL Server technologies.  Thiago is co-author of the book "Professional SQL Server 2008 Reporting Services" by Wrox Publishing, and contributor on the book "Microsoft SQL Server Reporting Services Recipes: for Designing Expert Reports".  You can visit his blog, Silvaware, at http://silvaware.net, and follow him on twitter at http://twitter.com/tafs7 Copyright © 2011 Credera. -2- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 3. www.credera.com Agenda  MVC – The Good Stuff – The Bad Not So Good Stuff  Web Forms is dead! Long live Web Forms! – The Good Stuff – The Bad Not So Good Stuff  ASP.NET – The Platform…THEY MEET IN THE MIDDLE!  MVC Takes On Web Forms – High Level feature comparison – Detailed feature comparison  MVC Learning Curve  Show me the code! Copyright © 2011 Credera. -3- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 4. www.credera.com MVC 101  Software Architectural Pattern (NOT A FRAMEWORK)  First described, using Smalltalk, in 1979 by Trygve Reenskaug, Xerox PARC  Isolates domain logic from UI/Presentation  Popular in Java and Ruby Web Frameworks Controller View Model Copyright © 2011 Credera. -4- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 5. www.credera.com MVC – The Good Stuff  Mature and Widely Adopted – tried and true  Fosters adoption of best practices and patterns – Separation of Concerns – Unit Testing/TDD and Mocking – Loosely coupled tiers – Highly maintainable code  Better code organization Copyright © 2011 Credera. -5- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 6. www.credera.com MVC – The Bad Not So Good Stuff  Requires deeper experience in architectural patterns and well-rounded web development topics: – TDD/unit testing – S.O.L.I.D. – HTML/CSS/JavaScript  Does not closely resemble Windows Forms development so the learning curve is steeper for non-web developers  Might be overkill if… – speed of development is essential – application is simple and small Copyright © 2011 Credera. -6- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 7. www.credera.com Web Forms Is Dead! Long Live Web Forms!  OH: “now that Microsoft has ASP.NET MVC, they are going to stop supporting Web Forms”….FALSE!  Web Forms is very much alive and with a new release, in .NET4. Here are some new features: – Extensible Output Caching – Out of Proc Session State Compression – Extensible Request Validation – Extensible Object Caching – Better control over ViewState – URL Routing Support (vanity URLs = SEO!) – Better control over generated server control IDs in HTML (for easier JavaScript access) – Improved HTML rendering of controls for support of web standards and accessibility Copyright © 2011 Credera. -7- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 8. www.credera.com Web Forms - The Good Stuff  Rapid Development (RAD) – Drag and drop controls provide an abstraction layer over CSS, JS, and HTML. – Speeds up time from prototype to final product  Simulates Statefulness – Viewstate, postbacks, control events, and page lifecycle, all aim to simulate a stateful model on top of an inherently stateless HTTP protocol. – Allows developers without deep HTML and JS knowledge to write effective applications.  Maturity – Web Forms is stable, mature, and is fully supported by third party controls and tools (e.g. Ajax control toolkit, Telerik, Infragistics, DevExpress, etc.) Copyright © 2011 Credera. -8- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 9. www.credera.com Web Forms - The Bad Not So Good Stuff  Abstraction from HTML – Hinders integration with Javascript frameworks (e.g. jQuery). – Postback model and ViewState can make it hard for search engines to rank Web Forms pages higher due to payload size.  Difficult to adopt practices such as Separation of Concerns – History has shown that the Web Forms model does not lend itself naturally to SOC. – Because framework does not lend itself well to SOC, developers must make a bigger effort to stick to best practices and patterns.  Difficult To Unit Test – A monolithic runtime environment exposed as sealed classes is hard/impossible to test (mock). Copyright © 2011 Credera. -9- All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 10. www.credera.com ASP.NET – The Platform…THEY MEET IN THE MIDDLE! Since both MVC and Web Forms share the same underlying platform, they can take advantage of the same goodness that’s available in ASP.NET:  HTTP Request  Roles  Health Monitoring  HTTP Response  Master Pages  Process Model  URL Routing  Microsoft ASP.NET AJAX  Tracing  Session State  jQuery  Caching  Localization  Profiles  Configuration  Security  Compilation  Membership  Deployment Copyright © 2011 Credera. - 10 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 11. www.credera.com MVC Takes On Web Forms – a Feature Comparison Feature Web Forms MVC Server Controls * ViewState Unit Testing Full HTML Control Page Lifecycle Separation of Concerns Support for JavaScript Rapid Application Development Windows Forms paradigm * MVC Server controls are implemented as lightweight HTML helper extension methods, and render simple HTML and JavaScript. They do not actually maintain state or contain any server side event/lifecycle. Copyright © 2011 Credera. - 11 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 12. www.credera.com MVC Takes On Web Forms – Detailed Comparison Feature MVC Web Forms SEO Out of box MVC URLs are Web Forms can be made to work SEO friendly with friendly URLs by manual processes involving URL rewrites and server transfers Development Requires more design Code-behind is more familiar, and separation of and often more easily utilized as concerns, which can be the code can directly control cause for more up from page output (e.g. calling a effort, but better long property on a server control) term maintenance Separation of Concerns Inherent in the Can be achieved by diligence and architecture process Copyright © 2011 Credera. - 12 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 13. www.credera.com MVC Takes On WebForms – Detailed Comparison Feature MVC WebForms Unit Testing Easy to test the model More difficult because code- and controller, as they behind is not required to be- are de-coupled by the decoupled from the form nature of the architecture Open Source Libraries NuGet facilitates easy use Integrating open source, third of open source, third party libraries is a more manual party libraries, and process JavaScript libraries are more easily utilized HTML / Page Weight More control over the More difficult to control HTML HTML, easier to build because controls and server lightweight, HTML rendering may be out of compliant pages developer’s control Copyright © 2011 Credera. - 13 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 14. www.credera.com MVC Learning Curve  Putting data on a page – Need to stop thinking in terms of telling controls what to do. – In MVC, you think in terms of providing a model that contains all the data a page needs (a “View Model”). – A given view specifies/defines what model data it needs to display and in what way.  Postbacks – No support for “classic” postbacks. – You must post to a controller action in MVC. – MVC does not consider any URL as the endpoint to a physical server resource.  ViewState – This concept does not exist in MVC. – You are responsible for populating and repopulating form data. – Model binder and view models provide help with this. Copyright © 2011 Credera. - 14 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 15. www.credera.com MVC Learning Curve – more stuff WebForms Page Lifecycle MVC Page Lifecycle Copyright © 2011 Credera. - 15 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 16. www.credera.com MVC Learning Curve – even more stuff Platform Paradigm Parallels…(say that 5 times in a row!) WebForms MVC  Controls ≈  Html Helpers  Code Behind ≈  Controller  Events ≈  Routes and Methods  User Controls ≈  Partial Views  Master Pages =  Master Pages and Shared Views Copyright © 2011 Credera. - 16 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 17. www.credera.com Demo Copyright © 2011 Credera. - 17 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 18. www.credera.com Demo Links  Silk Project – MileageStats MVC3 and jQuery demo – http://silk.codeplex.com  MVC Music Store – an end-to-end MVC3 and EF4.1 Tutorial and Demo app – http://mvcmusicstore.codeplex.com  Ayende’s Raccoon Blog Engine – open source blog engine using MVC3 and RavenDB – https://github.com/ayende/raccoonblog  nopCommerce – an open-source e-commerce solution built with MVC3 – http://www.nopcommerce.com  Orchard CMS – an open-source CMS built using MVC3, by Microsoft – http://www.orchardproject.net Copyright © 2011 Credera. - 18 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 19. www.credera.com Final Thoughts… “ I often find debates around programming model appropriateness and abstractions a little silly. Both Web Forms and MVC are programming web framework abstractions, built on top of a broader framework abstraction, programmed with higher level programming languages, running on top of a execution engine abstraction that itself is running on top of a giant abstraction called an OS. What you are creating with each is HTML/CSS/JavaScript (all abstractions persisted as text, transmitted over HTTP – another higher level protocol abstraction).” --Scott Guthrie, Corporate VP, Server & Tools Business, Microsoft http://weblogs.asp.net/scottgu Copyright © 2011 Credera. - 19 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 20. www.credera.com Credera is a Business and Technology Consulting Firm that Focuses on Leveraging Proven Technologies to Enable our Clients Business Strategy  Our Company  Our People – Full-service business and technology – Credera’s professionals possess a unique consulting firm combination of deep technical expertise with extensive business backgrounds – Provide business and technology solutions that offer measurable value to our clients – Backgrounds include business, technology, and strategy management consulting with some of the – Deliver value by leveraging our people’s most well-known and respected consulting firms accumulated industry and management in the world experience with their deep technical expertise – Have served many influential corporations in a variety of industries over the past 20 years – Established in 1999 – Offices in Dallas, Austin, Denver  Sample Clients  Our Services – Management Consulting – Technology Solutions – Business Intelligence Copyright © 2011 Credera. - 20 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 21. www.credera.com Coming Up… Dallas Day of Dot Net Presents… Scott Hanselman March 9-10, 2012 http://dodn2012.eventbrite.com/ Copyright © 2011 Credera. - 21 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 22. www.credera.com Shameless plug… Buy these! Copyright © 2011 Credera. - 22 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E
  • 23. www.credera.com Q&A Thank you for attending! Contact Information: Thiago Silva tsilva@credera.com www.credera.com Twitter: @tafs7 Blogs: http://blogs.credera.com/ http://silvaware.net Copyright © 2011 Credera. - 23 - All Rights Reserved. T H E P O W E R O F P E R S P E C T I V E