Quick Update
ASP.NET 2.0 - Um revolução em novidades para o desenvolvimento Web
O suporte ao .NET 2.0 era uma das novidades mais esperadas pelos desenvolvedores Delphi. Muito disso graças ao ASP.NET 2.0, que incorpora ao desenvolvimento Web com Delphi uma série de novas funcionalidades. Considero a evolução do ASP.NET 1.1 para 2.0 um revolução tão grande quanto foi a do ASP clássico para o ASP.NET.
Mas o que tem de tão especial nesse ASP.NET 2.0 do RAD Studio 2007? Uma das principais vantagens é que ele reduz drasticamente a quantidade de código que você tem que digitar, tanto para manipulação do banco de dados, tratamento de interface, segurança e muito mais. Vamos enumerar os principais recursos e explicá-los:
DataSources – a forma como se acessa banco de dados mudou. O ADO.NET ficou “encapsulado” em novas entidades conhecidas como DataSources. Basicamente você larga um controle de tela, como o novo GridView, liga a um DataSource pela propriedade DataSourceID e pum! Tudo pronto, edição, alteração, exclusão, paginação, ordenação. Uma procura com parâmetro, com like por exemplo, é feita sem uma linha de código sequer. Existem vários tipos de DataSources, como SqlDataSource (para conectar ao SQL Server), ObjectDataSource (para ligar o controle a uma classe de negócio e não uma tabela, para aplicações em camadas), XmlDataSource e outros. Podemos dizer agora que o desenvolvimento para Web ficou RAD e Drag & Drop como é o desenvolvimento com a VCL;
Novos Controles Data-Bound – o GridView é o sucessor do DataGrid e lidera a fila dos componentes mais poderosos do ASP.NET 2.0. Ele faz tudo que o DataGrid fazia e mais um pouco. Totalmente personalizável. Além dele, temos os novos FormView e DetailsView para edição de um único registro por vez (você não vai mais precisar largar uma dúzia de TextBoxes e escrever código ADO.NET para inserir um registro em uma tabela).
Navegação – Temos um novo controle TreeView, semelhante ao da VCL, que pode ser populado com dados. Além disso, ficou muito simples criar o sistema de navegação de seu Web Site. Você criará um Web Site Map (o mapa do site, em XML), e utilizará um Menu ou TreeView para permitir a navegação. Tudo pronto, igual a uma aplicação Desktop. O SiteMapPath permitirá mostrar onde o usuário está em sua navegação. O controle Wizard é excelente, ele ajuda a criar uma interface paginada estilo assistente;
Master Pages – Pessoalmente acho a herança visual de formulários do Delphi uma das 7 maravilhas do mundo. Quando descobri que isso não existia no ASP.NET, tive um choque. Mas dava para driblar usando User Controls (bem melhor que o include do ASP clássico). No ASP.NET 2.0, temos o recursos de Master Pages, muito semelhante à herança visual, onde definimos uma página template e a seguir herdamos dessa página todo o conteúdo padrão, adicionando o específico;
Segurança – Novos controles de Login permitem que você crie todo o mecanismo de autenticação para o seu site. É só largar um Login na tela e pronto, temos uma interface para o usuário entrar com usuário e senha. Além disso, o próprio ASP.NET 2.0 cria um banco de dados específico para guardar usuários e outras preferências. Temos controles prontos para criação de novos usuários, recuperação de senha e mais. O controle LoginView permite que você defina o que cada usuário pode ver baseado no nível de segurança dele;
Themes & Skins – No Windows é possível trocar a sua aparência nas propriedades de vídeo. Todas as janelas, controles, botões, tomam uma nova forma. Podemos escolher entre vários temas pré-definidos. Agora você pode fazer o mesmo em suas aplicações Web! Que tal o usuário escolher a aparência do site? Isso tudo sem conhecer nada de estilos e CSS, tudo fácil e pronto;
Web Admin Tool – uma nova ferramenta Web-based permite o gerenciamento da sua aplicação Web, como configuração de usuários, grupos, privilégios, autenticação, email etc. Muitas das alterações que eram feitas no braço no Web.Config podem ser agora feitas através dessa ferramenta;
Sites compilados – agora é possível pré-compilar um site inteiro antes do deploy, inclusive os arquivos ASPX! Isso ajuda a proteger a propriedade intelectual e a segurança da aplicação, já que antes era necessário distribuir o fonte ASPX. Isso é possível através do utilitário aspnet_compiler.exe do framework;
Web Parts – Acesse http://www.google.com/ig. Veja que essa página contém “janelinhas” que funcionam como mini-aplicativos (mapas, previsão do tempo, notícias etc.). Experimente arrastar uma janela para outra posição, ao seu gosto, assim como está acostumado a fazer com as janelas do Windows. Agora você pode fazer o mesmo em suas aplicações ASP.NET 2.0, com Web Parts. Ideal para a construção de portais.
Cache – aprimoramentos no sistema de Cache também. Podemos trazer uma tabela do banco para a memória da aplicação e liberar a conexão. Os usuários ficam consultando a cache, e não o banco, o que aumenta a performance. Se a tabela for alterada no banco, um mecanismo de dependência automaticamente atualiza a tabela em memória evitando inconsistências;
Globalização – sabe aqueles sites que você entra e a primeira tela mostra três “bandeirinhas” com Inglês, Português e Espanhol? Você não vai precisar copiar todo o seu site depois de pronto e criar três versões traduzidas. Com o novo recurso de Globalization do ASP.NET 2.0, você cria seu site normalmente e depois cria arquivos de recurso para cada página, traduzindo o que for necessário (o texto de um botão por exemplo). O resto é por conta do ASP.NET 2.0. Quando o usuário entrar no site, o servidor automaticamente detecta o idioma usado pelo usuário (baseado nos cabeçalhos HTTP que o browser envia) e apresenta a página no seu devido idioma. Sem uma linha de código;
AJAX – O RAD Studio 2007 incorpora agora o framework ASP.NET AJAX, conhecido antigamente como ATLAS. Antes no Delphi o AJAX era disponível somente para IntraWeb Win32, que foi renomeado para VCL for the Web. Agora sim temos um framework robusto e simples para o desenvolvimento com AJAX e ASP.NET. É simples porque basta você colocar um ScriptManager na tela, um UpdatePanel e dentro dele desenhar sua tela. Tudo será feito de forma assíncrona e com updates parciais, como chamadas XML HTTP. Tudo sem uma linha de código e configuração. Além disso, baixe o ASP.NET AJAX Control Tool Kit e instale no IDE. São dezenas de novos controles para AJAX que agora sim vão fazer sua aplicação se parecer com uma aplicação Desktop. Imagine, temos até um PageControl para Web. É possível também chamar um Web Service de forma assíncrona e receber um resultado no client. Mais informações e tutoriais em ajax.asp.net;
Melhorias gerais – controle Substitution parar atuar em conjunto com a OutputCache, Cross-Page-Posting para postar dados em outra página e não fazer um postback na própria página, controles de validação agora com grupo (para evitar de validar uma porção da tela que não tem relação com o form), melhorias no ADO.NET (caso precise usar), páginas assíncronas e muito mais.
E sabe o que é o melhor de tudo? Você verá todos, eu disse todos, esses novos recursos aqui na Revista ClubeDelphi! Então, não perca as próximas edições.
E o que vem pela frente? O ASP.NET já está na versão 3.5, com novos controles e funcionalidades. É bem provável que futuras versões do Delphi venham com suporte ao ASP.NET 3.5, WPF (Windows Presentation Foundation), WCF (Windows Communication Foundation), LINQ (Language Integrated Query – uma das maiores inovações dos últimos anos) e SilverLight.