Confundido sobre ASP.NET Ajax, jQuery y JavaScript [cerrado]

15

Ayer, leí un par de capítulos sobre ASP.NET Ajax y jQuery de mi libro ASP.NET 4 y encontré esos marcos bastante interesantes y decidí aprender más sobre ellos.

Hoy, tomé prestados algunos libros de la biblioteca en Ajax y JavaScript. Parece que ASP.NET Ajax es diferente de Ajax y jQuery parece el "nuevo" JavaScript.

¿Significa que puedo omitir JavaScript y aprender jQuery directamente?

Por otro lado, el libro de Ajax que no es ASP.NET que tomé prestado parece aplicarse solo a la programación web del lado del cliente y se ve bastante diferente de lo que aprendí de ASP.NET Ajax. Si soy un desarrollador de ASP.NET, creo que debería seguir con ASP.NET Ajax en lugar de Ajax del lado del cliente, ¿verdad? ¿Qué hay de PHP? ¿Hay un "PHP Ajax" similar a ASP.NET Ajax?

No es que sea flojo para aprender otras herramientas, pero solo quiero centrarme en las correctas.

Mr.Y
fuente
3
+1 divertido cómo su pregunta resume en cierto sentido parte del mundo de la programación web.
gideon

Respuestas:

31

Este es un tema complicado, pero aquí está mi intento de destilar cuáles son todas estas cosas y cómo se relacionan.

AJAX: este es un concepto que implica extraer datos de forma asincrónica en una aplicación web sin volver a cargar toda la página. Permite interfaces de usuario dinámicas como Google Mail que actúan como aplicaciones de escritorio pero se ejecutan en un navegador.

ASP.NET AJAX: esta es una biblioteca creada por Microsoft que intenta hacer que el concepto AJAX sea accesible para los desarrolladores que tienen un fondo ASP.NET. Proporciona métodos que son similares a los métodos de .NET Framework como String.Format y otros. Tiene cierta superposición con JQuery, pero ambos se pueden usar en armonía, ya que tienen diferentes fortalezas y debilidades. Es importante recordar que esta es una biblioteca del lado del cliente y en realidad no depende de ASP.NET. Puede usar ASP.NET AJAX con cualquier tecnología del lado del servidor.

jQuery: esta es una biblioteca de JavaScript que proporciona un marco para hacer que las aplicaciones AJAX sean fáciles de escribir. Proporciona un modelo de selección potente que utiliza una sintaxis similar a CSS para interactuar con el DOM del navegador. También abstrae muchas de las diferencias entre los diferentes navegadores y versiones. Por lo tanto, casi siempre es mejor codificar contra jQuery en lugar de las API DOM o AJAX específicas del navegador. Existe una rica ecología de complementos jQuery disponibles que pueden agregar todo tipo de comportamiento poderoso a sus aplicaciones web, sin mucho trabajo de su parte.

JavaScript: este es un lenguaje interpretado implementado por todos los principales navegadores que permite un comportamiento dinámico del lado del cliente en los sitios web. El lenguaje en sí es bastante sólido, pero las diferentes API que proporcionan los diferentes navegadores dificultan la escritura efectiva de JavaScript "en bruto". Es por eso que hay todas estas bibliotecas encima.

Ahora, en cuanto a la pregunta de qué debe aprender como desarrollador de ASP.NET. Recomendaría familiarizarse con la funcionalidad de ASP.NET AJAX y jQuery. Microsoft respalda ambos, y ambos están incluidos con VS 2010. Tienen diferentes fortalezas y debilidades y, si comprende cuáles son, será más eficaz al usarlos.

No tiene que usar AJAX para hacer sitios web ASP.NET, pero sus sitios web serán más potentes y más fáciles de usar si lo hace. Y si desarrolla una idea de cuándo AJAX es efectivo y cuándo no lo es, será un mejor desarrollador web.

Ah, y mantente alejado de UpdatePanels. Esa fue la primera respuesta de MS a AJAX, pero en general son malas y van en contra de muchos de los conceptos que hacen que AJAX sea bueno. Te dan un beneficio a corto plazo, pero a largo plazo son una pesadilla de mantenimiento en mi experiencia.

