Hilo de memes del caché 👇
Qué se debe optimizar en el frontend (y qué no)
Tu responsabilidad como frontend developer
Caché vs. memoria
Debuggeando caché y networking
Quiz: Qué se debe optimizar en el frontend (y qué no)
Optimización de imágenes
Loading spinners vs. loading skeletons
Reto: pantalla de carga
Intersection Observer
Lazy Loading
Imágenes por defecto
Quiz: Optimización de imágenes
Paginación
Scroll infinito vs. paginación
Botón de cargar más
Infinite Scrolling: evento de scroll
Infinite Scrolling: limitando la carga de datos
Infinite Scrolling: closures de navegación
Quiz: Paginación
Almacenamiento local
Local Storage vs. API real
Botón de like
Guardando películas en Local Storage
Lista de películas favoritas
Quiz: Almacenamiento local
Bonus
Reto: selección de idioma
Deploy
Próximos pasos
Más proyectos para tu portafolio
No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Juan David Castro Gallego
Aportes 17
Preguntas 1
Hilo de memes del caché 👇
Patrones de caché (en el backend): https://twitter.com/bibryam/status/1528820145354842119?t=pH7pMm7z5tfU8Z8jj0sSLg&s=19 👀
Mis apuntes…
Cache
Es la forma en la que le digamos al navegador que nos traiga la última información guardada, es decir que si necesitamos algo de información simplemente envíe lo que tiene en cache.
default
no-store
reload
no-cache
force-cache
only-if-cache
Estos son todos los “condicionales” que el cache permite validar el “estado” de la información
Memoization (Si se escribe así!!)
Guardar los cálculos(”Peticiones” que ya hicimos para no repetirlos.
En resumen es:
Crear un objeto.
Preguntar si el objeto tiene la información que necesitamos
Si sí, usar la información
Si no, hacer el fetch y guardar la información en el objeto
Consideraciones importantes.
JavaScript únicamente guarda la información en tiempo de ejecución si esta información se hace reload se va a perder.
**Para nuestro proyecto, aplicaria un poco más el cache por el tema de la cantidad de imagenes que se cargan junto con con la vista completa de la misma, todavia no entiendo muy bien pero siento que seria menor carga para el navegador, el usuario y en un caso dado para el backen
recuerden no es lo mismo Memoization que Memorization
Puedo decir por mi experiencia que el memorization no es el ideal a la hora de hacer una single page application, o al menos en este caso. Cuando estuve haciendo mi proyecto del curso práctico de Consumo de API REST quise utilizar memorization y me di cuenta que al recargar las páginas quedaban en blanco a no ser que estuviese en el home.
Memoization no me parece recomendable con paginas que reciban datos en tiempo real
Cache
kaSH
no le digan cachePropiedades
Memorization
Pasos
Posibles Problemas
Exactamente antes de comenzar estaba pensando repetir el curso pasado con la API de Platzi, y me surgió ésta misma pregunta: Cómo saber cuándo el backend (productos), ya no existe o ya no tiene el mismo número de productos.
Cómo reducir el tiempo de carga.
Consideraría utilizar chaché.
En las lecturas que encontré sobre este tema, leí que no es recomendable hacer “Memoization” en funciones que no seas “puras” (Functional Programming), es decir que es mejor hacerlo en funciones que siempre devuelven el mismo resultado cuando reciben el mismo argumento.
El caché puede ser buena opción porque el navegador ya trata de optimizarlo por defecto, así mientras el navegador mejora el funcionamiento de la página nosotros podemos optimizar otras partes de nuestro código, aunque también consideraría usar LocalStorage o SessionStorage…
Yo creo que en este caso, y mientras llega el 5g, lo más factible para usar en este proyecto es caché, pero con 5g no creo que se necesite nada de eso, porque la latencia ya no va a existir
Comiezo de Cache
Probablemente me equivoque pero voy con todo mi dinero a que la mejor sería caché.
Diría yo que sería la mejor porque de esa forma le vamos a permitir al usuario una navegación más ágil casi siempre, mientras que con memoization solo sería más ágil mientras use el sitio, si se le va luz pues F.
.
Estoy seguro? No sé, pero voy a confiar y encomendarme a Juandc para que todo salga bien
Para la aplicación de PlatziMovies usaría la estrategia de Memoization. Considero que no pueden haber grandes cambios en una sesión, por ende con consultar al backend una sola vez bastaría.
Posible solución:
Actualmente la aplicación Platzi Movies, la carga es aceptable demora un poco en la carga de imágenes por la calidad de las mismas. El uso de cache pude ser útil para ciertas secciones en la app que no cambian como lo es la búsqueda por categoría. En la sección del código que crea las películas por ser algo que varia constantemente es mejor el uso de memorización guardando los datos en un objeto que contenga la información y le póster de las películas
No tengo experiencia con ambas tecnologías, pero según lo explicado por el profe en clase podría decir que caché sería lo ideal para evitar la pérdida de datos al recargar la página con memorization, a no ser que se use localStorage.
con la API de movieDB usaria chache porque siento que no es indispensable saber que pelicula se encuentra en tendencia en cada momento
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?