Confuso su ASP.NET Ajax, jQuery e JavaScript [chiuso]


15

Ieri ho letto un paio di capitoli su ASP.NET Ajax e jQuery dal mio libro ASP.NET 4 e ho trovato questi framework piuttosto interessanti e ho deciso di saperne di più su di essi.

Oggi ho preso in prestito alcuni libri dalla biblioteca su Ajax e JavaScript. Sembra che ASP.NET Ajax sia diverso da Ajax e jQuery sembra il "nuovo" JavaScript.

Significa che posso saltare JavaScript e imparare direttamente jQuery?

D'altra parte, il libro Ajax non ASP.NET che ho preso in prestito sembra applicarsi solo alla programmazione web lato client e sembra abbastanza diverso da quello che ho imparato da ASP.NET Ajax. Se sono uno sviluppatore ASP.NET, suppongo che dovrei restare con ASP.NET Ajax invece che con Ajax lato client, giusto? Che dire di PHP? Esiste un "Ajax PHP" simile ad Ajax ASP.NET?

Non è che sono pigro per imparare altri strumenti, ma voglio solo concentrarmi su quelli giusti.


3
+1 divertente come la tua domanda riassuma in qualche modo parte del mondo della programmazione web.
Gideon,

Risposte:


31

Questo è un argomento complicato ma ecco il mio tentativo di distillare cosa sono tutte queste cose e come si relazionano.

AJAX: questo è un concetto che prevede il pull asincrono dei dati in un'applicazione web senza ricaricare l'intera pagina. Consente interfacce utente dinamiche come Google Mail che funzionano come applicazioni desktop ma vengono eseguite in un browser.

ASP.NET AJAX: si tratta di una libreria creata da Microsoft che tenta di rendere il concetto AJAX accessibile agli sviluppatori con un background ASP.NET. Fornisce metodi simili ai metodi .NET Framework come String.Format e altri. Ha qualche sovrapposizione con JQuery ma possono entrambi essere usati in armonia insieme poiché hanno diversi punti di forza e di debolezza. È importante ricordare che si tratta di una libreria sul lato client e in realtà non ha una dipendenza da ASP.NET. È possibile utilizzare ASP.NET AJAX con qualsiasi tecnologia lato server.

jQuery: questa è una libreria JavaScript che fornisce un framework per facilitare la scrittura delle applicazioni AJAX. Fornisce un potente modello di selezione che utilizza una sintassi simile a CSS per interagire con il DOM del browser. Inoltre, elimina molte delle differenze tra i diversi browser e versioni. Quindi stai quasi sempre meglio codificando jQuery rispetto alle API DOM o AJAX specifiche del browser. Esiste una ricca ecologia di plug-in jQuery che può aggiungere ogni tipo di comportamento potente alle tue applicazioni web, senza molto lavoro da parte tua.

JavaScript: questo è un linguaggio interpretato implementato da tutti i principali browser che consente un comportamento dinamico sul lato client nei siti Web. Il linguaggio stesso è piuttosto solido, ma le diverse API fornite dai diversi browser rendono complicato scrivere in modo efficace JavaScript "grezzo". Ecco perché ci sono tutte queste librerie sopra di esso.

Ora, per quanto riguarda la domanda su cosa dovresti imparare come sviluppatore ASP.NET. Consiglierei di familiarizzare con le funzionalità di ASP.NET AJAX e jQuery. Microsoft sostiene entrambi, ed entrambi sono inclusi in VS 2010. Hanno diversi punti di forza e di debolezza e se capisci quali sono, sarai più efficace nell'usarli.

Non è necessario utilizzare AJAX per creare siti Web ASP.NET, ma i tuoi siti Web saranno più potenti e più user-friendly se lo fai. E se sviluppi un senso per quando AJAX è efficace e quando non lo è, sarai uno sviluppatore web migliore.

Oh, e stai lontano da UpdatePanels. Questa è stata la prima risposta di MS ad AJAX, ma sono generalmente cattivi e vanno contro molti dei concetti che rendono AJAX buono. Ti danno un vantaggio a breve termine, ma a lungo termine sono un incubo di manutenibilità nella mia esperienza.


