Freddy Montes Profile picture
Nov 11 18 tweets 5 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 Image
📊 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.
🌄 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.
🌄 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
🌄 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
🌄 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.
🌄 Imágenes 5

Herramientas:

🔻 squoosh .app: comprime tamaño del archivo
🐼 tinypng .com: resize, crop y comprime
☁️ cloudinary .com: alojamiento con muchas opciones
💻 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
💻 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.
💻 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...
💻 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.
💻 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.
💻 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.
🔷 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...
🔷 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.
💥 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.
🔖 En resumen:

1. Mide
2. Imágenes comprimidas y width / height
3. Controla la carga del JavaScript
❤️ 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

Nov 8
🌅 Buenos días 🌅

¿Buscando proyectos para practicar o para portafolio?

🧵 Te dejo 3 que me gustan por acá

#frontend #webdev
Desarrollar una pagina de producto para crowfunding y aprende:

1️⃣ Responsive design
2️⃣ Transiciones en hover states
3️⃣ Layouts con #CSS

frontendmentor.io/challenges/cro…
🏠 Room homepage

El layout de este está retador, pero te queda un proyecto interesante para mostrar en tu portafolio.

frontendmentor.io/challenges/roo…
Read 5 tweets
Nov 7
¿Nadie visita tu perfil de LinkedIn?

✨ 5 MEJORAS RÁPIDAS para tu LinkedIn y que te lluevan ofertas de trabajo de #webdev y #programacion.

🧵 THREAD CORTO

❤️ RT para repartir amor
Yo soy feo, pero me acomodo para las fotos y tú también deberías.

🌅 Bien iluminada
☘️ Que se vea natural
👀 Mira la cámara
😬 Sonríe, pero bonito, no creepy

Evita esas fotos raras con ropa de iglesia.
El "headline" no es solo tu título, descríbete a ti y que te hace único porque tienes habilidades que nadie más puede ofrecer.

Eres frontend developer, bien, pero ¿Qué más tienes para ofrecer? Esta es tu oportunidad de decirlo.
Read 7 tweets
Sep 26
20 años programando #web. Si tuviera que aprender desde cero hoy, haría esto...

🧵 THREAD
¡Arranco con el de @Platzi que es gratis y tiene profesores TOP!

platzi.com/programacion

Me aseguro de entender lo básico:

- Condiciones
- Loops
- Variables
- Funciones
- Y un poco de HTML, CSS y JavaScript
En este punto ya estoy familiarizado con HTML y CSS

Sigo con el curso de #ResponsiveWebDesign de @freecodecamp.

Este es un curso con proyectos y así es como se aprende mejor, haciendo.

Además, tiene gatitos.

freecodecamp.org/learn/2022/res…
Read 21 tweets
Sep 9
🤖 ¿La inteligencia artificial te reemplazará?

¡NO! Por ahora vino a hacerte tu trabajo de #developer y #UIDesigner más fácil.

✅ 7 utilidades de inteligencia artificial para #WebDevelopers

❤️ Ayudame con un RT

🧵 HILO
1️⃣ Copilot creado por @GitHub es un "autocompletado" de código que utiliza AI para ofrecerte sugerencias a tu código, pero completa una función completa solo con el nombre, por ejemplo.

Está en beta privada, anótate en la lista: copilot.github.com
@github @tabnine parecido a Github Copilot, pero se puede usar en cualquier editor de código y no está en beta cerrada.

Tiene una versión paga y una gratis y promete ser mejor que Copilot.

tabnine.com
Read 7 tweets
Aug 31
🌅 Buenos días 🌅

¿Buscando proyectos para practicar o para portafolio?

🧵 Te dejo 3 que me gustan por acá

#frontend #webdev
Desarrollar una pagina de producto para crowfunding y aprende:

1️⃣ Responsive design
2️⃣ Transiciones en hover states
3️⃣ Layouts con #CSS

frontendmentor.io/challenges/cro…
🏠 Room homepage

El layout de este está retador, pero te queda un proyecto interesante para mostrar en tu portafolio.

frontendmentor.io/challenges/roo…
Read 5 tweets
Aug 23
🚨 NUNCA digas "NO" cuando en una entrevista te pregunten:

¿Tienes preguntas?
➡️ No es una inocente pregunta, es para probar si tienes interés.

💬 Algunas ideas de preguntas, HILO 🧵

#devjobs #codenewbie #100daysofcode
¿Cuántos son en el equipo?
¿Cuál es el tech stack?
¿Usan agile, waterfall, otro?
¿Qué control de versiones?
¿Tienen unit e integration tests?
¿Cómo se componen los equipo?
¿Qué sistema de tracking usan?
¿Qué herramientas de comunicación?
¿La mayoría usa mac o windows?
- ¿Cómo evitan el burnout de los empleados?
- ¿Cómo miden el éxito de una persona en esta posición en sus primeros meses?
- ¿Cuánto tiempo pasa desde que aprueba un feature hasta que ese código llega a producción?
- ¿Podría nombrar tres metas del equipo en 2022?

Por @kamihack
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!

:(