Confuso sobre o ASP.NET Ajax, jQuery e JavaScript [fechado]

15

Ontem, li alguns capítulos sobre o ASP.NET Ajax e jQuery no meu livro do ASP.NET 4 e achei essas estruturas bem interessantes e decidi aprender mais sobre elas.

Hoje, peguei emprestados alguns livros da biblioteca em Ajax e JavaScript. Parece que o ASP.NET Ajax é diferente do Ajax e o jQuery parece o "novo" JavaScript.

Isso significa que eu posso pular o JavaScript e aprender jQuery diretamente?

Por outro lado, o livro não-ASP.NET Ajax que emprestei parece aplicar-se apenas à programação da Web do lado do cliente e parece bem diferente do que aprendi no ASP.NET Ajax. Se eu sou desenvolvedor do ASP.NET, acho que devo ficar com o ASP.NET Ajax em vez do Ajax do lado do cliente, certo? E o PHP? Existe um "PHP Ajax" semelhante ao ASP.NET Ajax?

Não é que eu tenha preguiça de aprender outras ferramentas, mas só quero me concentrar nas ferramentas certas.

Mr.Y
fonte
3
Marque com +1 como sua pergunta resume, em algum sentido, parte do mundo da programação na web.
Gideon

Respostas:

31

Este é um assunto complicado, mas aqui está minha tentativa de destilar o que todas essas coisas são e como elas se relacionam.

AJAX: Este é um conceito que envolve a inserção de dados de forma assíncrona em um aplicativo da Web sem recarregar a página inteira. Ele permite interfaces de usuário dinâmicas, como o Google Mail, que funcionam como aplicativos de desktop, mas são executadas em um navegador.

ASP.NET AJAX: Esta é uma biblioteca de autoria da Microsoft que tenta tornar o conceito AJAX acessível aos desenvolvedores que possuem um fundo ASP.NET. Ele fornece métodos semelhantes aos métodos do .NET Framework, como String.Format e outros. Ele se sobrepõe ao JQuery, mas ambos podem ser usados ​​em harmonia juntos, pois possuem diferentes pontos fortes e fracos. É importante lembrar que esta é uma biblioteca do lado do cliente e na verdade não depende do ASP.NET. Você pode usar o ASP.NET AJAX com qualquer tecnologia do servidor.

jQuery: Esta é uma biblioteca JavaScript que fornece uma estrutura para facilitar a gravação de aplicativos AJAX. Ele fornece um poderoso modelo de seleção usando uma sintaxe semelhante ao CSS para interagir com o DOM do navegador. Também abstrai muitas das diferenças entre os diferentes navegadores e versões. Portanto, é quase sempre melhor codificar no jQuery, em vez das APIs DOM ou AJAX específicas do navegador. Existe uma rica ecologia de plugins jQuery disponíveis, que podem adicionar todo tipo de comportamento poderoso aos seus aplicativos da Web, sem muito trabalho da sua parte.

JavaScript: é uma linguagem interpretada implementada por todos os principais navegadores que permite um comportamento dinâmico do lado do cliente nos sites. A linguagem em si é bastante sólida, mas as diferentes APIs fornecidas pelos diferentes navegadores tornam complicado escrever JavaScript "bruto" de maneira eficaz. É por isso que existem todas essas bibliotecas em cima.

Agora, quanto à questão do que você deve aprender como desenvolvedor do ASP.NET. Eu recomendaria se familiarizar com a funcionalidade do ASP.NET AJAX e do jQuery. A Microsoft apoia ambos, e ambos estão incluídos no VS 2010. Eles têm pontos fortes e fracos diferentes e, se você entender quais são, será mais eficaz em usá-los.

Você não precisa usar o AJAX para criar sites ASP.NET, mas seus sites serão mais poderosos e mais fáceis de usar. E se você desenvolver um senso de quando o AJAX é eficaz e quando não é, você será um desenvolvedor web melhor.

Ah, e fique longe do UpdatePanels. Essa foi a primeira resposta da MS ao AJAX, mas eles geralmente são ruins e vão contra muitos dos conceitos que tornam o AJAX bom. Eles oferecem benefícios a curto prazo, mas, a longo prazo, são um pesadelo para a manutenção da minha experiência.

