ASP.NET WebForms x ASP.NET MVC

Preview:

DESCRIPTION

Segunda reunião do Grupo DotNetArchitects PE , apresentada por Daniel Ferreira

Citation preview

Model

ViewController

− System.Web (3.0)

− System.Web.Extensions (3.5)

Abstractions

Routing

MVC

http://www.asp.net/mvc

http://codeplex.com/aspnet

UrlRoutingMode

MVC Handler

18

ou

Antes

Agora

Devo usar Web

Forms ou MVC??

− Sua aplicação já está concluída (ou com boa parte pronta) com Web Forms. Não faça uma aplicação meio MVC, meio Web Forms.

− Tiver pouco tempo de desenvolvimento e a equipe não conhecer o padrão MVC, o framework ASP.Net MVC, ou os dois.

− Você gostar muito do modelo proporcionado pelo Web Forms de ilusão de manutenção de estado proporcionado pelo Viewstate.

− Suas necessidades de AJAX ou manipulação de Javascript forem muito altas, ou você odeia programar Javascript.

− Você é fã de carteirinha de alguns controles complexos, como o gridview, os de membership, ou ainda, você gosta muito de databinding;

− Você precisar utilizar programação de webparts para o Sharepoint.

− Precisar mais controle sobre o HTML gerado

− Quiser ter uma aplicação focada em padrões mais reconhecidos, inclusive no front-end.

− Quiser trabalhar com testes unitários também na interface com o usuário.

− Precisar de uma aplicação mais modular, inclusive no front-end.

− Quiser ter mais liberadade para extenderalguns pedaços do framework. Com ASP.Net MVC você pode substituir os controllers, o engine de View, a maneira de procurar Views, o framework de testes, etc.

− Quiser utilizar XSLT, XML, texto puro, ou sei lá o que mais para renderizar as páginas web.

− Tiver a intenção de gerar uma página menor em bytes

- Nós precisamos de um controle Repeater!

- Nós já o temos, se chama: laço de foreach.

Conversa entre desenvolvedores da

Microsoft, segundo relatado por Scott

Hanselman, do time do MVC.

System.Web.Mvc.GridView

?

<location path="Contas/ContaCorrente.aspx">

<system.web>

<authorization>

<allow roles="Gerentes" />

<deny users="*" />

</authorization>

</system.web>

</location>