Pergunta

Como alguém com alguma experiência em winforms e aplicativos cliente - vale a pena voltar e aprender como as páginas ASP .NET tradicionais funcionam ou está tudo bem em mudar diretamente para o ASP .NET MVC?

Estou procurando armadilhas ou armadilhas em meu conhecimento de C # geral, que não conhecerei na série de screencasts e coisas no site ASP .NET.

Foi útil?

Solução

Aqui está a grande vantagem do MVC.Ele funciona mais próximo da base da estrutura do que os Web Forms ASP.NET normais.Portanto, ao usar o MVC e entendê-lo, você entenderá melhor como funcionam os WebForms.O problema com WebForms é que há muita mágica e cerca de 6 anos tentando fazer a Web funcionar como o Windows Forms, então você tem a hierarquia da árvore de controle e tudo traduzido para a Web.Com o MVC você obtém o núcleo sem a influência do WinForm.

Portanto, comece com MVC e você poderá facilmente migrar para WebForms, se necessário.

Outras dicas

Concordo com Nick:MVC está muito mais próximo do real paradigma web e ao usá-lo você será confrontado com como seu site realmente funciona.O WebForms tira a maioria dessas coisas de você e, vindo de uma experiência em PHP, achei-o realmente anti-intuitivo.

Eu sugiro que você vá diretamente para o MVC e pule os WebForms.Como dito, você poderá voltar a ele se necessário.

ASP.Net Webforms é uma abstração completamente diferente da estrutura base do ASP.NET MVC.Com o MVC você tem mais controle sobre o que acontece nos bastidores do que com os Webforms do ASP.NET.

Na minha opinião, aprender maneiras diferentes de fazer as coisas geralmente fará de você um programador melhor, mas neste caso pode haver coisas melhores para aprender.

Depende de suas motivações.Se você pretende se vender como desenvolvedor ASP.NET, precisará de ambos.

Se isso for apenas para seu prazer, vá para o MVC.

Meu sentimento pessoal é que os webforms ainda existirão por mais alguns anos.Muitas pessoas investem tempo e energia nelas.No entanto, penso que as pessoas irão migrar lentamente (ou talvez não tão lentamente!).Webforms sempre foram apenas uma maneira de arrastar e soltar arquivos VB4 para pensar sobre desenvolvimento web.Meio que funcionou, mas tira muito controle.

ASP.NET MVC é para desenvolvedores que desejam desacoplar o código do cliente do código do servidor.Eu queria escrever clientes JavaScript, XHTML e CSS que pudessem passar de servidor para servidor (sem levar em conta a tecnologia do servidor).Os clientes são demorados para ajustar e terminar, então você gostaria de usá-los (e subcomponentes) para o maior número possível de servidores.Além disso, esse desacoplamento permite que seu servidor suporte qualquer tecnologia de cliente que suporte HTTP e colchetes angulares (e/ou JSON), como WPF/Silverlight.Sem a ASP.NET MVC você foi forçado a um relacionamento hostil com toda a equipe da ASP.NET --- mas Scott Guthrie é um cara legal e traz o MVC para a mesa depois de anos de seus antecessores (e talvez do próprio Scott) quase totalmente focados em fazer com que os programadores do Windows Forms escrevam aplicativos da web.

Antes da ASP.NET MVC, eu construí aplicativos ASP.NET amplamente baseados em arquivos ASHX — manipuladores HTTP.Posso garantir que nenhuma loja "real" da Microsoft encorajaria esse comportamento.É mais fácil, de uma perspectiva de gerenciamento (sábia), ditar que todos os seus desenvolvedores usem a maneira recomendada pelo fornecedor de usar as ferramentas do fornecedor.Portanto, as empresas de TI que estão um ou dois anos atrasadas exigirão que você conheça a maneira pré-MVC de fazer as coisas.Isso também é útil quando você tem um sistema “legado” para manter.

Mas, para o campo verde, é MVC de todo jeito!

IMO, há mais armadilhas em cenários normais de formulários da web do que apenas com MVC.Viewstate e databinding podem ser complicados às vezes.

Mas para o MVC, é simplesmente uma forma simples de postar/renderizar as coisas da maneira antiga.Não que seja ruim, é apenas diferente e mais limpo também.

Na verdade, não posso falar tecnicamente sobre MVC versus "tradicional", pois usei apenas o modelo tradicional até agora.Pelo que li, porém, não acho que um seja muito superior ao outro.Acho que uma vez que você "entende", você pode ser muito produtivo em ambos.

Porém, na prática, eu levaria em consideração que a maioria dos livros, exemplos de código e aplicativos existentes são escritos da maneira "tradicional".Você terá mais ajuda disponível e suas habilidades serão mais úteis para os empregadores com inscrições existentes escritas da maneira “tradicional”.

Se você não sabe ou não tem experiência com solicitação/resposta da web em nível bruto e renderização html/css bruta, o MVC seria um bom lugar para começar.Você entenderá melhor os prós e os contras dos webforms e do mvc.Ambos estarão disponíveis no futuro, pois ambos atendem a necessidades diferentes.

Embora eu deva dizer que webforms é uma plataforma altamente mal utilizada e abusada.Grande parte do lixo "não procure código" dá má fama a todos que o usam.Dedique um tempo para entendê-lo e usá-lo corretamente e você descobrirá que é uma plataforma muito extensível e robusta.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top