3
L'unica cosa che aggiungerei è che ASP.NET AJAX nasconde anche alcuni dettagli sul lato client. La libreria è ancora tutta lato client, ma fornisce modi convenienti per collegare il lato client e quello server senza dover conoscere tutti i dettagli. Se vuoi davvero una migliore comprensione della programmazione Web, potresti voler iniziare a utilizzare jQuery e chiamare i tuoi metodi ASP.NET per capire come funziona tutto.
Bryan Rehbein,

1
+1 Riepilogo molto bello. Il piccolo cavillo jQuery era incluso anche con VS2008
Conrad Frix il

@Conrad Frix molto vero. Ma davvero chi usa quel vecchio pezzo di spazzatura al giorno d'oggi? :-) (solo uno scherzo non mi infiammare)
RationalGeek

Stavo per prendere anche il mio lanciafiamme. Stranamente uso 2003 :(, 2005: | e 2010 :) nel mio lavoro quotidiano, ma no 2008
Conrad Frix,

Il tuo paragrafo JQuery potrebbe almeno menzionare Javascript! a parte questo, è stata chiesta una grande descrizione dei tecnici
ozz,

5

No, non esiste PHP AJAX.

Se devi fare lo sviluppo del client, impara prima javascript puro. Quindi impara jQuery. Se inizi con solo jQuery ti mancheranno importanti concetti javascript e sostanzialmente farai la programmazione taglia e incolla.

JavaScript e jQuery sono gli strumenti universali e standardizzati che possono essere utilizzati quasi in qualsiasi sviluppo HTML. I programmatori PHP usano js + jq quando fanno cose client, i programmatori Ruby usano js + jq ecc.

Ora, per quanto ne so, ASP.NET AJAX è anche un framework JavScript di livello superiore adatto a lavorare con ASP.NET, poiché ASP.NET, come probabilmente sapete, è esso stesso un'astrazione piuttosto elevata dall'HTML. Ecco perché hanno un JS specifico. Fondamentalmente è importante giocare bene con i componenti ASP.NET sul lato server e migliorarli. Inoltre, ASP.NET AJAX è iniziato in tempi in cui non era così chiaro che jQuery sarebbe defacto-standard. Oppure, era chiaro, ma non per Microsoft ;-) - in realtà avevano pianificato di creare la propria libreria JS di livello medio (come jQuery è).

Onestamente, non sono un tipo Microsoft e rimarrei sicuramente solo JavaScript + jQuery il più a lungo possibile - se il tuo datore di lavoro / progetto non richiede esattamente ASP.NET AJAX. Ti fornirà la conoscenza più universalmente riconosciuta della programmazione lato client.


4

Ecco l'affare in breve

(1) JQuery non sostituisce Javascript, è una libreria che semplifica le attività JavaScript comuni. Qualsiasi codice JQuery è effettivamente scritto in JavaScript.

(2) AJAX è solo un codice JavaScript che manipola la pagina Web sul lato client e spesso estrae il contenuto dal server senza forzare un ricaricamento dell'intera pagina. Non ci sono più "Versioni" di AJAX.

(3) In deroga al n. 2 sopra. Sia ASP.NET che JQuery dispongono di librerie o strumenti che semplificano l'attività di creazione di siti Web basati su AJAX. Ci sono anche una serie di altri strumenti che fanno questo. È lo stesso AJAX, solo modi diversi di generarlo o librerie che lo incapsulano.

(4) Quale biblioteca dovresti imparare? Questa è principalmente una preferenza. Se ti piace usare molto i controlli Web e lo sviluppo Web con trascinamento della selezione con ASP.NET, potresti preferire semplicemente utilizzare i controlli ASP.NET per fare lo stesso. Sono anche uno sviluppatore ASP.NET, ma preferisco usare JQuery perché spesso mi dà un controllo più preciso, anche se a volte può essere leggermente più lavoro. Inoltre, se impari il modo JQuery, puoi usarlo su qualsiasi piattaforma incluso PHP.


3

Esistono molti modi per eseguire AJAX e, se si esegue ASP.NET, ASP.NET AJAX è uno di questi. Negli ultimi anni, mi sono personalmente allontanato dal farlo in questo modo a favore di jQuery e della sua implementazione di AJAX.