RationalGeek
fuente
3
Lo único que agregaría es que ASP.NET AJAX también oculta algunos de los detalles en el lado del cliente. La biblioteca todavía es del lado del cliente, pero proporciona formas convenientes de vincular el lado del cliente y el servidor sin tener que conocer todos los detalles. Si realmente desea una mejor comprensión de la programación web, es posible que desee comenzar a utilizar jQuery y recurrir a sus métodos ASP.NET para comprender cómo funciona todo.
Bryan Rehbein
1
+1 Muy buen resumen. La objeción menor jQuery también se incluyó con VS2008
Conrad Frix
@Conrad Frix muy cierto. ¿Pero realmente quién usa esa vieja basura hoy en día? :-) (solo una broma no me llama)
RationalGeek
Estaba a punto de conseguir mi lanzallamas también. Por extraño que parezca, uso 2003 :(, 2005: | y 2010 :) en mi trabajo diario, pero no 2008
Conrad Frix
¡Su párrafo JQuery al menos podría mencionar Javascript! Aparte de eso, gran descripción de los técnicos preguntados
ozz
5

No, no hay PHP AJAX.

Si tiene que hacer el desarrollo del cliente, primero aprenda javascript puro. Entonces aprende jQuery. Si comienza con jQuery, perderá conceptos importantes de JavaScript y básicamente estará haciendo la programación de cortar y pegar.

JavaScript y jQuery son las herramientas universales y estandarizadas que se pueden usar en casi cualquier desarrollo HTML. Los programadores PHP usan js + jq cuando hacen cosas de clientes, los programadores Ruby usan js + jq, etc.

Ahora, por lo que sé, ASP.NET AJAX es incluso un marco JavScript de nivel superior que es adecuado para trabajar con ASP.NET, porque ASP.NET, como probablemente sepa, es en sí mismo una abstracción bastante alta de HTML. Es por eso que tienen cosas específicas de JS. Básicamente es importante jugar bien con los componentes ASP.NET del lado del servidor y mejorarlos. Además, ASP.NET AJAX se inició en los tiempos en que no fue que claro que jQuery será de facto estándar. O, estaba claro, pero no para Microsoft ;-): en realidad planearon crear su propia biblioteca JS de nivel medio (como es jQuery).

Honestamente, no soy un chico de Microsoft y definitivamente me apegaría a JavaScript + jQuery puro por el mayor tiempo posible, si su empleador / proyecto no requiere exactamente ASP.NET AJAX. Le dará el conocimiento más universalmente reconocido de la programación del lado del cliente.


fuente
4

Aquí está el trato en pocas palabras

(1) JQuery no reemplaza Javascript, es una biblioteca que simplifica las tareas comunes de JavaScript. Cualquier código JQuery en realidad está escrito en JavaScript.

(2) AJAX es solo un código JavaScript que manipula la página web del lado del cliente y, a menudo, extrae contenido del servidor sin forzar una recarga de toda la página. No hay múltiples "Versiones" de AJAX.

(3) No obstante el n. ° 2 anterior. Tanto ASP.NET como JQuery tienen bibliotecas o herramientas que simplifican la tarea de crear sitios web basados ​​en AJAX. También hay una serie de otras herramientas que hacen esto también. Es todo el mismo AJAX, solo diferentes formas de generarlo, o bibliotecas que lo encapsulan.

(4) ¿Qué biblioteca deberías aprender? Eso es principalmente una cosa de preferencia. Si le gusta mucho usar los controles web y el desarrollo web de arrastrar y soltar con ASP.NET, puede preferir simplemente usar los controles ASP.NET para hacer lo mismo. También soy un desarrollador de ASP.NET, pero prefiero usar JQuery porque a menudo me da un control más detallado, incluso si a veces puede ser un poco más de trabajo. Además, si aprende la forma JQuery, puede usarla en cualquier plataforma, incluido PHP.

JohnFx
fuente
3

Hay muchas formas de hacer AJAX, y si está haciendo ASP.NET, ASP.NET AJAX es una de esas formas. En los últimos años, personalmente me he librado de hacerlo de esa manera a favor de jQuery y su implementación de AJAX.

Si soy un desarrollador de ASP.NET, creo que debería seguir con ASP.NET AJAX en lugar de AJAX del lado del cliente, ¿verdad?

