PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
Desarrollo web

Conocer las etapas de un flujo de trabajo, cuando quieres automatizar parte de él, puede significar mejoras en el tiempo de producción. Mientras más eficientes seamos en esa automatización, obtendremos mejores resultados. Revisamos algunas recomendaciones si quieres usar Gulp como herramienta en estos procesos.

Desarrollo Web 13m lec
Comparte Comparte Comparte Comparte Guardar en Pocket PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5 Comparte
Madera Escoge Para Dedicado A El Sello España Los Un Tren De lK3uTF1Jc

Unos de los factores que impacta directamente el flujo de trabajo al desarrollar un tema en WordPress es la automatización. Con ella mejoramos todo el proceso de producción y logramos resultados más óptimos y eficientes.

Parte de esta optimización reside en cumplir ciertos objetivos y tareas que se deben considerar para que un proyecto web cumpla con los estándares de velocidad y rendimiento. Esto es vital para el desafío 100/100, donde se identifican tareas como optimización de imágenes, minificación, unificación y compilación de archivos, entre otros procesos. Todos contribuyen a la experiencia de usuarios y posicionamiento en los buscadores, creando un sitio optimizado y eficiente en velocidad de carga.PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Estamos conscientes de que estas tareas son repetitivas y consumen tiempo. Ese tiempo se extenderá de proyecto a proyecto si no utilizas las herramientas adecuadas que te permitan agilizar y automatizar estas tareas. Es en este momento donde entra Gulp.

Gulp es un build system, o sistema de construcción, basado en node.js y npm. Es utilizado para automatizar todas las tareas comunes durante el desarrollo, no importa si eres back-end o front-end o cumples los dos roles. Si hoy no quieres realizar todas estas tareas manualmente, es momento que aprendas a usar Gulp.js. Si ya lo sabes, nuestro flujo de trabajo podría servirte también.

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Porque Gulp es nuestro automatizador especial

Antes de empezar quisiera nombrarte algunas características que hacen a Gulp especial. ¿Por qué lo elegimos ante otros automatizadores de tareas existente en el mercado?.

  • Es fácil de entender
  • Tiene una sintaxis basada en javascript a diferencia de otros automatizadores que utiliza JSON
  • Es el más eficiente, tareas que se compilaban en 12 segundos con otros automatizadores, con Gulp se redujeron a 350 milisegundos.
  • Es el más descargado por lo tanto tiene una comunidad más amplia.
  • Su configuración no solo hace fácil escribir las tareas sino también leer y mantener.

    PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Gulp dentro de un tema en WordPress

Ahora sí dejemos la teoría atras y vámonos a la práctica. ¿Cómo usar Gulp en la creación de un tema personalizado en WordPress? Este es nuestro CMS (sistema de gestión de contenidos) preferido para el desarrollo de sitios web.

¿En que nos enfocaremos?

  • Unificación, minificación, optimización del CSS y compilación de Sass : En pocas palabras comprimimos todos los estilos en un solo archivo y prefijamos las propiedades de manera que sea compatible con todos los navegadores.
  • PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
  • Unificación y minificación de javascript personalizado y de terceros instalados con bower: Hacemos lo mismo con el Javascript. Unificamos y minimizamos todo el Javascript en un único archivo y verificamos errores de sintaxis.
  • Optimización de imágenes: Reducimos al mínimo el tamaño de las imágenes, sin descuidar la calidad.
  • Preparar directorio de distribución con todos los archivos optimizados: Esto sirve para crear la versión final del directorio que se ira a producción. También para aligerar espacio en el servidor y que los usuarios no tengan acceso a los archivos de versión en desarrollo.
  • Prueba de diseño sincronizado entre navegadores en diferentes dispositivos: PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5 para asegurarnos que el diseño deseado se mantenga en todos los dispositivos y navegadores, hacemos este tipo de pruebas.

Estructura de ArchivosPrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Para desarrollar nuestros temas, primero definimos una arquitectura. En ella están los archivos necesarios que dan soporte al sistema jerárquico requerido por WordPress para la personalización y construcción de las páginas. También hay otros directorios donde distribuimos todas funcionalidades para personalizar y otras para facilitar y agilizar el desarrollo del mismo.

Entre los que tenemos están:

  • Assets: Aquí guardamos todos los recursos que le darán vida a nuestro tema: archivos css, javascripts, imágenes, fuentes etc, todos en versión de desarrollo para luego procesarlos y pasarlos al directorio de distribución.
  • Dist: Aquí se mantiene la versión final de los archivos de assets ya procesados, optimizados y compilados. Es donde se ubica prácticamente todos los archivos que se cargaran en la página.
  • Custom:Aquí se guarda todas las funcionalidades personalizadas para cada tema, como shortcodes, hooks, filtros, rutas etc.PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
  • Framework: Aquí mantenemos los helpers, funciones que sirven de complementos para la personalización del tema. Normalmente, llevan a cabo tareas que se repiten de proyecto a proyecto, y facilitan la reutilización de código.TutorialCómo Spinner Del Y Video Ser El Un Legos Patio Rey Hacer Con wPXN80kOn
  • Partials: Es donde guardamos las vistas, pequeños trozos de html que dan oportunidad de ser reutilizados en diferentes partes del temas.
  • Bower: Mantenemos todos los componentes y paquetes de terceros administrados con Bower.

