Pergunta

Tendo trabalhado com ASP clássico por cerca de 2 anos, criando alguns 100 formulários web simples, não vejo um bom motivo para mudar para .net;no entanto, não sou muito versado em .net, então tenho certeza de que posso estar faltando algumas coisas.

Alguns pontos que ouço frequentemente sobre o trabalho podem ser encontrados aqui: http://www.packtpub.com/article/Classic-ASP (não que eu compartilhe todos esses pensamentos, mas é um bom ponto de partida)

Estou muito interessado em ouvir o que os outros têm a dizer sobre este assunto.

Foi útil?

Solução

Você está perdendo mais do que algumas coisas!O ASP.NET é muito mais produtivo, robusto e de fácil manutenção do que o ASP antigo jamais imaginou ser.Controles do lado do servidor, controles de terceiros, páginas mestras, autenticação de formulários, validação de formulários, um modelo OO que incentiva o particionamento apropriado de aplicativos, implantação fácil, depuração e rastreamento integrados, gerenciamento de estado.

Você ainda tem a opção de WebForms ou MVC.Não é um eufemismo dizer que você está simplesmente louco se não investigar minuciosamente o que está perdendo.

Outras dicas

Se você gosta de ASP e deseja migrar para ASP.NET, ignore Webforms e aprenda MVC.

O maior problema para mim é que eu crio aplicativos, não sites... A UI é uma parte menor do problema, a maior parte é escrever a camada de lógica de negócios e vários componentes de comunicação empresarial (Conectando-se ao SAP usando SOAP?Sem problemas!).

O .NET Toolkit me permite programar em uma maravilhosa linguagem orientada a objetos (C#) e possui uma estrutura robusta para ajudar.

VbScript é uma linguagem incrível para tentar escrever um aplicativo de negócios.

No entanto, se tudo o que você faz é um pequeno formulário da web, então com certeza, use VbScript.

No que diz respeito ao seu link, basicamente se resume:

  • WaaWaa, eu não gosto do Visual Studio
  • WaaWaa, quero editar o código de produção no servidor de produção como um idiota.
  • WaaWaa, não sei se implantar uma única DLL compilada é tudo o que um site pequeno precisa para implantar um aplicativo asp.net.

Basicamente, é ignorância em poucas palavras.

Para focar na questão específica ("benefícios do Classic vs .Net"), há apenas duas coisas que posso pensar que o Classic faz e que o .Net não fará:

1) Inclui.Eles simplesmente não funcionam como você espera no ASP.Net.É claro que o ASP.Net oferece maneiras muito melhores de realizar a mesma coisa, mas ainda é uma perda e pode tornar a migração de um site antigo para o .Net uma dor.

2) O ASP.Net não irá acima da pasta raiz do aplicativo.Onde estou, temos uma intranet bastante complexa que ainda é principalmente ASP clássica, com um punhado de aplicativos .Net aqui e ali à medida que as coisas são atualizadas ou novas coisas são adicionadas.Seria bom poder manter uma cópia do código comum bem alto na hierarquia de pastas, mas ainda ter cada aplicativo individual isolado em seu próprio VD.Mas é para isso que serve o controle de origem, então não é grande coisa.

Para mim, a maior vantagem de mudar do ASP clássico e do ASP.Net até agora é o IDE.É tão bom poder clicar com o botão direito em uma chamada de função e escolher "Ir para definição" em vez de ter que procurar o arquivo onde a função está realmente implementada.Grande economia de tempo.E o suporte intellisense e a segurança de tipo ao chamar funções também são uma vantagem.

Para mim, eu diria que o ASP clássico é rápido de desenvolver, simples de usar/escolher, não muito complicado e muito capaz de realizar a maioria das coisas que lhe são solicitadas.

ASP com JScript/Javascript como linguagem principal é muito, muito divertido de codificar.VBScript é um desperdício de poder cerebral e acho que é isso que dá má fama ao ASP clássico.Além disso, é considerado lento, mas todos os artigos sobre velocidade e número de usuários são baseados em servidores com mais de 10 anos.Administramos um site que recebe 60.000 usuários por dia em dois servidores e a CPU quase não pisca.Os servidores modernos oferecem muito mais poder para jogar.

