Pergunta

Eu tenho algumas experiências sobre aplicação de compilação com Asp.Net, mas agora frameworks MVC se tornar mais popular. Gostaria de tentar construir nova aplicação web multilingue usando com Asp.Net MVC ou Castelo MonoRail mas eu não sei qual deles é bom para mim. Eu não gosto do mecanismo de exibição formulário web, mas como recurso de roteamento em Asp.Net MVC.

  • Será que ninguém fala sobre prós e contras entre aqueles?
  • Que ViewEngine é o melhor também para substituir o modelo mestre?
Foi útil?

Solução

Falando como um defensor do monotrilho, eu tenho que dizer que você provavelmente deve ir para ASP.NET MVC. Para ser honesto, o simples fato de que ASP.NET MVC vai se tornar a arquitetura padrão dentro de três anos provavelmente deve balançá-lo. Esta equação era diferente há um ano, simplesmente porque a arquitetura padrão teve sérios problemas de produtividade em comparação com MonoRail.

Se você quiser falar vantagens técnicas e desvantagens:

  • ASP.NET AJAX é uma bagunça (evitá-lo), mas agora tenho jQuery. Na verdade, o apoio jQuery é melhor do que qualquer outro ambiente. Claro, você só plenamente que com a integração IDE com o mecanismo de exibição padrão.
  • Existem algumas melhorias estéticas (por exemplo, as informações do modelo forma é passado ao redor é muito mais limpo e mais óbvio do que Monorail).

Além disso, não demitir o mecanismo de exibição padrão fora de mão. Você não tem que jogar controles para ele como você fez com o ASP.NET, você pode codificá-lo de uma forma muito semelhante ao Brail, usando apenas C #, em vez de Boo.

Existem coisas que são simplesmente feio * O número de métodos que levam objeto para um parâmetro. Boa sorte para encontrar a documentação sobre o que exatamente eles esperam. * Carinho da Microsoft para classes abstratas mais interfaces. Eles têm as suas razões, mas eu ainda não gostam dele.

Além disso, em muitos aspectos, MonoRail continua a ser a plataforma mais completa. Não há nenhuma abstração para validação ou paginação em ASP.NET, por exemplo. Além disso, não há realmente nenhuma ajuda para a ligação a um modelo. Os ajudantes têm muito pouca funcionalidade em comparação com seus equivalentes do monotrilho.

No geral, porém, acho que ASP.NET MVC é um vencedor.

Outras dicas

MonoRail e ASP.NET MVC são fundamentalmente muito semelhante, você deve estar bem fora de usar qualquer um deles. MonoRail tem existido muito mais tempo e tem, portanto, mais maior recursos de nível.

A principal força da ASP.NET MVC é que está encaminhando motor, para ser justo MonoRail tem praticamente um mecanismo de roteamento equivalente e com algumas modificações você pode usar o mecanismo de roteamento ASP.NET MVC com MonoRail como o mecanismo de roteamento não é realmente em ASP.NET MVC, mas em System.Web.Routing (lançado em .NET 3.5 SP1). ASP.NET MVC e integração com o Visual Studio também é um plus, e provavelmente vai ficar melhor quando nos aproximamos RTM do v1.

O projeto MvcContrib contém alguns grandes motores de vista, como Spark, NHaml e Brail. Ninguém poderia ser considerado "Best", um favorito pessoal é Spark. Para saber mais sobre faísca: http://dev.dejardin.org/documentation/syntax

O motor de WebForms tem intellisense que é uma grande vantagem que a meu conhecimento todos os motores de vista alternativos falta.

Além de popularidade e apoio de Microsoft percebido, ASP.NET MVC ainda carece de algum núcleo características que Monorail tem tido por muito tempo como organização controlador (Áreas), ViewComponents nativas e filtros que podem usar IoC para citar os mais mais importantes .

Eu tenho algumas grandes aplicações que utilizam todos esses recursos e eu tive um tempo difícil portar para ASP.NET MVC.

Eu tenho trabalhado com Monorail há alguns anos e enquanto MVC parece promissor e de flexibilidade é incrível, eu ainda achar que é desajeitado que para qualquer outra coisa que eu tento fazer, Acontece que ele não está lá e eu tenho que quer conecte um pequeno pedaço de Bonfanti, outro pedaço de SharpArchitecture, construí-lo, você começa a foto. Monotrilho é muito mais fácil trabalhar com (agora, que é).

Eu espero que as coisas vão melhorar nos próximos meses como algumas soluções propostas começará a se levantar contra os outros e se tornam mais mainstream. Hey, a diversidade de opções é bom mas confia em mim, você não quer estar em Java-terra 3 anos atrás, onde havia tantos frameworks web que você poderia construir o seu site usando um para cada página diferente!

Enquanto isso vou manter lentamente portar meus aplicativos MR para MVC, apenas no caso.

  1. Eu acho MVC ganha mãos para baixo. Seu conjunto de recursos é muito semelhante, mas vai ser o mais "popular" dos dois (e, portanto, tipicamente mais amplamente suportado, documentado e estendida por toda a comunidade de desenvolvimento). Além disso, o novo ViewEngine (Navalha) .. e IDE fator de melhorias no para mim, e aumentar o valor de escolher MVC sobre monorail, na minha opinião.

  2. Eu usei praticamente todos os ViewEngines comuns, mas acabou rolando minha própria ( criado um projeto OpenSource para ele) utilizando o motor incrível modelo StringTemplate. ST é uma verdadeira separação de interesses, IMO. Encontro-me escrever aplicativos melhores, como resultado, com muito menos sopa de tag. Eu também jogou fora um rápida introdução e referência guia se você optar por chutar os pneus no motor. Eu tive sorte impressionante em projetos que eu implantado até o momento de usá-lo. Dito isto, Navalha (MVC 3) parece muito impressionante.

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