Compreendendo o Conceito e Filosofia da Ajax

Tele o foco deste artigo é fornecer soluções para alguns comum, os problemas gerais e questões que costumam surgir antes ou durante o desenvolvimento de Asynchronous JavaScript and XML (Ajax) e transferência de estado representacional (REST) aplicações. Essas questões comuns nem sempre são de natureza técnica, muitas vezes apoiando-se mais para a teoria ou a filosofia de desenvolvimento. O problema com esses tipos de perguntas é que quando você começa a pensar sobre eles, você vai manter em um círculo e acabar onde você começou. O truque para descobrir a respostas não é para continuar em um círculo, mas para ficar com as hipóteses e tomar uma decisão.

  

Compreendendo o Conceito e Filosofia da Ajax

Jesse James Garrett em Adaptive Path cunhou o definition1 original do Ajax. Citando a definição original, Ajax incorpora as seguintes características:

• apresentação baseada em padrões usando Extensible HyperText Markup Language (XHTML) e Cascading Style Sheets (CSS)

• Exibição e interação dinâmicos usando o Document Object Model (DOM)

• intercâmbio de dados e manipulação utilizando Extensible Markup Language (XML) e Extensible Stylesheet Language Transformations (XSLT)

• Recuperação de dados assíncronos usando XMLHttpRequest

• JavaScript para ligar tudo junto Em poucas palavras, o Ajax é um estilo de desenvolvimento Web que requer navegador aweb. A interface de usuário do navegador da Web é dinamicamente modificado usando uma linguagem de programação que recupera dados somente quando necessário, em vez da abordagem tradicional de atualizar a página inteira toda vez que um pedido é feito. Quero destacar os termos dinamicamente e somente quando necessário, Porque esses termos são a essência do Ajax. Ajax e JavaScript são exemplos de duck typing2 e latente tipo de programação.

Duck-digitado programação é sobre a escrita de código onde a definição de classes não é conhecido antes do tempo, mas você sabe que o objeto tem um comportamento específico. Reutilizar é possibilitada pela clonagem e montando os objetos dinamicamente durante a execução. Classical objeto programação orientada é sobre como definir o comportamento do tipo antes da execução. O código-fonte que se segue é um exemplo de HTML dinâmico (DHTML) e aplicação de JavaScript que ilustra a essência do pato-digitado programação. Fonte: / website / ROOT / gettingstarted / PrototypeBased.html

 Prototype-based Programming variation1 obj.runIt =;  RunVariation () "/>Variation2 obj.runIt =; RunVariation () "/> 
Nada ainda

No exemplo, os segmentos de código de negrito ilustrar o pato-digitado construções de programação. Quando o browser carrega o código, será analisado a partir de cima para baixo. Quando o código tiver sido analisado, os seguintes tipos e instâncias do objeto estará ativo:

• Definição do variation1 funções, Variation2 e RunVariation

• instanciação e definição da variável obj, que referencia uma instância de objeto plain vanilla

• Definição de dois botões (Variation 1 e Variação 2) que executar um JavaScript quando clicado

• Definição de um elemento HTML div que tem o identificador de chamada de saída do RunVariation função gera uma exceção, porque obj é uma instância de objeto plain vanilla e não tem nenhum método para aplicação runit. Uma linguagem de programação clássica, como Java, C # ou C + + não é capaz de compilar o código JavaScript, porque o RunVariation função executa um método em um tipo que não está definido para possuir o método. Quando um método de objeto é chamado, como no código fonte, ele é chamado de tipagem latente. Digitando latente é a identificação do tipo associado com uma variável durante a execução da aplicação. No caso do exemplo de código fonte, isso significa que o comportamento exato de obj não é conhecido até que o aplicativo é executado. Assim, RunVariation podem ou não trabalhar. No código de exemplo, quando as teclas são pressionadas a entrada, o obj.runIt propriedade é atribuída a qualquer variation1 ou Variation2. Depois que a propriedade tenha sido atribuído, os botões de entrada RunVariation chamar a função, que por sua vez, chama a obj.runIt propriedade. Como a propriedade tem um valor atribuído, o variation1 função ou Variation2 é chamado. A atribuição da propriedade de uma função é a essência do pato-digitado programação. Isto levanta a questão, se uma linguagem de programação utiliza as técnicas de programação latente, isso implica pato-digitado programação? E se isso não acontecer, quais são as diferenças? Se uma linguagem de programação a digitação latente, que não implica pato-digitado programação. Mas se uma linguagem de programação suporta pato-digitado programação, deve suportar digitação latente. C + + é um excelente exemplo de uma linguagem que suporta tipos latente, mas não suportam tipagem pato. O código-fonte a seguir ilustra digitando latente:

LatentTypeCaller <class T> (public void callit t T () (t.LatentDefinedMethod ();))

No código de exemplo, T é um tipo que pertence a um template C + +. Na execução do callit, o t.LatentDefinedMethod método é chamado. A partir do código-fonte, o tipo de T não é aparente, mas o que quer que seja, o método LatentDefinedMethod deve ser apoiada. C + + não suportam tipagem pato, pois T não podem ter o método LatentDefinedMethod atribuídas dinamicamente. Com a inclusão do modelo tipo de funcionalidade. NET 2.0 e Java 5.0 chamados genéricos, que poderiam ser tentados a acreditar que os genéricos digitando latente de apoio.

O código como está escrito em C + + não é possível em qualquer um. NET ou Java, como os compiladores iria reclamar sobre tipos de restrições. Para livrar-se dos erros do compilador em C # ou Java, você deve restringir T para um tipo que suporta o método LatentDefinedMethod. Um argumento comum contra o pato-digitado programação e digitação latente é que você não sabe o que o código vai fazer até você executá-lo. Em contrapartida, o C + +,. NET e ambientes de programação Java, que exigem uma definição explícita ou tipagem estática de tipos, para fazer código estável e robusto. Pelo menos, esse é o argumento promovido por indivíduos que suportam tipagem estática. Tipagem estática garante que um programa compila e se encaixa, mas não garante que o programa faz o que é esperado. Considere o seguinte código, que ilustra como tipagem estática pode ser enganado:

classe Math (public long add (long valor1, longa valor2) (return valor1 - valor2;))

um artigo submetido por Sonja Lande


Isenção de responsabilidade:O nosso site não se responsabiliza pelo conteúdo deste artigo. Webarticles é uma fonte de informação livre.
Importante: Este artigo "Compreendendo o Conceito e Filosofia da Ajax" foi traduzida por um software automático. Nós sentimos muito por quaisquer erros de ortografia que pode ter ocorrido. Obrigado pela sua compreensão.


Online: 448 users browsing the articles directory