A plataforma ASP.NET tem sido cada vez mais adoptada pela comunidade desde o seu lançamento em 2002. Após ter lançado a versão 2.0 desta plataforma em 2005, a Microsoft lança agora as extensões AJAX, que a complementam e auxiliam o programador no desenvolvimento de aplicações WEB ricas e dinâmicas.
Este livro apresenta todas as funcionalidades disponibilizadas pelas extensões AJAX da Microsoft. Começa por apresentar detalhadamente a componente cliente, que pode ser usada em qualquer aplicação WEB, debruçando-se em seguida sobre o lado servidor, onde mostra como podemos tirar partido total da integração destas extensões com a plataforma ASP.NET.
Escrito por um dos poucos portugueses que teve contacto com os membros da equipa que desenvolveu o produto, esta obra é indicada a todos os que se querem iniciar com a programação AJAX na plataforma Microsoft, sendo também útil a todos os que querem conhecer profundamente as extensões AJAX.
| Principais Tópicos | Topo |
Entre outros, são abordados os seguintes temas
| Público Alvo | Topo |
| O(s) Autor(es) | Topo |
Luís Abreu
Licenciado em Engenharia de Sistemas e Computadores pela Universidade da
Madeira. Tem sido um utilizador regular da plataforma desde 2002. Ao longo dos
últimos anos, participou em vários projectos Web e contribuiu com vários artigos
para o site do grupo português PontoNetPT. Actualmente, trabalha na SRA onde é
um dos responsáveis pela arquitectura e desenvolvimento de aplicações. É MVP
ASP.NET desde Outubro de 2005. Autor do livro ASP.NET 2.0 - Curso Completo,
também publicado pela FCA.
João Cardoso (colaborador)
Sócio fundador de uma empresa de Desenvolvimento de Software, é Dir. de
Investigação e Desenvolvimento na mesma. Tem apostado na Microsoft .NET
Framework para soluções de Recursos Humanos em clientes nacionais e
internacionais. Em 2003 é eleito Microsoft MVP, em Visual Developer - Visual
Basic, como reconhecimento pela participação nas comunidades Portuguesas e
competências técnicas. Actualmente é moderador das comunidades PontoNetPT.com e
FotoSensivel.com.
| Índice | Topo |
| 1. INTRODUÇÃO ÀS EXTENSÕES AJAX | 1 | |||
| 1.1 Introdução ao Ajax | 1 | |||
| 1.2 Objectivos das extensões Ajax | 2 | |||
| 1.3 Arquitectura das extensões Ajax | 3 | |||
| 1.4 Instalações e utilização da plataforma | 5 | |||
| 1.5 Estratégias de desenvolvimento | 6 | |||
| 1.6 Olá Mundo | 7 | |||
| Conclusão | 10 | |||
| 2. JAVASCRIPT E COMUNICAÇÃO REMOTA COM SERVIDORES | 11 | |||
| 2.1 Programação oo com Javascript | 11 | |||
| 2.2 Definição de funções | 11 | |||
| 2.2.1 Funções "nomeadas" | 12 | |||
| 2.2.2 Utilização do construtor function | 12 | |||
| 2.2.3 Utilização de métodos anónimos | 12 | |||
| 2.2.4 O objecto arguments | 13 | |||
| 2.2.5 Propriedades e métodos das funções | 14 | |||
| 2.3 Construção de objectos personalizados | 15 | |||
| 2.3.1 Acesso às propriedades de uma classe | 18 | |||
| 2.3.1 Criação de objectos através de Json | 19 | |||
| 2.4 Utilização de xmlhttprequest | 19 | |||
| Conclusão | 25 | |||
| 3. PROGRAMAÇÃO JAVASCRIPT OO COM MICROSOFT AJAX | 27 | |||
| 3.1 Componentes cliente | 27 | |||
| 3.2 Utilização das classes cliente | 29 | |||
| 3.3 Definição de namespaces | 31 | |||
| 3.4 Definição de Classes | 32 | |||
| 3.4.1 Utilização de herança | 35 | |||
| 3.4.2 Classes fechadas (sealed) e abstractas (abstract) | 36 | |||
| 3.5 Definição de interfaces | 37 | |||
| 3.6 Utilização de enumerações | 38 | |||
| 3.7 Criação de eventos | 40 | |||
| 3.8 Enriquecimento de classes e adição de novos tipos | 46 | |||
| Conclusão | 47 | |||
| 4. COMUNICAÇÃO COM O LADO SERVIDOR | 49 | |||
| 4.1 Namespace Sys.Net | 50 | |||
| 4.1.1 Classes Xmlhttpexecutor | 50 | |||
| 4.1.2 Classe Sys.Net.Webrequest | 54 | |||
| 4.1.3 Classe Sys.Net.Webserviceproxy | 55 | |||
| 4.1.4 Classe Sys.Net_Webrequestmanager | 64 | |||
| 4.2 Invocação remota de métodos expostos por uma página Asp.Net | 65 | |||
| 4.3 Utilização de Soap | 68 | |||
| Conclusão | 69 | |||
| 5. CLASSES AUXILIARES, COMPONENTES E BEHAVIORS | 71 | |||
| 5.1 Objectos SYS.Browser e SYS:Browser.XXX | 71 | |||
| 5.2 Mensagens de erro, Debugging e Tracing | 72 | |||
| 5.3 Tratamento de eventos de controlos HTML | 72 | |||
| 5.4 Classe Domelement | 75 | |||
| 5.5 Classe SYS. Component | 76 | |||
| 5.6 Classe SYS.Behavior | 79 | |||
| 5.6.1 Clickbehavior | 80 | |||
| 5.6.2 Hoverbehavior | 83 | |||
| 5.6.3 Popupbehavior | 84 | |||
| 5.6.4 Autocompletebehavior | 87 | |||
| Conclusão | 90 | |||
| 6. CONTROLOS E VALIDATORS AJAX | 91 | |||
| 6.1 Controlos AJAX | 91 | |||
| 6.1.1 Controlo label | 93 | |||
| 6.1.2 Controlo textbox | 95 | |||
| 6.1.3 Controlo image | 96 | |||
| 6.1.4 Controlo checkbox | 98 | |||
| 6.1.5 Controlo selector | 98 | |||
| 6.1.6 Controlo hyperlink | 100 | |||
| 6.1.7 Controlo button | 100 | |||
| 6.1.8 Tratamento de eventos | 100 | |||
| 6.2 Utilização de popus e caixas de diálogo | 102 | |||
| 6.3 Validação de dados | 103 | |||
| 6.3.1 Grupos de validação | 108 | |||
| 6.3.2 Comparação com os validators Asp.Net | 110 | |||
| Conclusão | 111 | |||
| 7. INTRODUÇÃO AO XML-SRIPT | 113 | |||
| 7.1 Introdução ao XML-Script | 113 | |||
| 7.2 Componentes que podem ser usados em XML-Script | 118 | |||
| 7.3 Componentes Utilização de acções | 119 | |||
| 7.4 Criação de acções personalizadas | 121 | |||
| Conclusão | 126 | |||
| 8. INTRODUÇÃO AO DATA BINDING | 127 | |||
| 8.1 Bindings na plataforma | 127 | |||
| 8.1.1 Definição do sentido de binding | 130 | |||
| 8.1.2 Utilização de transformadores | 131 | |||
| 8.1.2.1 Construção de novos transformadores | 134 | |||
| 8.2 Controlo xpathbinding | 136 | |||
| 8.3 Controlo xmldatasource | 138 | |||
| 8.3.1 Dados em formato tabular | 140 | |||
| 8.4 Classes úteis de acesso a dados | 140 | |||
| 8.5 Controlo datasource | 142 | |||
| 8.6 Controlos de apresentação de dados | 146 | |||
| 8.6.1 Controlo listview | 147 | |||
| 8.6.1.1 Paginação de dados | 153 | |||
| 8.6.1.2 Ordenação dos dados | 156 | |||
| 8.6.2 Controlo itemview | 157 | |||
| 8.6.3 Uma nota sobre filtros | 161 | |||
| Conclusão | 161 | |||
| 9. DRAG-N-DROP COM EXTENSÕES AJAX | 163 | |||
| 9.1 Introdução ao drag-n-drop | 163 | |||
| 9.2 Behavior floatingbehavior | 165 | |||
| 9.3 Behavior dragdroplist e dragdroplistitem | 166 | |||
| 9.4 Behavior datasourcedroptarget | 170 | |||
| 9.5 Behaviors layoutbehavior e opacitybehavior | 174 | |||
| 9.6 Animações | 176 | |||
| 9.6.1 Animação fadeanimation | 178 | |||
| 9.6.2 Animação lengthaanimation | 180 | |||
| 9.6.3 Animação numberanimation | 181 | |||
| 9.6.4 Animação discreteanimation | 182 | |||
| 9.6.5 Animação compositeanimation | 185 | |||
| Conclusão | 186 | |||
| 10. MISCELÂNEA | 187 | |||
| 10.1 Contadores e timers | 187 | |||
| 10.2 Objecto SYS.Application | 188 | |||
| 10.3 Processamento de XML-Script | 189 | |||
| 10.4 Seriação | 192 | |||
| 10.5 Templates | 193 | |||
| 10.6 Suporte à globalização e localização | 194 | |||
| Conclusão | 194 | |||
| 11. SERVIÇOS | 195 | |||
| 11.1 Serviços de autenticação | 195 | |||
| 11.1.1 Personalização de web service usado para autenticar o utilizador | 198 | |||
| 11.1.2 Utilização do serviço em páginas Asp.Net | 200 | |||
| 11.2 Utilização de perfis | 200 | |||
| 11.2.1 Utilização de datetime | 204 | |||
| 11.2.2 Personalização do serviço de perfis | 205 | |||
| 11.2.3 Utilização a partir de XML-Script | 206 | |||
| 11.2.4 Utilização a partir do lado servidor | 210 | |||
| Conclusão | 210 | |||
| 12. INTRODUÇÃO AO MODELO SERVIDOR | 211 | |||
| 12.1 Controlo updatepanel | 211 | |||
| 12.1.1 Utilização de várias zonas de refrescamento parcial | 216 | |||
| 12.1.2 Propriedade childrenastriggers | 217 | |||
| 12.1.3 Triggers | 219 | |||
| 12.1.3.1 Asyncpostbacktrigger | 219 | |||
| 12.1.3.2 Postbacktrigger | 221 | |||
| 12.1.4 Início de postbacks parciais/totais a partir de controlos | 223 | |||
| 12.2 Controlo scriptmanager | 224 | |||
| 12.2.1 Verificação e activação de refrescamentos parciais | 225 | |||
| 12.2.2 Adição de scripts a uma página AJAX | 225 | |||
| 12.2.3 Injecção dinâmica de scripts em páginas | 229 | |||
| 12.2.4 Definição do foco depois de um postback assíncrono | 230 | |||
| 12.2.5 Definição de timeouts | 231 | |||
| 12.2.6 Tratamento de erros | 231 | |||
| 12.2.6.1 Tratamento de erros a nível global | 237 | |||
| 12.2.7 Utilização de master pages | 239 | |||
| 12.2.8 Suporte à globalização | 241 | |||
| 12.3 Mensagem informativa de progresso | 244 | |||
| 12.3.1 Controlo updateprogress | 251 | |||
| 12.4 Controlo timercontrol | 253 | |||
| 12.5 Extenders | 254 | |||
| 12.5.1 Controlo autocompleteextender | 254 | |||
| 12.5.2 Controlo dragoverlayextender | 256 | |||
| 12.6 Utilização de web parts | 257 | |||
| Conclusão | 258 | |||
| 13. WEB SERVICES E ACESSO A DADOS | 259 | |||
| 13.1 Acesso a serviços web | 259 | |||
| 13.2 data services | 262 | |||
| 13.3 Utilização de serviços mantidos em domínios diferentes | 268 | |||
| 13.3.1 Configuração do IIS | 269 | |||
| 13.3.2 Comunicação com web service remoto | 270 | |||
| 13.3.3 Utilização de bridges | 272 | |||
| 13.3.4 Simplificação do código cliente | 278 | |||
| 13.3.5 Utilização de cache | 280 | |||
| 13.3.6 Utilização de transformadores | 282 | |||
| 13.3.6.1 Transformadores xmlbridgetransformer e xsltbridgetransformer | 283 | |||
| 13.3.6.2 Xpathbridgetransformer | 287 | |||
| 13.3.6.3 Transformador objectmapperbridgetransformer | 289 | |||
| 13.3.7 Invocação encadeada de serviços | 290 | |||
| 13.3.7.1 Encadeamento programático | 290 | |||
| 13.3.8 Utilização de tunneling | 293 | |||
| Conclusão | 294 | |||
| 14. PACOTE DE CONTROLOS AJAX TOOLKIT | 295 | |||
| 14.1 Instalação dos controlos do toolkit | 295 | |||
| 14.2 Utilização dos controlos do toolkit | 297 | |||
| 14.3 Construção de novos extenders | 300 | |||
| 14.3.1 Classes introduzidas no lado cliente | 301 | |||
| 14.3.2 Classes introduzidas no lado servidor | 302 | |||
| 14.3.3 Atributos | 302 | |||
| 14.3.4 Classes base para a construção de extenders | 304 | |||
| 14.3.5 Controlo textboxverifierextender | 306 | |||
| 14.3.5.1 Criação do projecto | 306 | |||
| 14.3.5.2 Construção do behavior | 307 | |||
| 14.3.5.3 Construção do extender | 311 | |||
| 14.3.5.4 Página de testes do extender | 314 | |||
| 14.4 Construção de controlos integrados com extensões AJAX | 315 | |||
| Conclusão | 318 | |||
| ÍNDICE REMISSIVO | 321 | |||
| Errata | Topo |
| Download | Topo |
Obtenha aqui material complementar do livro.
Use como "Username" a primeira palavra a roxo da contracapa (excluindo colecção do
livro).
Use como "Password" a primeira palavra de texto da página 238 do seu
livro.
Nota : As palavras deverão ser inseridas em minúsculas e sem acentos, excluindo-se para a sua selecção o título da obra, os logótipos (da colecção e outros), endereços web e o nome dos autores.