ASP.NET AJAX sigue siendo ajax del lado del cliente. Busque las bibliotecas JavaScript (enormes) generadas por ASP.NET AJAX (las verá mientras se ejecuta en ScriptResource.axd o WebResource.axd.

¿Eso significa que puedo omitir javascript y aprender jQUERY directamente?

jQuery es solo una biblioteca de funciones de JavaScript. Aún necesitará una comprensión de JavaScript para usar jQuery correctamente. jQuery abstrae algunos JavaScript complicados, por lo que jQuery es, en mi opinión, una buena forma de comenzar a usar y aprender JavaScript (aunque es mejor que al menos conozca algunos JavaScript antes de comenzar a usarlo).

¿Hay un "PHP AJAX" similar a ASP.NET AJAX?

Hay muchas bibliotecas JavaScript para abstraer AJAX para usted. jQuery es solo uno de ellos, pero es muy popular y muy robusto.

Marcie
fuente
0

http://ajaxpatterns.org/PHP_Ajax_Frameworks enumera varios marcos PHP Ajax, aunque no sé qué tan bien integrados están como ASP.Net AJAX. Parte de la mayoría de los frameworks AJAX involucrará algún código del lado del cliente, ya que la J de AJAX es para Javascript.

Hubo otras implementaciones para obtener la funcionalidad AJAX antes de que Microsoft pusiera ASP.Net AJAX donde Anthem.Net es un ejemplo que usé hace años.

JB King
fuente
0

JavaScript es un lenguaje interpretado del lado del cliente que le brinda control sobre los componentes de la página del navegador; es decir, el documento HTML y también el navegador en sí. jQuery es una biblioteca de funciones JavaScript de navegador cruzado que facilita la interacción con el DOM.

ASP.NET y PHP son lenguajes de secuencias de comandos del lado del servidor, donde una página construida en ASP se compila en una DLL de ensamblado .NET, mediante el compilador ASP.NET JIT (Just In Time), se interpreta una página construida en PHP.

Técnicamente, ASP.NET no es realmente un lenguaje, es un marco y un tiempo de ejecución, que expone las API a las que se puede acceder usando C # o VB.NET. Por lo tanto, para desarrollar aplicaciones ASP.NET, debe conocer C # o VB.NET.

Desde mi experiencia, le aconsejaré que se tome el tiempo y aprenda JavaScript, luego continúe aprendiendo jQuery. Por supuesto, también podría hacer aprendizaje cruzado, es decir, tanto jQuery como JavaScript central.

AJAX es una tecnología de programación asincrónica del lado del cliente, que se puede utilizar tanto en jQuery como en ASP.NET AJAX. ASP.NET AJAX es la implementación de Microsoft de la tecnología AJAX.

Paul C. Metieh II
fuente
-5

Los idiomas del lado del cliente se utilizan para disminuir la carga de solicitudes del servidor.

Javascript es un lenguaje de scripting del lado del cliente y Jquery es un framework de javascript y es opcional. Js, jquery funciona en su propio sistema y realiza tareas como validación de contraseña, animación en la página web, etc., no acceden a la base de datos.

La base de datos será MYSQL, ORACLE y existe en el servidor web; ASP, PHP son lenguajes de script del lado del servidor. Puede usar ASP o PHP para acceder a la base de datos, pero SQL también es necesario para trabajar en sitios web.

pandu
fuente
1
ajax y jquery no son idiomas
Raynos
1
La validación de contraseña tampoco se realiza en el cliente. Es simplemente un elegante "su contraseña está equivocada allí", pero aún puede pasar.
Florian Margaine
@Florian Margaine, puede validar la contraseña y enviar el formulario usando javascript derecho.
pandu
respuesta terrible, mal construida.
ozz
1
Tengo que estar de acuerdo, cuando me topé con esto para revisarlo, me llevó un esfuerzo considerable tratar de mejorar al menos la legibilidad. Ya está por debajo de -3 votos, por lo que probablemente pasará desapercibido (lo que es peor por tener errores conceptuales que depende del autor), pero al menos espero que sea más legible ahora y muestre al autor cómo pudo haber escrito el responder.
Oeufcoque Penteano