Freddy Montes Profile picture
May 24 18 tweets 15 min read
¿Mal performance en tu #webapp o #paginaweb?

13 tips rápidos, fáciles y accionables para mejorar el #webperf

❤️ RT para repartir amor!

🧵 HILO
📊 Lo que no se mide no lo puedes arreglar.

Tienes que medir la performance de tu website.

Mis tools favoritas:

@____lighthouse
@gtmetrix
@pingdom Speed Test

Usa las recomendaciones en los resultados para mejorar.
@____lighthouse @gtmetrix @pingdom 🌄 Imágenes 1

Usa el tamaño correcto, si tienes que mostrar la imagen en 300px de width no metas una imagen de 5000px que pesa 5mb te afecta la performance.
@____lighthouse @gtmetrix @pingdom 🌄 Imágenes 2

Usa el formato correcto para reducir el tamaño sin perder calidad:

- webp
- O en su defecto JPG (pero mejor webp)
- Y pronto avif cuando esté soportado
@____lighthouse @gtmetrix @pingdom 🌄 Imágenes 3

Nunca olvides agregarle width y height para que el navegador ya sepa el espacio de la imagen que tiene que descargar y renderear.

Esto evitar "Layout Shift" o brincos en él UI que es mal #UX y Google te penaliza
@____lighthouse @gtmetrix @pingdom 🌄 Imágenes 4

Utiliza el atributo "lazy". Este atributo le dice al navegador NO cargue las imágenes al aparecer en la pantalla cuando el usuario haga scroll hacia ellas.
@____lighthouse @gtmetrix @pingdom 🌄 Imágenes 5

Herramientas:

🔻 squoosh .app: comprime tamaño del archivo
🐼 tinypng .com: resize, crop y comprime
☁️ cloudinary .com: alojamiento con muchas opciones
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 1

Cargar archivos de #JavaScript es un proceso "pesado" y bloquea el renderizado de tu página, porque el browser tiene que:

1. Detener el análisis del HTML
2. Descargar el archivo JavaScript
3. Ejecutar el código JavaScript
4. Seguir con el análisis HTML
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 2

Por eso es que el primer tip y más simple es:

Cargar el archivo JavaScript al final de tu documento justo antes de cerrar el </body>

Esto, solo si es posible para tu caso de uso.
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 3

Para bloquear lo menos posible el proceso del browser puedes usar dos atributos en la etiqueta <script> cuando cargas tu JavaScript

- async
- defer

Sigue...
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 4

<script src="file.js" async />

El archivo se descarga de forma asíncrona, sin bloquear el render y se ejecuta inmediatamente al terminar la descarga.

Sigue habiendo un bloqueo.
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 5

<script src="file.js" defer />

El archivo se descarga de forma asíncrona, sin bloquear el render, pero se ejecuta hasta el final del análisis del HTML.

No hay bloqueo.
@____lighthouse @gtmetrix @pingdom 💻 JavaScript 6

Una regla general para usar async o defer:

async cuando el código JavaScript interactúe con elementos del DOM antes de que todo el documento esté cargado y parseado (evento DOMContentLoaded) y defer cuando no.
@____lighthouse @gtmetrix @pingdom 🔷 VSCode 1

La extensión de Import Cost te permite ver mientras programas si una librería o archivo que estás importando a tu #webapp es muy pesada.

Sí, es muy pesada...
@____lighthouse @gtmetrix @pingdom 🔷 VSCode 2

Para arreglarlo, de ser posible

1. Importa solo lo que vas a usar y no toda
2. Si es una utilidad, créala internamente en tu proyecto
3. Reemplázala, busca otra alternativa.
@____lighthouse @gtmetrix @pingdom 💥 Extra "Priority Hints"

Google está trabajando en una nueva API que te permite señalarle al browser la prioridad (o importancia) de los recursos que carga la página para que el browser decida mejor.

Todavía falta para que salga, pero viene en camino.
@____lighthouse @gtmetrix @pingdom 🔖 En resumen:

1. Mide
2. Imágenes comprimidas y width / height
3. Controla la carga del JavaScript
@____lighthouse @gtmetrix @pingdom ❤️ Si te gustó este contenido ayúdame con un RT al primer tweet.