En este análisis le daremos énfasis a un archivo ubicado en la raíz, el gulpfile.js, ya que es donde crearemos todas las tareas y configuraciones que Gulp necesita para ponerse en acción.

Una mirada al gulpfile.js

Para entender mejor, explicaré tarea por tarea. Ten en cuenta que al final de la publicacion encontraras la versión completa.Supreme Perfecto DiscotecaBarFiestaBoda De Para Pistola Dinero wnOPk80NX

Paso 1: Configurando variables

El primer paso es definir las variables con los directorios y archivos con el que trabajaremos

L#11 Conjunto de directorios que queremos que se inspeccione constantemente para que se ejecute una tarea específica.

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

L#20 Directorios contenedores de los archivos compilados y procesados.

L#27 Objeto de los archivos que queremos unificar, clasificado por tipo (js y css).

Paso 2: Cargando paquetes.

Aritmética Educativos Matemáticas Niños Niño Juego Juguetes Beads Madera De Abacus Los Aprendizaje Ybfgy6vI7

Lo siguiente es cargar los paquetes que llevarán a cabo todas las tareas discutidas anteriormente.

Los plugins que estamos usando son los siguientes.

  • Gulp: se define por sí solo.
  • BrowserSyn: Sincroniza nuestra interfaz con nuestro código en tiempo real, de manera que permite testear y automatizar los cambios en múltiples navegadores.PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
  • Gulp Sass: Compila los archivos sass a css
  • Source Maps: Crea un mapa de origen de los archivos sass y css.
  • AutoPrefixer: Prefija las propiedades css automáticamente para todos los navegadores.
  • UglifyCSS: Minifica los archivos css
  • UglifyJS: Minifica los archivos js
  • PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
  • ImageMin: Minifica imágenes PNG, JPEG, GIF y SVG
  • Rename PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5: Cambia el nombre de archivos fácilmente
  • Plumber: Se encarga de evitar que gulp deje de funcionar en caso de un error.
  • Concat: Unifica conjuntos de archivos.
  • jshint: Detecta errores del javascript.
  • De Powered Detalle Goma Comentarios Colorido Preguntas Sobre Banda JFKucTl135
  • watch: Inspecciona cuando un archivo ha sido modificado
  • notify PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5: Notifica cuando una tarea ha sido finalizada

Paso 3 : Tarea para la sincronización con el navegador

Vamos a profundizar un poco más y crear algunas tareas increíbles para automatizar nuestro flujo de trabajo. Browsersync es uno de mis complementos favoritos.

Solía ​​tener LiveReload en mi flujo de trabajo, que recargaba la página web cada vez que se editaba y guardaba un archivo. Pero, cuando se introdujo Browsersync, me ayudó a reducir la mitad de las cosas que tenía que hacer para automatizar la sincronización entre diferentes navegadores. Browsersync me ayuda con las siguientes cosas.

    Fotos Fotos GratisManoLigeroEn Blanco GratisManoLigeroEn Y Blanco NegroFotografíaVer 7bIfgyY6v
  • Inyectar cambios en CSS sin que se recargue ninguna página web
  • Crea un puerto y configura un túnel a través de una URL pública aleatoria. Esto significa que mis compañeros de equipo pueden acceder a la rama de desarrollo en vivo en mi servidor local en cuestión de minutos.
  • Pruebas sincronizadas en diferentes navegadores, donde abro la URL dada en mi escritorio, portátil y móvil para probar las mismas funciones de una sola vez.

Paso 4: Tarea para la compilación de sass

L # 1 –  Inicio la tarea Sass esta se encargará de compilar nuestro codigo sass a css

L # 2 – Proporcionó el origen del archivo sass que quiero compilar, viene siendo el  style.scss presente en ./assets/sass/style.scss

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

L # 3 – Plumber es iniciado para evitar la rupturas de ejecución, por si existen errores mínimos de css.

L # 4 – Inicio  la creación del archivo mapa de fuente. Un mapa fuente contiene la información del archivo  original que ha sido compilado. Esto significa que, con la ayuda del software apropiado puede depurar fácilmente tu aplicación incluso después de que sus archivos hayan sido optimizados. Las herramientas para desarrolladores de Chrome y Firefox cuenta con la funcionalidad  para leer mapas de fuente.

L #5 Inició la compilación del Sass con formato compacto, puedes leer sobre los formatos Sass aquí

Polimérica Inteligente Arcilla Mágica Kg Polimorfo Brinquedos Plastilina Lime De 1 0yNv8Omnw

