Futuro ASP.net: WebForms ou MVC?
Olá e um feliz ano novo caros amigos do PTI!
O post de hoje é sobre a mais nova discussão dos programadores .Net.
Amigos, essa discussão é tão épica quanto as tradicionais Pelé ou Maradona para os futebolísticos (eu), Ragnarok ou Priston Tale para os Old Geeks (eu) ou ainda férias no ap. de NY ou Miami (piada, né?).
Eu, como desenvolvedor desktop há quase 5 anos, não posso deixar de exaltar a mão na roda que o WebForm foi pra mim. Arrasta aqui, cria DataSource ali, pagina o grid, Membership control lá e Validation Controls acolá. Fim. Engraçado Marcelo, você fala de WebForms e tem a covardia de não citar os controles Ajax. O que é melhor do que escrever uma tag HTML que tudo que estiver dentro dela funcionará de forma assíncrona com o servidor? E ainda por cima, ao invés de eu escrever Javascript, escreverei C# manipulando o JSON apenas no retorno e só quando for preciso. Eu lhe respondo: melhor que isso, é ter controle de tudo isso.
Baseado nas leituras/experiências que venho tendo nos últimos raros projetos WEB que participo, compartilharei com vocês algumas observações sobre WebForms e MVC:
Nunca tenha um projeto parte MVC, parte WebForm. Ponto de vista técnico: OK. Ponto de vista de manutenção: Catástrofe de proporções bíblicas;Se o projeto é novo e a sua equipe não está acostumada com linguagens gerenciadas pelo .Net (vide C#, C++ e VB), aconselho o uso de WebForms. O framework MVC foi programado em C# e faz uso extensivo de recursos complexos da plataforma, como Delegates e Events, Métodos de Extensão (lembre-se dos HtmlHelpers), Lambda Expressions etc. Observe, não estou encoranjando você de não aprender estes termos, estou apenas sendo realista. Os projetos sempre são pra ontem e quanto mais conhecimento você adquire em menos tempo, melhor. E acredite amigo, são assuntos complexos (para de se achar leitor .Net, admita que você comeu unhas ao ver estes termos pela primeira vez);Uso intenso de Ajax? WebForms por favor. Atenção: Essa minha afirmação tende a ficar arcaica a cada minuto que passa.O WebForms foi destinado a programadores Desktop. Se você conhece C# e já está acostumado a lógica HTTP – Request e Reponse, Client e Server, feche os olhos para WebForms e caia de cabeça no MVC. A learning Curve é rápida, a padronização é séria e você tem controle total do html gerado. Necessita de modularização total no seu software? Use MVC. A microsoft seguiu a risca a programação para interfaces e abstract classes. As classes são todas fechadas para modificação e abertas para extensão, de forma que todo o Framework é plugável. No MVC você pode utilizar Design Patterns com mais naturalidade. As Views não são engessadas que nem os aspx dos WebForms. Em contra partida, diga adeus a aqueles seus “Server Controls” favoritos.Marcelo! Minha página tem 9845104 kbytes! Apesar de poder desabilitar o ViewState, o WebForm faz uso de uma sequência absurda de eventos e roundtrips client/server. Atenção: não estou afirmando que o MVC roda mais rápido que o WebForms, apenas que as páginas ocupam menos espaço. Se você acha que estou sendo ambíguo, saiba que o MVC usa reflection com manipulação de strings pra alcançar as páginas, enquanto no WebForms é simplesmente escolhido o arquivo o que é anos luz mais rápido.O MVC foi projetado para adequar cada partezinha a um Test Unitário. Ponto final.Amigo leitor, estas foram algumas breves observações trazendo alguns prós e contras destes caras.
Se você leu tudo e entendeu, tenho três teorias :
1)Você não tem mais nada pra fazer.
2)Você vai esquecer tudo isso e vai pro PHP.
3)Você vai aprender AGORA mesmo MVC e vai jurar nunca mais adiar aquela semaninha de estudo do Design Pattern mais admirado e usado no mundo.
“Eu devia ter sido fazendeiro, assim como meu pai me disse.”
Um abraço
0 comments:
Post a Comment