ASP.NET WebForms vs. ASP.NET MVC

watch_later 27 de fev de 2014

Há algum tempo tenho atuado como um desenvolvedor ASP.NET e eu gosto de escrever aplicações usando WebForms.

Em 2008, a Microsoft veio com uma nova tecnologia chamada de ASP.NET MVC e fiquei bastante surpreso com o fato de "Porque mais uma tecnologia ASP.NET seria necessária??" e muitas pessoas ainda estão se perguntando sobre o mesmo.

Muitas pessoas dizem ASP.NET MVC irá substituir totalmente o WebForms. Mas isso não é verdade. Ambos têm suas próprias vantagens e desvantagens Ninguém pode dizer ou ensinar-nos o que usar e quando usar, mas podemos discutir sobre alguns fatos que nos ajudarão a fazer a escolha entre os dois. E este artigo contém os fatos.



Nós também podemos tentar encontrar respostas para perguntas como:
O que é o ASP.NET?
O que é o Web Forms ASP.NET?
O que é MVC?
O que é ASP.NET MVC?

Se você é um desenvolvedor experiente que já atua com ASP.NET MVC, que já conhecem MVC muito bem, então este artigo irá ajudá-lo a rever seus conceitos.

Sobre  a parte visual

Microsoft inicialmente surgiu com algo chamado Visual. Com a ajuda de tecnologias como o Visual Basic, Visual C + + Microsoft enabled RAD (Rapid Application Development) de aplicações gráficas de usuário. Recursos como arrastar e soltar e intellisense feitos para que os desenvolvedores se concentrem mais na funcionalidade de negócios da aplicação, em vez de design de interface.
Mas este tecnologias são muito limitados a ambientes de trabalho, quando se trata de web a única opção que existia era ASP clássico.

Tecnologias Web

Quando dizemos tecnologias web, temos ASP clássico, PHP, JSP, ROR, ASP.NET WebForms, ASP.NET MVC e muitos mais. ASP clássico é uma das tecnologias web introduzida pela Microsoft , maior impecílio com o ASP clássico foi linguça e manutenção do mesmo. Vamos supor um cenário onde você tem algumas caixas de texto e um botão ; clique no botão de validar os dados com o servidor e se a validação conseguir os dados serão armazenados no banco de dados e, em caso de falha, a mensagem de erro será mostrada para o usuário na forma de um rótulo na cor vermelha. Você sabe qual é o maior problema com este cenário? Você tem que fazer uma grande quantidade de código por conta própria.

1.Primeiro faça o postback, definindo o valor do atributo action do formulário para mesma página
2.Os valores da caixa de texto vão ser apuradas no clique do botão, portanto, apenas escolha esquerda se  for recuperar valores a partir de dados publicados.
3.Em caso de validação falhar, você tem que explicitamente
   1.Definir todos os valores de volta para as caixas de texto correspondentes a partir dos dados publicados
   2.Mostrar mensagens de erro.

Visual na Web

Tecnologias como o Visual Basic estão limitadas a aplicações stand-alone, quando se trata de web, única opção que resta com a Microsoft é ASP clássico.

Quando falamos sobre a Web e desktop, duas coisas que devem ser considerados são

1. Como funciona o gerenciamento de estado das páginas?
2. Como fazer request/ como dar response nas páginas?

A web funciona em HTTP, que é um protocolo completamente sem estado. Vamos ter um pedido e uma resposta independente da solicitação e resposta anterior. Ao contrário do desktop os valores variáveis não ​​serão preservados pois diferente do desktop não é baseado em eventos , ao contrário do desktop que espera por entradas do usuário, cada entrada do usuário é um ato de interação/solicitação (GET / POST) para o servidor.

Finalmente a Microsoft veio com uma coisa chamada Web Forms ASP.NET, considerando-se o desenvolvimento de aplicativos rápido de fácil aprendizado.

O que é o ASP.NET?

ASP.NET é um framework Web  para criar aplicativos da Microsoft construiu em linguagem comum em tempo de execução para a construção de sites dinâmicos utilizando uma das linguagens de programação como C #, VB.NET, etc . Ele suporta dois modelos de Web Forms e ASP.NET MVC.







O que é o WebForms?

Microsoft primeiro trouxe ASP.NET WebForms que resolveu muitos problemas, criando maior nível de abstração sobre web estados de páginas e modelo simulado para facilitar o trabalho dos desenvolvedores web. No WebForms são introduzidos conceitos como autopostback e ViewState (manter os valores dos controle durante postagens das páginas) , e a parte mais interessante é que não é necessário escrever uma única linha de código. Com o WebForms Microsoft tentou trazer o modelo do Visual Basic para páginas  web.