GithubHelp home page GithubHelp logo

jesusalejos / platzi-optimizacion-web Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jonalvarezz/platzi-optimizacion-web

0.0 0.0 0.0 699 KB

馃殌 Curso de Optimizaci贸n Web de Platzi por @jonalvarezz

Home Page: https://platzi-optimizacion-web.netlify.app/

JavaScript 55.59% CSS 24.78% HTML 19.63%

platzi-optimizacion-web's Introduction

Curso Optimizacion Web en Platzi

Proyecto del Curso: Optimizaci贸n Web

Netlify Status

Curso de optimizaci贸n web dictado por @jonalvarezz para Platzi

馃攷 C贸mo trabajar en este proyecto?

El curso es totalmente pr谩ctico y progresivo este repositorio s贸lo existe como una gu铆a para cuando lo necesites. Puedes realizar todo el curso en tu propio proyecto y tu propio repositorio.

Avanzamos en el curso a un nuevo tema y no puedes o no quieres completar los cambios anteriores para continuar? Empieza desde la etiqueta git correspondiente al m贸dulo del curso.

  1. Actualiza la informaci贸n de las etiquetas:

    Anteriormente debiste clonar este repositorio tal como lo hicimos en clase.

    git fetch --tags
  2. Lista las etiquetas disponibles:

    git tag

    Deber铆as ver algo como:

    0-inicio
    1-css
    2-webfonts
    3-imagenes
    4-javascript
    ...
  3. Inicia un nuevo branch desde el punto que desees:

    git checkout -b el-nombre-de-mi-branch etiqueta-elegida
    
    # Por ejemplo, para iniciar desde el m贸dulo 4-javascript
    git checkout -b jonalvarezz-javascript 4-javascript

    Eso es todo, ya puedes iniciar con todos los cambios inclu铆dos hasta ese m贸dulo. En la secci贸n Tags de GitHub, encuentras m谩s informaci贸n de cada etiqueta.

Bonus: C贸mo subo mis cambios a otro repositorio?

Git permite manejar varios repositorios remotos en una misma copia local. Aqu铆 encuentras m谩s informaci贸n y te dejar茅 el cheatsheet a continuaci贸n:

# Crea tu nuevo repositorio en GitHub/GitLab/otro. 
# Asumamos la URL es [email protected]:jonalvarezz/mi-repo-mas-bello.git
# Agrega el nuevo remote

git remote add mi-repo [email protected]:jonalvarezz/mi-repo-mas-bello.git

# Para push
git push mi-repo branch-a-hacer-push


# Para pull
git pull mi-repo branch-a-hacer-push

馃 Gu铆a R谩pida

  1. Empieza a desarrollar.

    Instala dependencias

    npm install

    Inicia el proyecto

    npm run dev

    El sitio estar谩 disponible en http://localhost:3000.

    Happy hacking!

  2. Para producci贸n.

    Construye el proyecto

    npm run build

    El sitio podr谩 ser accedido como un sitio est谩tico.

    Un servidor de archivos est谩tico est谩 incluido y se puede iniciar con

    npm start

    El sitio estar谩 disponible en http://localhost:5000.

馃殌 Optimizaciones aplicadas

  1. Elimina bloqueo en etiquetas script.
  2. Convierte los estilos en Mobile First.
  3. Carga los estilos para Desktop con baja prioridad en M贸vil.
  4. Agiliza HTTP handshake con otros dominios de recursos.
  5. Reduce Paints en la animacion hover de los items del carousel.
  6. Reduce complejidad de selectores CSS.
  7. Desbloquea la carga del logo.
  8. Evita texto invisible durante la carga (FOIT).
  9. Reduce el tama帽o del logo en 90%.
  10. Minimiza requests HTTP con SVG.
  11. Aplica Lazy load para las im谩genes.
  12. Evita Layout Shifts.
  13. Compila el c贸digo para producci贸n.
  14. Utiliza un servidor para producci贸n.
  15. Agrega analizador del bundle: npm run dev|build -- --analyze
  16. Uso conciente de Tree Shaking.
  17. Mejora TTI por 5 seg.
  18. Reduce el tama帽o del Bundle un 70% gzipped.
  19. Divide el bundle en dos archivos (code splitting)
  20. Aplica lazy load para la librer铆a del modal.
  21. Renderiza el contenido principal desde nuestro propio servidor node (SSR).
  22. Pre-renderiza el contenido principal de forma est谩tica (SSG).
  23. Deploy en Netlify.
  24. Genera el contenido est谩tico cada semana con GitHub Actions.
  25. Guarda assets en el cache del navegador con Service Workers.
  26. Automatiza Performance Audits con Lighthouse y GitHub Actions.

馃悶 Encontraste un error o mejora?

Ayuda a otros estudiantes con eso que acabas de descubrir que har铆a este curso y respositorio mucho mejor.

  • En Issues puedes reportar errores, agregar sugerencias y comentarios.
  • Por su parte, los Pull Request siempre estar谩n abiertos para recibir mejoras puntuales.

Happy hacking!

platzi-optimizacion-web's People

Contributors

jonalvarezz avatar dependabot[bot] avatar teffcode avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    馃枛 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 馃搳馃搱馃帀

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google 鉂わ笍 Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.