A plataforma Asp.Net    

Olá Pessoal!

Depois de algum tempo impossibilitado de escrever, retomo minha pequena série introdutória sobre MVC.

Na realidade, no primeiro post, comentei que faria uma séria sobre Web, para que quando fosse falar de Asp.Net MVC, pudesse falar para pessoas que entendesse pelo menos de Web e Asp.Net, para saber onde Asp.Net MVC se encaixa, para quem não se lembra, segue a lista:

Tentarei ser breve nesse post, para que inicie a série sobre Asp.Net MVC o quanto antes.

O que seria o Asp.Net? Asp.Net é um framework da Microsoft para auxiliar o desenvolvimento Web. Entendam como framework, uma coleção de classes que auxiliam na solução de uma tarefa, e que tarefa é essa? Encapsular requisições HTTP, contextos de requisições, respostas HTTP, enfim, tudo do que a web pura é feita.

O Asp.Net faz o trabalho de traduzir as requisições por nós, é uma coleção poderosa de classes, que devemos utilizar para nos comunicar de forma melhor com os protocolos da Internet.

E o que é que podemos fazer com o Asp.Net? Tudo que você pensa que o IIS faz. Como assim? O que o IIS faz, em grande parte (não em todas é claro), é delegar o processamento de certas requisições as classes do Asp.Net. Você pode ver exemplos disso aqui e aqui. Quando geralmente desenvolvemos sites sobre o framework Asp.Net, não estamos utilizando ele diretamente, estamos utilizando outros componentes que rodam sobre o Asp.Net, como o WebForm e o MVC, e por isso chamados de Asp.Net WebForm ou Asp.Net MVC.

Conhecendo a arquitetura do Asp.Net, poderemos criar inclusive um servidor Web, nosso próprio IIS (como mostrado no segundo link acima), poderíamos implementar da forma que quiséssemos esse servidor, inclusive utilizando um servidor Linux, e rodando o CLR sobre o Mono.

Para entendermos um pouco mais sobre isso, vale mostrar uma ilustração:

Diagrama Asp.net

Perceba na imagem acima que Asp.Net é construído em cima do .Net, portanto pode ser utilizado em qualquer contexto onde qualquer classe do framework pode ser utilizada.

Você também deve ter reparado que coloquei três conjunto de componentes que rodam sobre a arquitetura do Asp.Net, e que geralmente é por onde nós alcançamos o Asp.Net de fato. Da mesma forma que esses três conjuntos estão sobre o Asp.Net, e não se complementam nem se anulam, podemos desenvolver novos frameworks que rodam sobre o Asp.Net.

Poderia ter colocado outros quadrinhos no nível superior do diagrama, mas não quis fazer isso pois quis focar apenas em componentes de Web (que auxiliam na construção de sites/tela). O Asp.Net também é um framework de auxilio ao desenvolvimento para internet (que é levemente diferente de simples Web), e poderíamos incluir no diagrama quadros como WebServices, que não é nem Asp.Net MVC, nem Asp.Net WebForms, nem Asp.Net Dynamic Data, é Asp.Net WebServices, que ainda existe, mesmo com o uso muito mais comum de serviços WCF rodando sobre o IIS.

A Microsoft, na atual estrutura do “framework Asp.Net”, decidiu por implementar três paradigmas distinto de aplicações, esses paradigmas não são exclusivos de Web: MVC também é implementado em aplicações Windows, da mesma forma que o WebForms procura levar para o desenvolvimento Web a experiência de desenvolver WindowsForm, e o Dynamic Data procura implementar o conceito RAD (Rapid Application Development) que visa desenvolver aplicações de forma rápida, interativa e incremental.

Como disse, da mesma forma que a Microsoft desenvolveu esses conceitos sobre o framework Asp.Net, nós poderíamos desenvolver outro paradigmas de desenvolvimento sobre o Asp.Net, e nossas páginas seriam servidas pelo IIS sem grandes modificações, afinal, o IIS conhece o Asp.Net, não a implementação específica de cada paradigma de desenvolvimento.

Um exemplo para isso é o MVC#, que procura implementar o padrão MVP, muito utilizado hoje no desenvolvimento Web. É um framework independente, não muito conhecido ainda, mas que mostra as possibilidades de se criar sobre o Asp.Net.

Entendendo como funciona o Asp.Net, as discussões do tipo “O MVC vai substituir o WebForms” devem acabar, pois dá para entender que cada forma de desenvolvimento tem o seu objetivo, quando vamos iniciar o projeto, devemos pensar em qual padrão se aplica melhor para a solução que queremos desenvolver, inclusive devemos analisar o uso do Dynamic Data, que pode resolver muitos problemas simples de forma extremamente rápida. Talvez no futuro eu faça algum post sobre o uso de tipo de Projeto.

Além de dá suporte aos tipos de aplicação que citei acima, outras tecnologias da Microsoft que rodam sobre o Framework .Net também fazem uso da arquitetura do Asp.Net, como o Silverlight em algumas situações ou o WCF, onde podemos utilizar sessões e outras características específicas de desenvolvimento de internet (sobre HTTP).

Para dar suporte ao desenvolvimento Web, a Microsoft também desenvolveu outras pequenas bibliotecas. Um exemplo disso é o Asp.Net Ajax, que pode ser utilizada tanto no lado Servidor (exclusivo para aplicações Asp.Net, mas exclusivamente para WebForms), como no lado cliente (podendo ser utilizada em qualquer arquitetura web, como Java, PHP, etc) codificada em JavaScript, que já parece estar com os dias contatos, com a adoção cada vez mais ampla pelo time da Microsoft do JQuery.

Bom, acredito que o que foi dito até aqui já dá para ter uma idéia de como o Asp.Net é divido, e como podemos usá-lo de acordo com a nossa necessidade para cada momento. Espero que esse texto possa te ajudar a ver o Asp.Net de uma forma mais ampla, e não apenas fechado a realidade que você trabalha (MVC ou WebForm em geral).

Até o próximo post.

8. novembro 2010 06:38 by Frederico | Comments (2) | Permalink

Sobre mim

Minha Imagem

Meu nome é Frederico Batista Emídio, trabalho com desenvolvimento de sistemas profissionalmente a oito anos, porém, já faço sites pessoais a pelo menos dez anos.

Para saber mais clique aqui.

Páginas

Calendário

<<  novembro 2017  >>
seteququsedo
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910

Visualizar posts em um Calendário
Sigua @fredemidio

MCP Asp.NET