Aula 15 - JQuery, AJAX, Java EE Spring Framework, JSON Flashcards
O que é o JQuery?
-Biblioteca JavaScript cross-browser, de código aberto, pequena, leve, rápida, fácil e muito rica.
-Ela foi desenvolvida para simplificar scripts client-side que interagem com HTML, criar animações, manipular eventos e desenvolver aplicações AJAX. Galera, agora fica muito fácil utilizar JavaScript em seu website.
O que é o DOM?
Document Object Model é uma convenção multiplataforma que representa como as marcações em HTML, XHTML e XML são organizadas e lidas pelo navegador. Uma vez indexadas, estas marcações se transformam em elementos de uma árvore que você pode manipular via API – que é o que fazemos quando usamos programas ou scripts para conteúdo, estrutura ou folha de estilo de uma página.
O DOM possui uma estrutura de árvore (assim como HTML, XHTML e XML)
Correto
Julgue:
O DOM é somente a base para uma outra árvore que é o que realmente um browser monta em tela – é a Árvore de Renderização (ou Render Tree)
Correto
Julgue:
É por meio da interação com o DOM que o jQuery consegue acessar e modificar HTML
Correto
Julgue:
O DOM serve como uma ponte entre o código JavaScript e a estrutura da página web, permitindo uma manipulação dinâmica e interativa do conteúdo.
Correto
Julgue:
Para utilizar o jQuery, é preciso fazer um link da nossa página HTML para o nosso script em jQuery (similar ao que fazemos com HTML/CSS)
<script type=”text/javascript” src=”caminho/para/script.js”>
Correto
O que é o JQGrid?
É um controle JQuery ativado por Ajax que fornece soluções para representar e manipular dados tabulares (tabelas) na web. Uma vez que a grid é uma solução client-side carregando dados dinamicamente por chamadas AJAX, ela pode ser integrada com qualquer tecnologia server-side (PHP, ASP, JSP, Servlet, etc).
O que é o Dojo?
Concorrente do JQuery, ele também é uma biblioteca, tem código-aberto, é modular, possui sintaxe simplificada, apresenta funções para chamadas AJAX, é capaz de manipular o DOM, contém diversos componentes gráficos e efeitos visuais e pode realizar diversas validações – proporcionando um código mais legível e menor.
O Dojo é menos extensível que o JQuery, mas seu escopo é bem maior, isto é, ele faz praticamente tudo que o JQuery faz e mais um pouco. O JQuery é mais leve para o navegador, mas não esqueçamos que ele é extremamente extensível, logo eu posso encher ele de plug-ins – ficando, assim, mais pesado. Se você quer fazer aplicações web ricas, você estará bem servido com qualquer um desses.
Obs: caem muitas questões de JQuery, e a maioria são de caráter sintático.
(Verificar melhor depois)
O que é o AJAX?
O AJAX(Asynchronous JavaScript and XML) é um conjunto de tecnologias, cada uma com seu propósito, que se juntam harmonicamente em uma interface denominada para melhorar a experiência do usuário, tornando páginas web mais ricas e interativas:
▪ Apresentação: utiliza XHTML e CSS;
▪ Interação e Exibição dinâmicas: utiliza DOM;
▪ Manipulação e Intercâmbio de Dados: utiliza XML e XSLT;
▪ Recuperação Assíncrona de Dados: utiliza XMLHttpRequest;e JavaScript para reunir todas essas tecnologias.
Um modelo de aplicação web clássica funciona mais ou menos assim: o usuário envia uma Requisição HTTP ao Servidor Web. Essa abordagem faz muito sentido, mas não oferece uma boa experiência ao usuário.
O AJAX permite que as páginas web solicitem e enviem dados ao servidor sem recarregar a página inteira. Isso proporciona uma experiência de usuário mais suave, pois apenas partes específicas da página são atualizadas conforme necessário.
As Aplicações AJAX eliminam esse inicia-interrompe-inicia-interrompe ao introduzir uma camada chamada Engine AJAX entre o usuário e o servidor. Em vez de carregar uma página web, ao iniciar a sessão, o navegador carrega a Engine AJAX (escrita em JavaScript). Ela permite que a interação do usuário com a aplicação ocorra de forma assíncrona – independente de comunicação com o servidor.
Portanto, o AJAX é um processamento do lado do cliente.
Faça uma breve descrição das tecnologias do AJAX:
-XHTML: Trata-se de uma linguagem de marcação que estende o HTML para criação de páginas web de forma mais acessível e interoperável. —-CSS: Trata-se de uma linguagem de folhas de estilo utilizada para definir a apresentação de documentos escritos em uma linguagem de marcação.
-DOM: Trata-se de um modelo de objetos de documentos para criação de interfaces dinâmicas e editáveis independentes de linguagem e plataforma.
-XML: Trata-se de uma linguagem de marcação para propósitos especiais de intercâmbio e compartilhamento de dados.
-XSLT: Trata-se de uma linguagem de marcação usada para transformar documentos
-XML: em outros documentos ou objetos.
-XMLHTTPREQUEST: Trata-se de um objeto utilizado para enviar e receber requisições HTTP assincronamente.
-JAVASCRIPT: Trata-se de uma linguagem de programação de scripts interpretada e client-side
O que é o XMLHttpRequest? Qual a alternativa atual?
O XMLHttpRequest é um objeto embutido em todos os navegadores modernos (por convenção da W3C) para realizar a troca de dados com o servidor de forma assíncrona, conceito base do AJAX.
Julgue:
AJAX apresenta uma grande desvantagem: se o usuário desativar o JavaScript de seu navegador, a aplicação pode parar de funcionar. No entanto, há diversas vantagens: executa processos em paralelo às requisições/respostas; manipula XML nas aplicações para desktop de forma simples; troca mensagens de forma assíncrona; entre outras.
Correto.
O que é o iFrame?
O iFrame é utilizado para embutir um html dentro de outro html.
O que é o Spring?
Spring é um framework open-source de desenvolvimento para Plataforma Java! Trata-se de uma tecnologia não-intrusiva (aplicação não depende do framework em si) cujo intuito é desenvolver aplicações mais fáceis de usar e promover (e, não, impor) boas práticas por meio de um modelo de programação baseada em POJO. Ele veio como alternativa ao modelo baseado em EJB.
Um dos princípios do Spring Framework é a Inversão de Controle (ou Inversão de Dependência). Qual o seu conceito, problema que resolve e como é resolvido?
Inversão de Controle(ou Inversão de Dependência) é o ato de fazer classes de mais baixo nível dependerem de classes mais alto nível. É “o carregador depender do celular”.
Isso é feito através da Injeção de Dependências, padrão de desenvolvimento de software utilizado para inverter controles e manter o baixo acoplamento entre os módulos de um sistema.
O que é injeção de dependências? (necessário explicar o Conteiner, no contexto do Spring)
Grosso modo, injetar dependências nada mais é que passar uma classe (que será utilizada) para outra classe (que irá consumi-la), delegando a responsabilidade de criação do objeto a outra parte do sistema, nesse caso, o Container do Spring (que funciona como o builder), indicando qual interface desejamos que seja implementada.
O Container é responsável por criar, gerenciar, conectar e configurar objetos e seus ciclos de vida. O padrão de Injeção de Dependência é baseado no padrão Builder, que é aquele cara responsável por construir objetos e armazená-los. Ele permite a separação da construção de um objeto complexo da sua representação, de forma que o mesmo processo de construção possa criar diferentes representações.
O container é capaz de resolver dependências complexas transparentemente, i.e., eu não estou nem ligando para como ele vai resolver. O container é simplesmente um mapeador de dependências que as suas classes necessitam com a lógica de criação dessas dependências (por meio de XML/Annotation). Ele trata todos os objetos sob seu gerenciamento como beans.
Ele criará a o objeto que implementa a interface e injeta essa dependência em outra classe. Em nosso caso, ele criará o objeto de e-mail e injetará no objeto de pessoa.
É possível injetar dependências de três formas: Injeção por Construtor; Injeção por Propriedade (Setter); e Injeção por Interface – esse último é injeção de dependência sem inversão de controle.
O Container Core é o responsável por fornecer Inversão de Controle e Injeção de Dependência. O Módulo Beans é o responsável pelo BeanFactory, que é uma implementação do padrão Factory . O que esse padrão faz?
Ele cria beans por meio de configurações XML – tudo isso por meio da interface: org.springframework.beans.factory.BeanFactory.
OBS: Atualmente, recomenda-se utilizar ApplicationContext (org.springframework.context.ApplicationContext) em vez de BeanFactory, porque ele fornece mais funcionalidades. Enquanto o primeiro permite a instanciação e conexão (wire) de beans, o segundo permite também i18n, publicação de eventos, automatizações, etc.
A apostila mostra como funciona um Container Core e passou pelos seus principais módulos. Talvez seja importante estudar isso.
(Ver melhor depois)