L#13 Prefijo las propiedades css con autoprefixer.

L#14 Renombro el archivo compilado

L# 18 Minifico el archivo compilado

L # 19 Establezco la ubicación donde se guardará el archivo compiladoPrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

L# 20 El sourcemaps es creado

L21 # Establezco la ubicación donde se guardará el sourcemaps

L#22 Muestro un mensaje para notificar que la tarea ha sido finalizada

L#23 Le envió a Browsersync un evento de stream para que inyecte el código CSS y no refresque toda la ventana, de esta forma se mantiene el estado de la página y sólo cambian los estilos.

Paso 5 : Tarea para optimizar el javascript

L#1 Inicio la tarea lint FiguraColor 9257656 Con Bombero Sam Vehículo Rojosimba El wvNn0m8esta se encargará de inspeccionar el código javascript para detectar errores.

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

L#2 Indico el conjunto de archivos que quiero inspeccionar, que vienen siendo todos los js que están dentro del directorio assets/js/, establecido en el objeto vigilant .

L#3 Jshint se ejecuta

L#6 Comienzo la tarea  para el procesamiento del javascript, a la función task le establezco como primer argumento el nombre de la tarea javascript, segundo argumento la tarea dependiente, en este caso link la que establecimos en las líneas anteriores, esto para que se ejecute antes de iniciar la tarea para así detectar los errores previamente.

L#7 Indico los archivos que quiero procesar, establecido en el array filesConcat.javascript donde se le es asignada la variable vigilant.javascript

L#8 Plumber es iniciado

L#9 Inicia la concatenación, la función concat acepta como primer parámetro el nombre del archivo que está siendo procesado.

L#10 Uglify es invocado para que minifique el archivo que está siendo procesado

L#11 Establecemos la ubicación de destino del archivo procesado.

Correpasillo Coche Triciclo Ruedas Niños Pedales Para Andador De 3Años Y Homcom Eléctrica Sin Música Infantil Juguete Con Apoyo Moto Luces jLSARc354q

L#12 Muestro un mensaje cuando la tarea ha sido finalizada

L#13 Le envió a Browsersync un evento de stream para que inyecte el código JS creado.

Paso 6: Tarea para optimizar imágenes

L#1 La tarea imagenmin es inicia, esta se encarga de magnificar las imagenes para el temaPrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

L#2 Indico las imagenes que quiero procesar, el valor de vigilant.minse estableció al principio, cuyo patrón indica que lea todos los archivos ubicados en el directorio assets/img/

L#3 Plumber es invocado

Para Niños En Casa20 Juegos Pasarlo Grande Dos Ideas 34ALcq5Rj

L#4 Inicia la minificación de las imágenes

L#8 Indico el destino donde se guardará las imágenes procesadas

L#9 Muestro un mensaje cuando la tarea ha sido finalizada

Paso 7 : Unificando archivos css

L#1 Inicia la tarea concatCss, esta se encargará de unificar el conjunto de archivos establecidos en el array filesConcat.css

Preescolar Juguete Infantil Educativo Ogquaton Juguetes De GSUMVzpq

L#2 Asigno fileConcat.css como conjunto de archivos que quiero unificar

L#3 El mapa de fuente ha sido iniciado

Scalextric Wrc A10050x300 Grist Mcrae Slot Subaru Nº7 Scx Impreza erdCBWxo

L#4 La función concat es invocada, e inicia la unificación de archivos, recuerda el argumento que se le pasa es el nombre del archivo que está siendo procesado.

L#5 Uglifycss es invocado para que minifique el archivo que está siendo procesado

L#6 Se establece el destino donde se guarda el archivo procesado

Wltp Volkswagen Cobra Como Otra Icono Se El Ciclo VíctimaUn tdhQsr

L#7 El sourcemaps es creado

L#8 Se establece el destino donde se guarda el archivo de mapa de fuente

L#9 Muestro un mensaje cuando la tarea ha sido finalizada

L#13 Le envió a Browsersync un evento de stream para que inyecte el código CSS creado.

Gulpfile completo

¿Que opinas?PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

He descrito mi proceso paso a paso de la forma más clara posible. Me encantaría ver cómo usas Gulp para automatizar el trabajo en WordPress. Si tiene alguna pregunta o sugerencia, házmelo saber en la sección de comentarios.

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
Desarrollador back y front end
Desarrollo aplicaciones enfocadas en las personas, presentando soluciones innovadoras que satisfagan y cumplan los requerimientos de nuestros clientes. En IDA trabajo para que internet sea mucho más amigable y fácil de usar, promoviendo las interfaces simples sin olvidar la buena codificación.
PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5
PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Comentarios

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

PrimariaNiños Y Repasa Aprende 6 7 Inglés Años uFc3TKl1J5

Repeat “en Nivel Lección La 1 Habitación”inglés 22Clip 76gbYyvf