Se sono uno sviluppatore ASP.NET, credo che dovrei attenermi ad ASP.NET AJAX anziché al lato client AJAX giusto?

ASP.NET AJAX è ancora ajax lato client. Cerca le (enormi) librerie JavaScript generate per te da ASP.NET AJAX (le vedrai durante l'esecuzione in ScriptResource.axd o WebResource.axd.

Ciò significa che posso saltare javascript e imparare direttamente jQUERY?

jQuery è solo una libreria di funzioni JavaScript. Avrai comunque bisogno di una comprensione di JavaScript per usare correttamente jQuery. jQuery estrae un po 'di JavaScript complicato, quindi jQuery è, a mio avviso, un buon modo per iniziare a utilizzare e apprendere JavaScript (anche se è meglio conoscere almeno un po' di JavaScript prima di iniziare a usarlo).

Esiste un "PHP AJAX" simile ad ASP.NET AJAX?

Ci sono molte librerie JavaScript per estrarre AJAX per te. jQuery è solo uno di questi, ma è molto popolare e molto robusto.


0

http://ajaxpatterns.org/PHP_Ajax_Frameworks elenca vari framework PHP Ajax anche se non so quanto siano ben integrati come ASP.Net AJAX. Parte della maggior parte dei framework AJAX coinvolgerà del codice lato client poiché J di AJAX è per Javascript.

C'erano altre implementazioni per ottenere la funzionalità AJAX prima che Microsoft inserisse ASP.Net AJAX, dove Anthem.Net è un esempio che ho usato anni fa.


0

JavaScript è un linguaggio interpretato dal lato client che ti dà il controllo sui componenti della pagina del browser; cioè il documento HTML e anche il browser stesso. jQuery è una libreria di funzioni JavaScript per browser multipli che semplifica l'interazione con il DOM.

ASP.NET e PHP sono entrambi linguaggi di scripting lato server, dove quando una pagina costruita ASP.NET viene compilata in una DLL di assembly .NET, dal compilatore ASP.NET JIT (Just In Time), viene interpretata una pagina costruita in PHP.

Tecnicamente, ASP.NET non è in realtà un linguaggio, è un framework e un tempo di esecuzione che espone API a cui è possibile accedere utilizzando C # o VB.NET. Pertanto, per sviluppare app ASP.NET, è necessario conoscere C # o VB.NET.

Dalla mia esperienza, ti consiglierò di dedicare tempo e imparare JavaScript, quindi procedere con l'apprendimento di jQuery. Ovviamente potresti anche fare l'apprendimento incrociato, cioè sia jQuery che JavaScript di base.

AJAX è una tecnologia di programmazione asincrona lato client, che può essere utilizzata sia in jQuery che in ASP.NET AJAX. ASP.NET AJAX è l'implementazione di Microsoft della tecnologia AJAX.


-5

Le lingue lato client vengono utilizzate per ridurre il carico di richieste del server.

Javascript è un linguaggio di scripting lato client e Jquery è un framework di javascript ed è facoltativo. Js, jquery funziona nel sistema stesso ed esegue attività come la convalida della password, l'animazione nella pagina Web ecc., Non accedono al database.

Il database sarà MYSQL, ORACLE ed esiste nell'host web; ASP, PHP sono linguaggi di scripting lato server. È possibile utilizzare ASP o PHP per accedere al database, ma è anche necessario che SQL funzioni sui siti Web.


1
ajax e jquery non sono lingue
Raynos

1
La convalida della password non viene eseguita sul client. È solo una fantasia "la tua password è sbagliata lì", ma può ancora passare.
Florian Margaine,

@Florian Margaine, puoi convalidare la password e inviare il modulo usando javascript a destra.
pandu,

risposta terribile, mal costruita.
ozz,

1
Devo essere d'accordo, quando mi sono imbattuto in questo per la revisione, mi ci è voluto uno sforzo considerevole per cercare almeno di migliorare la leggibilità. I suoi voti già sotto -3 quindi probabilmente passeranno inosservati (peggio ancora per avere errori concettuali dipende dall'autore da correggere), ma almeno spero che ora sia più leggibile e mostri all'autore come avrebbe potuto scrivere risposta.
Oeufcoque Penteano,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.