Si quieres lucirte en las entrevistas tengo dos libros que te ayudan: fmontes.com/99 o 99.tips

🌅 En mi Instagram comparto tips sobre diseño, desarrollo y empleos.

instagram.com/fmontes

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Freddy Montes

Freddy Montes Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @fmontes

May 16
🤮 ¿La tipografía en tu sitio web se ve extraña?

🎼 Seguro no tiene "ritmo vertical" y este concepto te va a cambiar la vida.

📖 Te explico que es y como generarlo.

❤️ RT para evitar diseños feos.

🧵 THREAD
Para entender el ritmo vertical hay que saber que es el "baseline" en la tipografía.

Y no es más que la línea invisible sobre la que se apoya una línea de texto.
El ritmo vertical (vertical rhythm) es un concepto tipográfico que propone que todas las líneas de tu texto deben estar espaciadas unifórmente sin importar:

- Tamaño
- Alto de línea
- Margin o pdding

👀 Veamos un ejemplo...
Read 8 tweets
May 4
Cursos gratis y cortos de los programadores más cracks que yo conozco:

- #JavaScript (de todo) y Flexbox de @wesbos
- #CSS grids de @jensimmons
- #ReactJS y NextJS de @leeerob

❤️ RT comparte el amor!

🧵 HILO Image
El #javascript30 de @wesbos es un clásico javascript30.com son 30 videos de vainilla #JavaScript code challenges. Aprendes de todo, #arrays, #canva, sonido, etc.
También de @wesbos tenemos cssgrid.io para aprender #cssgrids en 25 videos y flexbox.io para aprender #flexbox en 20 videos.
Read 7 tweets
Apr 29
🙊 Secreto para los que están empezando: "80% de lo que van a hacer con #JavaScript en #frontend es agarrar objeto o array y “pintar” #html"

Necesitas saber:

✅ CRUD
✅ Fetch API (Headers, Request, Response y Promise)
✅ Array: filter, map y reduce
✅ DOM manipulation

LINKS 👇🏽
¿Qué es CRUD?

Acrónimo de "Create, Read, Update, Delete" son las operaciones que hacemos en casi cualquier app.

Más info:

🔗 developer.mozilla.org/es/docs/Glossa…
🔗 codepen.io/ianseabrook/pe…
El Fetch API es una utilidad del navegador que te permite hacer requests HTTP.

Más info:

🔗 developer.mozilla.org/en-US/docs/Web…
🔗 robertomiguelz.blogspot.com/2018/02/que-es…
Read 7 tweets
Apr 25
El mercado de trabajo en tecnología esta 🔥 y tienes que aprovecharlo.

Prepare 4 contenidos para mejorar tu salario este 2022:

- 5 mejoras para tu LinkedIn
- Sácale provecho a tu perfil de GitHub
- 10 mejoras para tu CV
- ¿Cuánto debo pedir de salario?

❤️ RT

🧵 THREAD #devjob
La mayoría de los reclutadores van a buscarte en LinkedIn, asegúrate de tener tu perfil a tope con estas 5 mejoras rápidas.

GitHub es más que un repositorio, es casi una red social para desarrolladores y seguramente tu próximo líder técnico va a buscar tu perfil ahí.

Read 6 tweets
Apr 8
Conseguir el primer trabajo en la industria #tech es difícil.

Empresas como @Mercadolibre y @Globant tienes programas para programadores sin experiencia.

❤️ RT para ayudar a más programadores

👇🏼 ¿Quieres saber más? Sigue hilo...
Mercado Libre tiene bootcamps para contratar programadores en:

- #Java
- #Go
- #Mobile
- #Frontend

Para entrar al programa no necesitas experiencia previa, solo saber programar.
Al finalizar el bootcamp te ubican en un equipo de Mercado Libre dependiendo de tus skills y la demanda del momento.
Read 9 tweets
Apr 7
Grandes universidades como @Harvard y @mit_csail tienen cursos GRATIS disponibles para ti.

❤️ Ayuda a llegar a más personas con un RT

👇🏼 THREAD
Harvard: Introduction to Computer Science

pll.harvard.edu/course/cs50-in…
Harvard: Introduction to Artificial Intelligence with Python

pll.harvard.edu/course/cs50s-i…
Read 6 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(