RationalGeek
fonte
3
A única coisa que gostaria de acrescentar é que o ASP.NET AJAX também oculta alguns detalhes no lado do cliente. A biblioteca ainda é totalmente do lado do cliente, mas fornece maneiras convenientes de vincular o cliente e o servidor sem precisar conhecer todos os detalhes. Se você realmente deseja entender melhor a programação da Web, pode começar a usar o jQuery e chamar os métodos do ASP.NET para entender como tudo funciona.
precisa
1
+1 Resumo muito bom. O menor problema de jQuery também foi incluído no VS2008
Conrad Frix
@ Conrad Frix muito verdadeiro. Mas quem realmente usa esse velho pedaço de lixo hoje em dia? :-) (apenas uma piada, não me chama)
RationalGeek
Eu estava prestes a pegar meu lança-chamas também. Curiosamente, eu uso 2003 :(, 2005: | e 2010 :) no meu dia-a-dia de trabalho, mas não em 2008
Conrad Frix
Seu parágrafo do JQuery poderia pelo menos mencionar Javascript! para além disso, grande descrição dos técnicos perguntado sobre
ozz
5

Não, não há PHP AJAX.

Se você precisa desenvolver o cliente, aprenda primeiro o javascript puro. Então aprenda jQuery. Se você começar apenas com o jQuery, perderá importantes conceitos de javascript e estará basicamente fazendo a programação de recortar e colar.

JavaScript e jQuery são as ferramentas universais e padronizadas que podem ser usadas quase em qualquer desenvolvimento HTML. Programadores PHP usam js + jq ao executar tarefas de clientes, programadores Ruby usam js + jq etc.

Agora, até onde eu sei, o ASP.NET AJAX é ainda uma estrutura JavScript de nível superior adequada para trabalhar com o ASP.NET, porque o ASP.NET, como você provavelmente sabe, é uma abstração bastante alta do HTML. É por isso que eles têm coisas JS específicas. Basicamente, é aconselhável jogar bem com os componentes ASP.NET do servidor e aprimorá-los. Além disso, ASP.NET AJAX começou nos tempos em que não foi que claro que jQuery será defacto-padrão. Ou, ficou claro, mas não para a Microsoft ;-) - eles realmente planejavam criar sua própria biblioteca JS de nível médio (como o jQuery é).

Honestamente, eu não sou um cara da Microsoft e definitivamente adoraria JavaScript + jQuery puro o máximo possível - se seu empregador / projeto não exigir exatamente o ASP.NET AJAX. Ele fornecerá o conhecimento mais universalmente reconhecido da programação do lado do cliente.


fonte
4

Aqui está o negócio em poucas palavras

(1) O JQuery não substitui o Javascript. É uma biblioteca que simplifica tarefas comuns de JavaScript. Qualquer código JQuery é realmente escrito em JavaScript.

(2) O AJAX é apenas um código JavaScript que manipula a página da Web do lado do cliente e geralmente retira o conteúdo do servidor sem forçar o recarregamento da página inteira. Não há várias "versões" do AJAX.

(3) Sem a posição 2 acima. O ASP.NET e o JQuery têm bibliotecas ou ferramentas que simplificam a tarefa de criar sites direcionados ao AJAX. Também existem várias outras ferramentas que fazem isso. É tudo o mesmo AJAX, apenas maneiras diferentes de gerá-lo ou bibliotecas que o encapsulam.

(4) Qual biblioteca você deve aprender? Isso é principalmente uma coisa de preferência. Se você gosta muito de usar controles da Web e o desenvolvimento da Web de arrastar e soltar com o ASP.NET, pode preferir usar os controles do ASP.NET para fazer o mesmo. Também sou desenvolvedor de ASP.NET, mas prefiro usar o JQuery, porque muitas vezes me fornece um controle mais refinado, mesmo que às vezes possa ser um pouco mais trabalhoso. Além disso, se você aprender a maneira JQuery, poderá usá-la em qualquer plataforma, incluindo PHP.

JohnFx
fonte
3

Existem várias maneiras de executar o AJAX e, se você estiver executando o ASP.NET, o ASP.NET AJAX é uma dessas maneiras. Nos últimos anos, eu pessoalmente me esqueci de fazê-lo dessa maneira em favor do jQuery e de sua implementação do AJAX.

