Comentários
- O que v / s significa no título desta pergunta? Do contexto, parece significar versus , que geralmente é abreviado como vs. Eu ' nunca vi a abreviatura v / s antes. Esse uso é padrão em algum lugar ou você o inventou? Ou representa algo totalmente diferente?
- Você realmente deveria mudar o título desta pergunta. ASP.NET MVC é ASP.NET. Existem também formulários da Web ASP.NET. Isso também é ASP.NET. ASP.NET é a estratégia geral da web na plataforma .NET Framework que engloba ASP.NET MVC e ASP.NET Web Forms. Isso é demonstrado na versão mais recente do Visual Studio 2013; você pode criar um aplicativo da web ASP.NET e usar as caixas de seleção para os recursos que deseja, ASP.NET MVC ou ASP.NET Web Forms ou ASP.NET Web API ou qualquer outra coisa.
Resposta
Minha opinião pessoal é que a ASP.NET MVC é um passo à frente.
O ASP.NET Web Forms tem algumas vantagens principalmente com o fato de você estar programando como no Windows Forms com uma abordagem de base de eventos. Se você programou no Windows Forms, com certeza estava praticamente em casa. Você também escreveu o mínimo possível de HTML / CSS / Javascript. No entanto, você também tem várias desvantagens porque, mesmo que o código esteja por trás, ele ainda está diretamente acoplado à sua lógica de exibição, … e ViewState / PostBack? Já disse o suficiente (foi necessário, mas que bagunça …)
Eu poderia escrever uma comparação muito longa entre os dois aqui, mas eu apresento este link, ele traça uma comparação muito mais detalhada do que eu poderia fornecer aqui, é ótimo: http://coderjournal.com/2008/12/introducing-aspnet-mvc-part-2-aspnet-mvc-vs-webforms/
Vou apenas adicionar isso desde ASP .NET MVC é desacoplado da lógica de exibição, você pode usar diferentes mecanismos de renderização (Razor é ótimo IMHO), verifique as informações da Wikipedia sobre isso.
Comentários
- Como explicamos viewstate, desculpe perguntar isso, mas você pode me dar um exemplo para entender este termo como eu não ' não sei muito sobre isso.
- Microsoft ' s introdução à " ViewState ": " " Microsoft ® O estado de exibição ASP.NET, em poucas palavras, é a técnica usada por um ASP.NET Web página para persistir as alterações no estado de um formulário da Web em postbacks " ". Agora, minhas próprias palavras: HTTP não tem estado e usando este campo oculto " ViewState ", a Microsoft criou a ilusão para o desenvolvedor de que tem estado, o que significa que os dados inseridos pelo usuário são mantidos entre postbacks, sem você se preocupar. Há uma boa explicação sobre como " ViewState " e todo o ciclo de vida da página em ASP.NET funciona em msdn.microsoft.com/en-us/library/ms972976.aspx .
- dats um ótimo link. Descobri isso há cerca de uma hora, mas obrigado por listá-lo aqui.
Resposta
Com certeza, escolher ASP.NET MVC em vez de ASP.NET “clássica” se eu tivesse a oportunidade.
Claro, muito do que há na ASP.NET MVC é semelhante ao que você encontrará em Ruby on Rails (ou a maioria dos frameworks MVC da web atualmente), mas isso não é uma coisa ruim – o roteamento de URL e a separação de controladores de visualizações é realmente uma maneira muito boa de trabalhar, uma vez que você pegue o jeito.
E mantendo a estrutura em sintonia com a forma como a WWW realmente funciona, ao invés de tentar enfiar um pino quadrado em um orifício redondo e forçar um modelo “com estado” em um protocolo sem estado (como “clássico “ASP.NET fez), ele elimina todas as abstrações horríveis e vazadas que o ASP.NET tinha.
Você deveria aprender ASP.NET MVC em vez de WPF? Eu não sei, isso é mesmo válido escolha? Você certamente não pode usar WPF em todos os lugares onde a ASP.NET MVC funcionaria (e vice-versa), então eu não acho que você deva aprender um “em vez de” o outro …
Comentários
- eu estava conversando entre o asp.net e o asp.net mvc. O WPF foi mencionado no contexto do Windows Form.
Resposta
A ASP.NET MVC torna mais fácil gerenciar a complexidade dividindo um aplicativo em modelo, visão e controlador.
A ASP.NET MVC não usa estado de visão ou formulários baseados em servidor.Isso torna a estrutura MVC ideal para desenvolvedores que desejam controle total sobre o comportamento de um aplicativo.
A ASP.NET MVC usa um padrão Front Controller que processa solicitações de aplicativos da Web por meio de um único controlador. Isso permite que você projete um aplicativo que ofereça suporte a uma infraestrutura de roteamento rica.
A ASP.NET MVC oferece melhor suporte para o desenvolvimento orientado a testes (TDD).
A ASP.NET MVC funciona bem para aplicativos da Web que são suportados por grandes equipes de desenvolvedores e para designers da Web que precisam de um alto grau de controle sobre o comportamento do aplicativo.