Diferença entre .asp e .aspx

ASP é uma estrutura para desenvolvimento web e suporta diferentes modelos, como ASP clássico, formulários da Web ASP.NET, ASP.NET MVC, páginas da Web ASP.NET, API do ASP.NET e núcleo do ASP.NET.

ASP e ASP.NET são tecnologias do lado do servidor executando código em um servidor Web.

ASP (Active Server Pages), desenvolvido pela Microsoft, é o mesmo que páginas HTML que contêm scripts e mídia incorporada e processado em um servidor Web. No passado (com ASP clássico), ele era implantado apenas em um ambiente da Microsoft.

O Active Server Pages possui as extensões de arquivo .asp (para ASP clássico) ou .aspx (para ASP.NET)

Quando um usuário da Web inicia uma solicitação, chamando uma página ASP ou ASP.NET, o servidor da Web processa o Páginas do servidor ativo e o mecanismo de script gera o conteúdo exibido (on-the-fly) para o usuário da web.  ASP funciona com qualquer navegador que suporte HTML (como a saída é HTML).

Páginas do servidor ativo apresentar o front-end de aplicativos baseados na Web executando ActiveX scripts e componentes inseridos nas páginas da web.

O ActiveX é semelhante ao Java Applets e usa tecnologias orientadas a objetos para programadores desenvolverem aplicativos da Web poderosos e dinâmicos com mais facilidade. Esses scripts e componentes são empacotados como controles ActiveX que são reutilizáveis ​​e podem ser compartilhados por diferentes programadores e programas.

O ASP.NET foi lançado pela primeira vez em 2002 no .NET Framework 1.0, e substituiu o ASP clássico, que havia lançado três versões entre 1996 e 2000.

A última versão do ASP clássico foi lançada em novembro de 2000 como ASP 3.0 para IIS 5.0 e ainda é oficialmente suportada pela Microsoft até 2020.

Pode ser um Clássico, mas o ASP ainda é uma abordagem poderosa para páginas da web dinâmicas.

ASP clássico

O ASP foi inicialmente um recurso complementar para Microsoft IIS (Servidor de Informações da Internet), no entanto, com o lançamento do Windows Server 2000, ele se tornou um componente permanente e gratuito do IIS.

O Microsoft Internet Information Services é o mecanismo de servidor da Web personalizável e modular da Microsoft que suporta os protocolos HTTP, HTTPS, FTP, FTPS, SMTP e NNTP.

Sendo a primeira linguagem de script do Microsoft para páginas dinâmicas da Web, o ASP clássico (.asp) só podia ser executado em uma plataforma da Microsoft quando duas linguagens eram usadas, VBScript e JScript. Na época, a Microsoft não fornecia suporte nativo para outras linguagens de programação.

O VBScript foi realmente projetado para navegadores Internet Explorer e limitado à funcionalidade dentro de suas habilidades de script, e o JScript era suportado apenas nos navegadores Internet Explorer e Netscape.

.NET Framework

.NET Framework da Microsoft[i] é um ambiente para desenvolvedores criarem sites dinâmicos, aplicativos e serviços da web.

É uma estrutura de software (ambiente) que fornece uma grande biblioteca de classes (Biblioteca de classes do Framework - FCL) e suporta vários idiomas, permitindo que a estrutura processe o código escrito em outros idiomas.

.NET são executados em um Common Language Runtime (CLR) ambiente, portanto, em essência, o FCL e o CLR compõem o .NET Framework.

.A NET lançou atualizações cumulativas e subcomponentes nos últimos 15 anos, fornecendo uma plataforma web estável e amplamente implementada, que não é mais exclusiva de um ambiente Microsoft.

Embora as versões do ASP.NET sejam totalmente paralelas às versões do IIS, elas podem ser desenvolvidas em outras estruturas, como Spring.NET (estrutura para Java).

Migrando do ASP para o ASPX

Com .aspx substituindo .asp, os desenvolvedores são incentivados a se concentrar no design de aplicativos com um modelo de GUI orientado a eventos, em vez de scripts da Web usando ASP (e PHP). O PHP ainda está sendo desenvolvido ativamente, diferentemente do ASP, que simplesmente está sendo substituído pelo ASP.NET.

Há uma lista extensa de aprimoramentos que podem motivar a decisão de migrar, com muito poucos motivos para não fazer isso - vamos ver alguns dos motivadores:

  • Com o ASP.NET sendo código compilado, ele é executado mais rapidamente com a detecção de erros anterior no estágio de desenvolvimento. Além disso, o tratamento de erros melhorou significativamente em relação ao ASP.
  • O NET pode armazenar em cache uma página da Web inteira (ou apenas partes), com uma melhoria notável no desempenho - onde carregar uma página é muito mais rápido se o conteúdo já estiver lá, esperando ser chamado novamente.
  • NET tem Estados da sessão para salvar os dados inseridos e, em alguns casos, tornou-se uma necessidade onde uma atividade ou tarefa deve ser rastreada on-line (por exemplo, capturar um quadro de horários ou fazer compras on-line) ou mesmo apenas para lembrar os detalhes de login.
  • No ASP.NET 4.6, há suporte para HTTP / 2 [ii] no Windows 10. HTTP / 2 é a revisão do HTTP - o protocolo da web como o conhecemos. A velocidade e o desempenho são os fatores determinantes para a mudança para o HTTP / 2.
  • O NET fornece controles extensos e bibliotecas de classes e controles definidos pelo usuário, que são definidos usando os editores visuais.
  • O NET lida com vazamentos de memória descarregando e recarregando um aplicativo.
  • Foram feitas melhorias no ASP.NET 2.0 para atender à conformidade com os padrões, pois o código gerado exibido de volta para o usuário da web não era validado consistentemente em relação aos padrões W3C / ECMA.

ASP.NET em plataformas que não são da Microsoft

ASP.NET e Apache

o mod_mono O módulo Apache executa os aplicativos ASP.NET no servidor Web Apache e gerencia solicitações entre o aplicativo e o processo Mono externo que hospeda o aplicativo ASP.NET. Esse host externo faz parte do módulo XSP, chamado de servidor-mod-mono.

ASP.NET e XSP

Desenvolvido em C #, o XSP é um servidor Web independente que executa aplicativos ASP.NET. Possui sua própria biblioteca de páginas e controles usados ​​para testar o servidor e os aplicativos ASP.NET.

ASP.NET com Nginx

O ASP.NET pode ser hospedado no Nginx (mecanismo X), que é um servidor HTTP e um proxy reverso de alto desempenho que oferece suporte a aplicativos Web ASP.NET e ASP.NET MVC.

Futuro do ASP.NET

A indústria esperava que o ASP.NET 5 fosse o próximo grande desenvolvimento para o ASP.NET; no entanto, a Microsoft parou o desenvolvimento ativo para se concentrar no ASP.NET Core em vez de.

O ASP.NET Core é uma estrutura de código aberto e plataforma cruzada para o desenvolvimento e implantação de aplicativos baseados em nuvem. Os aplicativos desenvolvidos no ASP.NET Core podem ser executados no Windows, Mac e Linux.

O ASP.NET ainda é a abordagem preferida para as empresas, pois é uma plataforma segura com amplo suporte e capacidade de manutenção; No entanto, com a progressão do MVC, Azure, Signal R, etc, as plataformas .NET precisarão continuar evoluindo para adotar novas tecnologias.