Se eu sou desenvolvedor do ASP.NET, acho que devo ficar com o ASP.NET AJAX em vez do AJAX do lado do cliente, certo?

O ASP.NET AJAX ainda é ajax do lado do cliente. Procure as (enormes) bibliotecas JavaScript geradas pelo ASP.NET AJAX (você as verá em execução no ScriptResource.axd ou WebResource.axd.

Isso significa que posso pular o javascript e aprender o jQUERY diretamente?

O jQuery é apenas uma biblioteca de funções JavaScript. Você ainda precisará entender o JavaScript para usar o jQuery corretamente. O jQuery abstrai um JavaScript complicado, portanto, na minha opinião, o jQuery é uma boa maneira de começar a usar e aprender JavaScript (embora seja melhor você conhecer um pouco de JavaScript antes de começar a usá-lo).

Existe um "PHP AJAX" semelhante ao ASP.NET AJAX?

Existem muitas bibliotecas JavaScript para abstrair o AJAX para você. O jQuery é apenas um deles, mas é muito popular e muito robusto.

Marcie
fonte
0

http://ajaxpatterns.org/PHP_Ajax_Frameworks lista várias estruturas PHP Ajax, embora eu não saiba o quão bem elas são integradas, como o ASP.Net AJAX. Parte da maioria das estruturas AJAX envolverá algum código do lado do cliente, pois o J do AJAX é para Javascript.

Havia outras implementações para obter a funcionalidade AJAX antes da Microsoft colocar o ASP.Net AJAX, onde o Anthem.Net é um exemplo que usei anos atrás.

JB King
fonte
0

JavaScript é uma linguagem interpretada do lado do cliente que fornece controle sobre os componentes da página do navegador; ou seja, o documento HTML e também o próprio navegador. O jQuery é uma biblioteca de funções JavaScript entre navegadores que facilita a interação com o DOM.

ASP.NET e PHP são linguagens de script do lado do servidor, onde, como uma página criada no ASP.NET é compilada em uma DLL de assembly .NET, pelo compilador ASP.NET JIT (Just In Time), uma página criada no PHP é interpretada.

Tecnicamente, o ASP.NET não é realmente uma linguagem, é uma estrutura e um tempo de execução, que expõe APIs que podem ser acessadas usando C # ou VB.NET. Portanto, para desenvolver aplicativos ASP.NET, você precisa conhecer C # ou VB.NET.

De acordo com minha experiência, aconselharei que você dedicasse um tempo e aprendesse JavaScript e depois aprendesse o jQuery. É claro que você também pode fazer o aprendizado cruzado, ou seja, jQuery e JavaScript básico.

O AJAX é uma tecnologia de programação assíncrona do lado do cliente, que pode ser usada no jQuery e no ASP.NET AJAX. O ASP.NET AJAX é a implementação da Microsoft da tecnologia AJAX.

Paul C. Metieh II
fonte
-5

Os idiomas do lado do cliente são usados ​​para diminuir a carga de solicitações do servidor.

Javascript é uma linguagem de script do lado do cliente e Jquery é uma estrutura de javascript e é opcional. Js, jquery funciona no seu próprio sistema e executa tarefas como validação de senha, animação na página da web etc, eles não acessam o banco de dados.

O banco de dados será MYSQL, ORACLE e existe no host da web; ASP, PHP são linguagens de script do lado do servidor. Você pode usar ASP ou PHP para acessar o banco de dados, mas o SQL também é necessário para trabalhar em sites.

pandu
fonte
1
ajax e jquery não são línguas
Raynos
1
A validação de senha também não é feita no cliente. É apenas uma fantasia "sua senha está errada aí", mas ainda pode passar.
Florian Margaine
@Florian Margaine, Você pode validar a senha e enviar o formulário usando o javascript certo.
Pandu
resposta terrível e mal construída.
ozz
1
Devo concordar que, quando me deparei com isso para revisar, levei um esforço considerável para tentar pelo menos melhorar a legibilidade. Já está abaixo de -3 votos, então provavelmente passará despercebido (ainda pior por ter erros conceituais, cabe ao autor corrigir), mas pelo menos espero que seja mais legível agora e mostre ao autor como ele poderia ter escrito o responda.
Oeufcoque Penteano