Web I - SPA y Ajax - Introducción
Summary
TLDRLa clase introductoria a la unidad 3 de Web 1 explora el concepto de Single Page Application (SPA) y AJAX, una técnica de frontend que mejora la experiencia del usuario al permitir actualizaciones dinámicas de la página sin necesidad de recarga completa. AJAX significa 'Asynchronous JavaScript and XML', aunque XML ha sido reemplazado por JSON en la práctica moderna. Esta técnica, popularizada en la década de 2000, ha evolucionado y se ha vuelto esencial para el desarrollo de aplicaciones web interactivas y eficientes. Ejemplos de su uso incluyen el 'like' en YouTube, la búsqueda de videos y la edición en tiempo real en Google Docs. La clase también compara el enfoque tradicional de recarga de páginas con el modelo AJAX, destacando las ventajas en términos de rendimiento y experiencia del usuario, aunque también señala los desafíos adicionales de la gestión de errores y la complejidad en el desarrollo.
Takeaways
- 🌐 La clase trata sobre el concepto de Single Page Application (SPA) y AJAX, que permiten aplicaciones web interactivas y casi en tiempo real.
- 📚 AJAX significa Asynchronous JavaScript and XML, y es una técnica de frontend que mejora la experiencia del usuario sin necesidad de recargar la página completa.
- 🚀 La evolución de AJAX comenzó alrededor de 2002-2005 y ha sido fundamental para el desarrollo de aplicaciones web modernas.
- 🔍 Ejemplos de AJAX incluyen la funcionalidad de 'like' en YouTube, la búsqueda dinámica en Google y la edición en tiempo real en Google Docs.
- 💻 AJAX permite que los recursos se carguen parcial y dinámicamente según sea necesario, mejorando así la experiencia del usuario.
- 🛠️ AJAX trabaja con una combinación de tecnologías para crear una mejor experiencia de usuario, en lugar de ser una tecnología o lenguaje por sí solo.
- 🔄 La técnica AJAX permite que los cambios en la interfaz de usuario sean dinámicos y asíncronos, permitiendo que el usuario interactúe con la aplicación sin interrupciones.
- 👀 Una desventaja de AJAX es la posibilidad de errores que pueden no ser tan evidentes como en una aplicación tradicional, requiriendo un manejo adicional de errores.
- 🔧 AJAX introduce cierta complejidad al desarrollo, ya que se deben manejar llamadas asíncronas y actualizar la interfaz de usuario de manera efectiva.
- 🔗 Existen diferentes estilos de AJAX, como el 'Partial Render' que carga un fragmento de HTML y REST que consulta objetos JSON y procesa la información del lado del cliente.
Q & A
¿Qué es una Single Page Application (SPA) y cómo se relaciona con AJAX?
-Una Single Page Application (SPA) es una aplicación web que se carga una vez y actualiza dinámicamente la interfaz de usuario sin necesidad de recargar la página completa. AJAX es una técnica de front-end que permite a las SPAs realizar peticiones al servidor y actualizar partes de la página sin una recarga completa, mejorando así la experiencia del usuario.
¿Qué significa AJAX y cómo se relaciona con la experiencia de usuario en aplicaciones web?
-AJAX significa Asynchronous JavaScript and XML. Es una técnica que permite a las aplicaciones web realizar peticiones asíncronas al servidor, permitiendo que la interfaz de usuario se actualice de manera dinámica y no estática, lo que mejora significativamente la experiencia del usuario.
¿Cuál es la principal ventaja de utilizar AJAX en aplicaciones web?
-La principal ventaja de utilizar AJAX es la mejora en la experiencia del usuario, ya que permite que las páginas web se actualicen de manera asíncrona y dinámica, evitando recargas completas y permitiendo una interacción más rápida y fluida.
¿Cómo surgió el concepto de AJAX y cuándo comenzó a ser popular?
-El concepto de AJAX surgió alrededor de 2002-2005 y comenzó a ser popular cuando se desarrollaron más y se publicaron libros y recursos sobre cómo utilizar esta técnica para hacer que las webs fueran más livianas y responsives.
¿Cuáles son algunos ejemplos de cómo se utiliza AJAX en aplicaciones web comunes?
-Algunos ejemplos de AJAX en aplicaciones web comunes incluyen el 'like' en YouTube, que actualiza la pantalla sin recargarla, la búsqueda en YouTube que sugiere resultados en tiempo real y la edición en tiempo real en Google Docs sin necesidad de recargar la página.
¿Qué es el patrón de arquitectura REST y cómo se diferencia de Partial Page Render?
-El patrón de arquitectura REST (Representational State Transfer) es un estilo arquitectónico para la World Wide Web que utiliza HTTP para manejar objetos, como si fueran recursos, y procesarlos del lado del cliente. Se diferencia de Partial Page Render en que, en lugar de cargar fragmentos de HTML, se cargan objetos JSON y se procesa la representación en el lado del cliente.
¿Qué es Partial Page Render y cómo se implementa?
-Partial Page Render es una técnica en la que se carga y actualiza una parte específica de la página en lugar de toda la página. Se implementa haciendo peticiones AJAX para obtener fragmentos de HTML del servidor y actualizar la interfaz de usuario sin necesidad de una recarga completa.
¿Cuáles son algunas desventajas de utilizar AJAX en aplicaciones web?
-Algunas desventajas de utilizar AJAX incluyen la complejidad añadida al manejo de errores, ya que fallos en las peticiones pueden no ser tan evidentes como en una recarga de página y pueden requerir un manejo más detallado de mensajes de error y estados de carga.
¿Cómo afecta el uso de AJAX el rendimiento de una aplicación web?
-El uso de AJAX puede mejorar el rendimiento de una aplicación web al reducir la cantidad de datos que se transmiten al servidor y al cliente, ya que solo se actualizan partes específicas de la página en lugar de toda la página.
¿Qué es la diferencia entre peticiones síncronas y asíncronas en el contexto de AJAX?
-Las peticiones síncronas implican que el programa se detiene hasta que se recibe la respuesta del servidor, mientras que las peticiones asíncronas permiten que el programa continúe ejecutándose mientras se espera la respuesta, lo que mejora la experiencia del usuario al evitar que la interfaz de usuario se bloquee.
¿Cómo se puede mejorar la experiencia del usuario en una SPA utilizando AJAX?
-Se puede mejorar la experiencia del usuario en una SPA utilizando AJAX al permitir que las actualizaciones de la interfaz sean más rápidas y fluidas, ya que se pueden cargar y mostrar partes de la página sin necesidad de una recarga completa, y al manejar de manera efectiva los estados de carga y los errores.
Outlines
😀 Introducción a las SPA y AJAX
El primer párrafo presenta el concepto de una Single Page Application (SPA) y AJAX. Se describe cómo las SPAs se asemejan a aplicaciones de escritorio, con una interfaz que se actualiza dinámicamente sin necesidad de recargar la página completa. AJAX, que significa Asynchronous JavaScript and XML, se explica como una técnica que combina varias tecnologías para mejorar la experiencia del usuario en aplicaciones web modernas. También se menciona el surgimiento de AJAX alrededor de 2002 y su evolución hasta que comenzó a ser menos mencionado en favor de otras técnicas en 2015-2016, aunque sigue siendo fundamental en el funcionamiento de muchas aplicaciones web actuales.
🌐 Funcionamiento de las páginas web tradicionales vs. con AJAX
En el segundo párrafo, se contrasta el funcionamiento de páginas web tradicionales con aquellas que implementan AJAX. Se explica que en páginas convencionales, cada acción del usuario, como hacer clic en un enlace o enviar un formulario, provoca un request al servidor y una recarga completa de la página. En cambio, con AJAX, la interfaz de usuario se carga inicialmente y luego, mediante JavaScript, se realizan requests asíncronos al servidor que no interrumpen la experiencia del usuario. Esto permite que la página se actualice parcialmente y se mantengan las interacciones fluidas sin necesidad de recargas completas.
🔄 Ventajas y desventajas de AJAX
El tercer párrafo explora las ventajas y desventajas de utilizar AJAX en el desarrollo web. Entre las ventajas, se destacan la mejora significativa en la experiencia del usuario, con una interfaz más dinámica y menos interrupciones, y la eficiencia en la carga de contenido, ya que solo se solicitan los datos necesarios. Sin embargo, también se mencionan las desventajas, como la posibilidad de errores que pueden ser más difíciles de detectar y manejar, y la complejidad añadida al tener que lidiar con requests asíncronos y su manejo en el lado del cliente.
🛠️ Estilos de AJAX: Parcial Render y REST
El cuarto y último párrafo se enfoca en dos estilos de AJAX: Parcial Render y REST. El Parcial Render implica cargar y renderizar una porción de HTML desde el servidor en respuesta a una acción del usuario, mientras que REST (Representational State Transfer) se refiere a la obtención de objetos JSON y su procesamiento en el lado del cliente. El texto ilustra la diferencia con un ejemplo de una noticia, donde el Parcial Render traería el HTML completo de la noticia y REST solo el objeto JSON que luego se procesaría para mostrar la información. Se alude a la necesidad de aprender estas técnicas para trabajar con AJAX de manera efectiva.
Mindmap
Keywords
💡Sincronía
💡AJAX
💡SPA (Single Page Application)
💡Asincronismo
💡Parcial Render
💡REST
💡JSON
💡DOM (Document Object Model)
💡Interfaz de Usuario
💡Experiencia del Usuario
Highlights
Introducción a la clase sobre aplicaciones web SPA (Single Page Application) y AJAX.
Explicación de que una SPA parece una aplicación de escritorio viviendo dentro del navegador.
Mencionar que en una SPA, la página no se recarga completamente, sino que se cargan recursos parcialmente y dinámicamente.
Ejemplos de SPA: Gmail y Facebook, donde la interacción del usuario se actualiza sin recargar la página.
AJAX significa Asynchronous JavaScript and XML, y es una técnica de frontend que mejora la experiencia del usuario.
AJAX no es una tecnología o lenguaje, sino una combinación de tecnologías para mejorar la experiencia de usuario.
Evolución histórica de AJAX, surgido alrededor de 2002-2005, y su impacto en el desarrollo de aplicaciones web.
Mencionar que el término AJAX ha quedado en desuso, pero la técnica sigue siendo fundamental en el desarrollo web moderno.
Ejemplos de AJAX en acción: el botón 'Me gusta' en YouTube y la búsqueda dinámica en Google.
Cómo AJAX permite que las aplicaciones web se comporten como si fueran aplicaciones de escritorio.
Diferencia entre la interacción en una SPA y un sitio web tradicional, donde se espera a la respuesta del servidor.
Funcionamiento de AJAX: la interfaz de usuario se carga una vez y luego se realizan peticiones asincrónicas al servidor.
Ventajas de AJAX: mejor experiencia de usuario, carga más rápida y dinámica de la página.
Desventajas de AJAX: puede fallar y agregar complejidad al manejo de errores en el lado del cliente.
Diferencia entre AJAX y peticiones sincrónicas: en AJAX se pueden realizar tareas mientras se espera la respuesta.
Introducción a los estilos de AJAX: Partial Render y REST, y cómo afectan la carga y procesamiento de datos.
Ejemplo de Partial Render: al hacer clic en un botón, se carga y muestra una noticia completa.
Ejemplo de REST: se solicita un objeto JSON y se procesa en el lado del cliente para mostrar la información.
Importancia de aprender AJAX para el desarrollo de aplicaciones web modernas.
Transcripts
bueno bienvenidos buenos días buenas
tardes noches depende de que estén
viendo esto
vamos a arrancar entonces con esta clase
que es esp ajax es cepeda quiere decir
síncope application y ajax y vamos a ir
viendo un poco qué es todo esto esto es
el comienzo de la unidad 3 de web 1
cuando hablamos de una espera estamos
hablando de una siendo page application
que quiere decir es
son las aplicaciones web que uno cuando
entra a la página parece como si tuviese
una aplicación de escritorio donde
parece que estamos que la aplicación
está viviendo adentro del browser y
sabemos que se refresca nada sino que
simplemente van haciendo clic y se van
viendo pedacitos se va recargando un
pedacito no nunca se recarga
completamente el navegador y los
recursos se cargan parcial y
dinámicamente cuando la página requiere
por ejemplo
cuando van a gmail por ejemplo y que en
un mail tengo que crear un mail y les
aparece la pantallita para que el mail
más abajo y así cuando están en el
facebook y ponen que escriben un post
nuevo y pueden publicar nos refresca la
paginación es simplemente se muestra el
post trabajo
el concepto del siglo el persa es más
moderno pero surge del concepto de ajax
ajax quiere decir a cinco nuevos
javascript xml
eso no es una tecnología es una técnica
de front end que es la base de las
aplicaciones juegos modernos
no es un lenguaje o tecnología como le
decía es una técnica que combina un set
de tecnologías
para poder hacer que nuestras páginas
tengan una mejor experiencia de usuarios
seguramente todos tenemos experiencia de
una página que sea lenta que cuando le
hago clic refresca y tarda mil años no
se generan las páginas de gobierno son
bastante malas
o de instituciones públicas aprobadas o
bastante malas
el resto de las aplicaciones que usamos
habitualmente en general mejor en ese
clima facebook twitter no sé de las que
las que ustedes usen
con esta esta tecnología que habla de la
sincronismo que lo vamos a tratar de
entender un poco qué es
nos va a dar una mano grande para poder
hacer una experiencia de usuario mejor
en la cual vos está viviendo la página y
cuando hagas clic en el lugar no veas
que refresca todo sino que refresca ese
pedacito y las interacciones más
chiquitas dentro de la página
cómo evolucionó esto bueno
al principio surge el concepto y el
nombre
esto se fue el año alrededor de 2002
2003 y 2005 y 2005
como que surge el concepto después
empieza como a desarrollar un poco más
empieza a haber un montón de libros y
cosas fíjense que hicieron libros sobre
este conjunto de tecnologías
usar ajax
todo será la forma de hacer que una web
sea más liviana más responsive
responsible que hace clic y responde
rápido y todo eso
y ya más entrado digamos
no sé
2000
15 2016 una ley ya empezamos a hablar ya
del concepto sin golpes up en todos
lados y se deja en desuso digamos el
nombre la palabra ajax
van a seguir encontrando bibliografía y
búsquedas en internet no es nada sexy lo
que sea
sigue existiendo pero es como que vara
no hablamos de ajax y no hablamos de
toda la experiencia de una aplicación
web una industria pequeña
bueno cuáles son los ejemplos más
comunes el like de youtube cuando le dan
like nos refleja toda la página para
darle like algo
la búsqueda de youtube de youtube el que
pone una búsqueda y te va tirando ideas
o búsquedas
y lo que está buscando digamos
cuando tienen documentos en google docs
y live ya estaban escribiendo y eso nos
refresca la página y va guardando cosas
sino que ustedes van escribiendo y se va
guardando todo eso usa internamente para
atrás digamos ajax aunque lo que vamos a
ver más adelante
tenemos un ejemplo es como que la página
se muere y el flaquito está ahí
vamos a ver cómo son las páginas web
chinas ya que son las páginas web que
ustedes hicieron hasta ahora y que hay
un montón de webs esto es así que siguen
funcionando y aún no todas las páginas
web tienen que usar ajax muchas usan
como pedacitos lugarcitos con ajax no
todo no
esta página web que son las que las que
tenemos nosotros los tenemos en el
browser nuestro navegador o tenemos la
página del interfaz de usuario
cuando yo
a una acción por ejemplo aus admiten
form o clic en un link lo que pasa es
que todo eso genera un request
que va algo el server
igual server me dice bueno está buscando
por ejemplo de index.html quise ir a
about punto 7 ml está buscando auto html
te lo traigo pero vuelvo a html más
sociedad y menos mandó todo y lo muestra
de vuelta entonces el usuario está mira
la página hace una acción entonces
mientras de la acción en este tiempo
está esperando esperando qué
mandel request que si persiste y que
vuelva esto general tarda muy poco pero
de alguna forma estos segundos
milisegundos son de espera
esperamos vuelvo hasta con acción
esperábamos por una torrencial mientras
el browser
luego de ser hace algo la aplicación
calcula cosas o lo que sea
a diferencia
una huevo con ajax
tenemos por un lado la interfaz de
usuario que es lo que se carga la
primera vez la primera vez cualquier
página se carga como veíamos ahora
digamos sería entro a un ring west me
trae la página y la trae todas en este
caso cuando trayecto de la página trae
también un montón de javascript y cosas
y nos carga esa página la página
cuando nos carga la página lo que vamos
a empezar a hacer es tocar botones hacer
click en links y esos clicks en vez de
ir al server de la interfaz del server
vaya nuestro motor de ajax y es una
llamada javascript a este motor de ayer
digámosle que lo que va a hacer ese
motor de ajax es hacer el láser request
al servidor y el esperar
entonces el usuario nosotros que estamos
bien en la página no vamos a ver qué
pasa nada la última lo que pues ya va a
ser cuando hacemos esta llamada ya
escrito acá pone un loading que que está
cargando mientras el que espera es el
otro y cuando vuelves a html css
modifica el don entonces estaba hacemos
clic
manda al javascript le dice al monto p
ajax que tráeme esta página por ejemplo
va a buscar eso mientras yo no veo nada
en el frente
a buscar y reservar vuelve del server
and ice modifica melón entonces me
modifica un digo lo que sea para cargar
alguna cosa fíjense que él
en la actividad de usuario no se para en
ningún momento puedes estar todo el
tiempo por ejemplo haces clic en un
lugar y a su vez estás mirando otras
cosas y viendo
completando un formulario mientras haces
clic en un botón y estás trayendo un
dato o lo que sea
y el usuario puede seguir trabajando en
la página sin
ninguna
ninguna pausa digamos todos los inputs
van contra el motor del ajax y el motor
de ayer es el que modifica la página y
el valor de acs es el que espera en este
caso del espera que antes tenía que
hacer el usuario la hace el motor de
hkex
simplemente explicado sin hallar la
primera columna este muchacho pide la
cerveza
moza se va a buscar la cerveza y vuelve
y detrás las abejas usando ajax
el señor piedras la señora se queda y
extiende la mano y bueno ya estoy todo
listo para cuando venga la birra y
cuando llegue a ser verdad aparece esa
es la experiencia que tenemos nosotros
usando wells contra jacques bueno
entonces que es ajax bueno es una tiene
carga asíncrona en la 5 mismo éxito que
veíamos yo mando un recuerdo y esperó a
sincrónicamente o sea sigo haciendo
cosas y espero que alguien venga y me
toque la espalda media de hecho está
permite cambios dinámicos de lado al
cliente porque cuando yo hago ese
request con ajax o con chaves que
vivíamos acá vamos a hacerlo cuando está
llamadita
y esto vuelve y la forma siempre de
distrito
modifica
y la interfaz de usuario
o sea modifica el lado del cliente y
mejora la experiencia de usuario porque
en osorno tenemos que esperar nunca
podemos estar usando la aplicación todo
el tiempo sin ninguna pausa algo que
alguna de esas cosas va lleno pero bueno
en principio es mucho mejor la
experiencia del usuario
hasta ahora entonces teníamos nuestras
páginas web tenían
el don el html
los estilos css y
programar y editar el domo ya que
nosotros hacíamos algunas cositas
es digamos clic que se muestra un día o
cosas por el estilo algo que lo que sea
que hayamos hecho
ahora
todo eso vivía dentro de la página de
pedía la página web volvía y pedir todo
eso y podía interactuar con javascript
con el dom
ahora que vamos a agregar vamos a
agregar la parte de que se conecta al
servidor este javascript estamos usando
para programar y editar el dom además
para poder hacer llamadas al servidor y
traer cosas del servidor y volverlas a
y volver y modificar el dom y que las
veamos
es la sincronía que se llama script las
llamas llamas asincrónicas esto que
decíamos por ahí para dejar claro el
concepto de sincronismo
algo sincrónico es yo pido algo y me
quedo esperando hasta que lo reciba
algo a 5 años yo pido algo sigo haciendo
otra cosa y después alguien me va a
decir que ya está entonces vuelvo y lo
agarro
eso sería sincrónico versus asincrónico
con ajax lo que hacemos es hacer cosas
hacen crónicas vamos a pedir a ese vídeo
algo mientras nosotros ponemos alguna
cosa y cuando está listo lo vamos a
agarrar y lo vamos a usar
qué ventajas y desventajas tenemos esto
en la clase de presencial lo haríamos
todos juntos
las ventajas vamos a notar algunas que
estamos aquí
la ventaja que yo veo más
rápida si es que sea el mejor
experiencia de usuario
por qué
realmente usando una página web que no
se refrescan en nada y que vamos
haciendo clic con mucho más dinámico
poder haciendo ese tipo de cosas que
reflejamos todo el tiempo es más la
experiencia tipo como una aplicación y
no como un
como en la página web
a mayor velocidad
nosotros estamos cargamos la página una
vez
y después cada vez que estamos cargar
algo es ir a buscar un pedacito nada más
es ir a hacer un recuento y pedir algún
pedacito chiquito por es un caso de html
ahora vamos a los ejemplos más pero es
buscar un pedacito chiquito antes con la
versión sincrónica llevamos la versión
china ya que cuando yo hago clic tengo
que ir al servidor y traigo todo de
vuelta el css el html
qué otra ventaja tenemos
a ver vamos a mirar qué le pusimos los
años anteriores
ilusión la piel del tiempo
guardar las dos en el cero hermano esto
sería una ventaja
porque algo que entonces no estamos ya
pero si vamos a ver un poco más adelante
la desventaja mayor es que esto puede
fallar
puede fallar y agrega cierta complejidad
por qué
antes si fallara la página veíamos un
500 un error horrible y no nada ahora si
falla un re quest que nos hacemos clic
en un botón sitio básicamente y vuelve y
falla
hay que manejarlo podemos si fallan
todos el usuario hace clic y parece que
están dando pero nada nada no se nos va
la página no vuelve nunca más
y bueno para decirnos aprendizaje nuevo
para poder hacerlo nuestros simplemente
es una ventaja es mi mensaje de ventaja
algo que nos pasa sin tener que aprender
algo hay que usar algo nuevo
bueno como le decía hay varios
estilos de ajax tenemos por un lado del
parche al render y por otro lado resto
nos vamos a empezar a enfocarnos primero
en parís al render y después en resto el
parián render es básicamente cuando yo
clic en algún lugar es ir y cargar a
sincrónicamente un pedazo de html y de
ser está en nuestro html
entonces yo hago clic en un botón diría
buscaría algo por ejemplo entonces una
noticia y la traería entera ya hecho y
la mostraría
el servicio rest o en las redes bloque
hace es consultar un objeto jason y
procesarlo del lado del cliente con él
llama escrito entonces va y pide algo
les devuelve un objeto jason y es objeto
jason yo podría trabajarlo con sada
script de mi lado demostrar algo no
mostrar algo del lado del cliente ya no
traer el html se ha calculado vamos a
dar ejemplo de la noticia
usando para el render yo apretar un
botón y al ser ver eso me traía un html
con toda la noticia cargada título
subtítulos e imágenes todo cargado y lo
traigo el cliente y agarrarse html y no
lo insertó en todo lo que eso sería
parcial render de páginas
con un servicio es lo que yo podría
hacer sería
apretar el botón de alba que traer
solamente la noticia el auge del objeto
6 de noticia que tenía título subtítulo
imagen en el bando y del lado del
cliente trabajarlo para que se muestre
no se muestre generó el html del lado
del cliente
esto es ajax y vamos a tener que
marcarnos para aprenderlo así que nos
vemos en el próximo vídeo para seguir
trabajando un poco con
5.0 / 5 (0 votes)