Com os grandes avanços no uso de Javascript, designs e práticas recomendadas nos últimos anos, o codificador ASP JScript pode obter muitas vantagens para tornar a vida ainda mais fácil.Eu portei o Mootools para o lado do servidor e com isso obtivemos um monte de ajudas maravilhosas, modelo de classe, excelente modelo de evento e muito mais.ASP é muito divertido.ATUALIZAR:Mootools agora tem uma versão do lado do servidor que você pode baixar (http://mootools.net/download).

ASP.net é SUPER poderoso, mas tem uma grande rampa na curva de aprendizado para ter um bom desempenho, pode derrubar todo o seu site quando ele tem um de seus ataques e o pior para mim pode parecer realmente dar uma volta pelas casas para obter o mais simples de coisas feitas.

Estou me divertindo muito usando os dois no momento, usando o que melhor se adapta à lacuna.Eu tenho um ótimo CMS Cacher e Thumbnailer construído em .net que meus scripts ASP usam.O melhor dos dois mundos.

Para começar, desempenho, escalabilidade e uma estrutura que fornece uma base muito melhor para o mundo sem estado dos aplicativos da Web.

A página ASP.Net da Wikipedia tem uma seção sobre as diferenças.

Se você olhar para o seu código antigo e disser: "O que eu estava pensando!Isso é besteira, eu escrevo código muito melhor agora!" então você se desenvolveu como programador.

Se os sites forem bastante temporários (ou seja,você o constrói rapidamente, ele é usado para uma finalidade e um período de tempo específicos e então é efetivamente fechado), então explorar esses sites da maneira mais confortável para você é perfeitamente aceitável.

Se você tem uma longa lista de bugs, correções e melhorias que agora precisa (ou gostaria) de fazer backport para seus sites antigos, ou se seus "sites pequenos" estão ficando maiores e mais completos e isso está causando um sofrimento significativo, então você precisa dar um passo atrás e reavaliar como você estrutura e oferece suporte a esses sites.

Eu concordo plenamente que o ASP.NET é um ambiente de programação muito mais maduro e eficaz.Porém, como qualquer ferramenta, você precisa saber (ou aprender) a maneira correta de usá-la, pois ela não vai transformá-lo automaticamente em um “superprogramador” da noite para o dia.

Uma forma de quebrar o gelo é concordar com seu chefe que o próximo “site” que você criar será desenvolvido em ASP.NET.Explique a ele que levará muito mais tempo do que você entrega sites atualmente, porque você precisa "conhecer" o ASP.NET, mas os benefícios são x, y e (exercício deixado para o leitor!)

Pessoalmente, ainda estou na fase de transição (e comecei a usar o ASP.NET a partir da v1!), pois tenho uma estrutura ASP clássica bastante robusta, desenvolvida e com a qual estou confortável.No entanto, eu usei o ASP.NET estrategicamente e achei MUITO poderoso e você acaba escrevendo menos código, já que muito está embutido na estrutura .net, desde que você possa encontrá-lo na documentação.

Eu também recomendo que você NÃO use VB.NET e se prepare para usar C#.A mudança de idioma é bem pequena, mas você reduz as chances de escrever seus sites exatamente como antes.Ajuda a quebrar os maus hábitos e dá a você a chance de aprender novas técnicas.

Boa sorte!

Eu tenho uma palavra "depuração" - você nunca quer usá-la, mas sempre faz.No .Net, se você estiver usando o Visual Studio, você terá um depurador fantástico quando comparado a tentar depurar código no ASP.

Para sites simples, prefiro ASP vs.ASP.NET, especialmente se você conhece bem HTML.No entanto, com o ASP, é difícil separar a lógica de negócios da visão;o código que você escreve provavelmente será difícil de ler e manter.

PHP é melhor que ASP - e um tanto semelhante no nível básico.E você sempre pode ir para Rails ou Django, se estiver interessado em uma pilha de desenvolvimento web independente (mas com uma curva de aprendizado muito mais longa).

Uma vantagem do ASP.NET é que você tem a opção de codificar seu site exatamente como fez com o ASP clássico, além de acesso à riqueza do .NET framework.Você pode manter a funcionalidade existente e adicionar novas funcionalidades do ASP.NET se necessário.Eles se misturam bem.

Infelizmente o autor do referenciado artigo não é muito versado na tecnologia por trás do ASP.NET, como fica evidente em seus comentários (e talvez nem mesmo no ASP clássico).A maioria de seus pontos são inválidos ou simplesmente errados.

Todos aqui apresentaram pontos válidos.

Eu era um desenvolvedor ASP clássico até 3 anos atrás, quando mudei para o .NET 2.0.

Eu não poderia voltar atrás (embora ainda precise consertar alguns sites ASP clássicos).

Sinto falta de ter um objeto de conjunto de registros, os repetidores de dados são ótimos para exibir dados rapidamente, mas os conjuntos de dados, embora ofereçam funcionalidades maravilhosas, são péssimos quando se trata de desempenho em sites 'grandes'.Para ser justo, tenho feito conjuntos de dados de maneira indireta com Arrays no ASP clássico.A única vez que uso conjuntos de dados é nas cestas do meu site de comércio eletrônico.Sinto falta de rs.movenext, etc ...

FlySwat cometeu um dos maiores erros que vejo muitos desenvolvedores cometerem.

Sim lógica de negócios, OO etc ...que o .NET traz é ótimo (escalabilidade com a qual eu não concordaria 100%, mas definitivamente mais extensível), mas ao usar o ASP.NET você ainda está criando um WEB SITE.Esqueça esse absurdo de usar a terminologia ‘aplicação’.Conheci muitos grandes desenvolvedores .NET que constroem sites OO de n camadas, mas eles não têm uma compreensão real da singularidade de construir um site;como estado, ou o problema irritante de que eles confiam demais em Javascript.A maioria desses desenvolvedores cria sites do tipo MS que normalmente não atendem ao W3C, não são compatíveis com vários navegadores e nunca se degradam normalmente.E não, não é aceitável que mesmo aplicativos de back office sejam compatíveis apenas com o IE.

O .NET também tende a ‘engordar’ sites simples.O .NET, de muitas maneiras, foi uma forma de fazer com que os desenvolvedores do WinForm começassem a construir sites (ou, como preferirem, aplicativos da web).O problema é que isso trouxe consigo um monte de desenvolvedores que tinham o luxo de não precisar se preocupar com estado, padrões, etc.

Ainda afirmo que qualquer site .NET pode ser construído em ASP clássico e executado mais rapidamente (tempos de resposta da página) para o usuário final....

... MAS embora eu tenha boas lembranças do ASP clássico, o que posso fazer com o .NET em termos de imagem, criptografia, compactação, fácil integração de serviços da Web, OO adequado, n-tier decente, extensibilidade, etc. dá ao .NET a vantagem.Até mesmo coisas bobas, como simplesmente adicionar uma linha de código ao web.config para instruí-lo a gravar o sessionID na string de consulta se o usuário não aceitar cookies (isso era um problema no ASP clássico) são ótimas.

Mude para .NET, você não se arrependerá, mas reserve um tempo (principalmente se você não conhece OO (herança, abstração, polimorfismo e encapsulamento).Não comece a construir sites .NET no modo de compatibilidade clássico, é apenas uma maneira barata de fazer .NET e você ainda acabará usando práticas ASP clássicas.Se o VBScript fosse sua principal linguagem de desenvolvimento, o salto não seria tão fácil quanto a MS ou outros querem que você acredite.

O mais importante para mim é que eu carreguei, desde meus dias clássicos de ASP, o design fundamental de aplicativos de sites (;-)) e isso nunca deve mudar entre os idiomas.

Raramente uma resposta neste tópico responde à pergunta.Em vez de seguir o caminho mais fácil, vou tentar:

Alguns benefícios que não foram mencionados (centrados em JScript):

  • Você pode aprender o idioma inteiro e guarde-o na memória se usá-lo o suficiente - não conheço ninguém que afirme conhecer todo o framework .NET;isso torna a codificação muito rápida.
  • Digitação fraca - isso pode permitir que você codifique mais rapidamente ao criar algo rapidamente, por exemplo, você realmente se importa com a diferença entre char e string a maior parte do tempo? (insira a guerra religiosa aqui)
  • Avaliação:essa palavra-chave muito difamada é incrivelmente poderosa e permite manipular seu código em tempo de execução de maneiras realmente interessantes
  • Compatibilidade de linguagem cliente/servidor:A semelhança do JScript com o Javascript significa que você pode usar o mesmo arquivo de inclusão para validação no lado do servidor e no lado do cliente.

Se tudo o que você cria são pequenas páginas da web, faça o que for.Ou melhor ainda, aprenda PHP.A maior parte da resposta que você receberá vem de pessoas que criam aplicativos da Web e, por isso, o asp.net supera o asp clássico em termos de potência e facilidade de manutenção.

Concordo com todos aqui, exceto aquele que disse para pular os formulários da web e ir direto para o MVC.Isso não é útil.Webforms é muito útil para aplicativos baseados em banco de dados que fazem muitas exibições de tabelas, etc.Trabalhei em alguns aplicativos de webforms muito grandes e funciona bem.MVC é bom para aplicativos do tipo "Web 2.0" mais interativos.

Tendo feito um "renomear asp para aspx e alterar até compilar" a porta de uma aplicação para asp.net eu diria que mesmo asp clássico estilo a programação em .NET é melhor que o asp clássico.É claro que o VS irá encorajá-lo a cair no poço do sucesso e levá-lo aos formulários da web e à maneira de fazer as coisas por trás do código, mas a linguagem é expressiva o suficiente para replicar os padrões do asp clássico (ou seja, muitas pepitas de ouro/inline código, páginas de postagem cruzada, etc.)

Acho que já ouvi dizer que você pode escrever COBOL em qualquer idioma.Isso é verdade para o asp clássico.

Eu sempre uso o Classic ASP, funciona lindamente.

Experimentei o ASP.net por alguns anos, mas era muito complexo para a maioria dos desenvolvimentos de sites.Meus clientes também não gostaram porque não conseguiam entender.Eles também gostam de saber que não estão presos a um desenvolvedor.

O ASP.NET está sempre mudando e requer uma curva de aprendizado enorme/constante para se manter atualizado.A MS mudou a linguagem principal para C#, o que tornou a transição muito mais difícil.

Minha produtividade diminuiu muito com o .net porque eu estava sempre procurando tutoriais ou exemplos de como fazer tudo.

O Visual Studio é muito lento.

PHP tem uma sintaxe feia e muitos frameworks diferentes, o que torna impossível aprendê-lo para fins de desenvolvedor.Bom apenas para uso na intranet com equipe dedicada, na minha opinião.

O ASP clássico está bloqueado e funciona perfeitamente hoje, assim como funcionava anos atrás.Com alguns arquivos de biblioteca, escrever código é muito fácil e os exemplos são ilimitados na Internet.

Escrito corretamente, o que a maioria das pessoas não faz, o vbscript é um código limpo, legível e eficiente.Deixo o lado do cliente para bibliotecas como jQuery e descubro que sou muitas vezes mais produtivo.

Se você usa o asp clássico neste momento (sem autorização do seu CTO), então você precisa consultar um psiquiatra.ou você é um masoquista.Ou como satanista, nesse caso, você gostaria porque estaria no inferno!:p

Falando sério...para aplicativos da web, use WebForms.

Para sites leves, rápidos e sujos, use ASP.NET MVC.

O bom do ASP é que você pode usar VB.NET, C#, Eiffel, Boo ou PHP para sua linguagem!Para PHP confira Phalanger...

Como sou pago para criar soluções e não para escrever código, prefiro o ASP.NET ao ASP clássico.Embora o ASP clássico ainda seja prático para sites muito pequenos e simples, ainda há muito poder por trás do ASP.NET ao escrever sites um pouco mais complexos.Além disso, mesmo com o ASP.NET você ainda pode usar o Bloco de Notas para escrever você mesmo os arquivos .aspx, incluindo código vb ou c# incorporado.O Visual Studio apenas fornece muitas funcionalidades adicionais que eliminam a necessidade de escrever mais código você mesmo.E, como eu disse, não sou pago para escrever código...

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