Uso de herramientas para el desarrollo de WordPress de calidad

Crear herramientas, temas, complementos y aplicaciones en WordPress requiere una variedad de cosas diferentes si queremos asegurarnos de que estamos armados con las mejores herramientas posibles necesarias..

Si fuera a preguntar, por ejemplo, a 10 personas diferentes qué herramientas prefieren, no solo obtendría una amplia gama de respuestas, desde IDE a aplicaciones de administración de dependencias para crear herramientas, sino que también brindaría una variedad de respuestas diferentes. , todos los cuales proporcionan una funcionalidad similar en cuanto a lo que puede necesitar.

Por ejemplo, algunas de las cosas que puedes leer incluyen:

  • Gruñido
  • Cenador
  • Compositor 
  • CodeKit
  • JSLint
  • … y más

Esto ni siquiera aparece en la superficie de temas como servidores web, sistemas de bases de datos y versiones de PHP. Todos estos son temas importantes que deben ser discutidos, pero en su propio post.

Cuando se trabaja con WordPress, algunos de los aspectos no negociables relacionados con la realización eficiente del trabajo incluyen lo siguiente:

  1. Un IDE
  2. Un depurador
  3. Codificación y Minificación de Código
  4. Control de versiones
  5. Herramientas de implementación

Como con la mayoría de las cosas, los desarrolladores tienen sus opciones particulares en cuanto a las herramientas que disfrutan usar y por qué disfrutan usándolas..

En este artículo, voy a compartir algunas de las herramientas que prefiero usar y que he encontrado útiles en mis esfuerzos de desarrollo profesional de WordPress; Sin embargo, me gustaría aclarar que esta no es una lista definitiva de qué herramientas debería estar usando.

En su lugar, piense en esto como una guía de ejemplos sobre lo que constituyen herramientas de calidad para el desarrollo de calidad. Si estás contento con el conjunto de herramientas que usas, ¡genial! Pero si está buscando algo que pueda ayudarlo a realizar su trabajo de una manera más eficiente, tal vez esto lo ayude a establecer el camino correcto..

Antes de comenzar, quiero compartir que uso OS X, por lo que muchas de mis recomendaciones se basarán en esa plataforma. Sin embargo, muchas de las aplicaciones que utilizo tienen homólogas de Windows y Linux, así como herramientas que son de código abierto y están disponibles en varias plataformas..

1. IDEs

Tener un IDE para escribir código es esencial. Claro, algunos desarrolladores prefieren algo tan simple como TextEdit o Notepad ++. ¡Más poder para ellos! Pero si está buscando algo con resaltado de sintaxis, finalización de código, compatibilidad con complementos, integración S / FTP e incluso integración de control de versión, entonces hay una variedad de herramientas disponibles.

Personalmente, mi IDE de elección es Coda 2..

Este IDE particular genera opiniones mixtas en todos los ámbitos en el desarrollo de WordPress. Algunos prefieren Atom, otros prefieren Sublime Text, otros prefieren Vim, algunos prefieren PHPStorm y todos tienen sus puntos fuertes..

Personalmente, me gusta Coda 2 por el soporte continuo, las actualizaciones, las variaciones móviles de la aplicación y la apariencia general. Me gusta el progreso que han logrado con respecto a las plataformas de soporte como WordPress, y la capacidad de completar el código integrado es agradable.

Por supuesto, otros IDE ofrecen exactamente la misma funcionalidad; sin embargo, si opta por ir con Coda, aquí hay algunos complementos que prefiero para el desarrollo de WordPress. En ningún orden en particular:

  • Modo WordPress para Coda 2
  • PHP Docblock Generator
  • Blanco fuera

Por supuesto, hay muchos otros que puedes instalar, también.

En cuanto a otros IDE que recomiende, asegúrese de consultar la conclusión para ver cómo nos gustaría incorporarlos en el feed de comentarios de esta publicación en particular..

2. Depuradores

Una de las herramientas más poderosas en la caja de herramientas de cualquier desarrollador es el depurador. Para aquellos que no están familiarizados, esta pieza de software le permite supervisar qué está haciendo exactamente su código fuente cada vez que está ejecutando lo que está haciendo el programa durante el tiempo de ejecución..

Esto le da la capacidad de:

  • ver qué función está disparando
  • Ver los valores de las distintas variables.
  • paso sobre ciertas funciones que desea evitar
  • acceda a las funciones que desea ver (como las funciones básicas de WordPress)
  • … y mucho más

Muchos IDE, como PHPStorm, vienen con un depurador incorporado. Pero si opta por utilizar un IDE diferente que no incluya un depurador de forma nativa, le recomiendo mucho Codebug.

Es un depurador elegante y fácil de usar que le brinda toda la potencia de un depurador nativo pero en una aplicación independiente. Vale la pena el precio para agregar a tu arsenal.

Una advertencia: si es nuevo en la depuración y / o no está seguro de cómo funciona el sistema, asegúrese de leer la documentación. En realidad es relativamente fácil de aprender, pero tiene su curva de aprendizaje. 

Sin embargo, una vez que te hayas acostumbrado a usar un depurador, te preguntarás cómo has vivido sin él..

3. Herramientas de Linting y Minificación de Código

Code Linting y Minification Tools podrían ser dos temas separados pero, en estos días, van tan de la mano que pensé que valía la pena incluirlos juntos..

Linting

Primero, para aquellos que no están familiarizados, el linting es básicamente el proceso de asegurarse de que su código, en este caso, su código JavaScript, esté a la altura de un estándar en particular. Es decir, que no está utilizando ninguna mala práctica..

Según Wikipedia:

lint fue el nombre que originalmente se le dio a un programa en particular que marcó algunas construcciones sospechosas y no portátiles (que probablemente sean errores) en el código fuente del lenguaje C. El término ahora se aplica de forma genérica a herramientas que marcan el uso sospechoso en software escrito en cualquier lenguaje informático.

En nuestro caso, tenemos herramientas como JSLint y JSHint que nos permiten hacer exactamente eso con nuestro código JavaScript..

Definitivamente, también puede encontrar linters para otros idiomas, pero podría decirse que el caso más común en el que encontrará linting en WordPress es con respecto a JavaScript. También puede encontrar esto integrado en cualquiera de las herramientas de compilación mencionadas al principio de este artículo..

Minificación

Minificación se refiere al proceso de tomar un lenguaje, ya sea CSS, Sass, LESS, JavaScript, etc., y luego eliminar todo el espacio en blanco, nombres largos de variables, etc., en un archivo más compacto..

La idea no es crear código confuso, sino crear archivos ligeros a los que pueda servir el navegador en un entorno de producción para que su sitio se cargue más rápido porque tiene menos que descargar..

También existe la noción de concatenación que excede el alcance de este artículo, pero la idea detrás de la concatenación es que todos los scripts y hojas de estilo minificados se combinarán en un solo archivo, de modo que el navegador solo necesite realizar dos solicitudes, una para cada archivo..

En cualquier caso, todas las herramientas mencionadas anteriormente también se ocuparán de proporcionar la minificación (y concatenación) de sus scripts y estilos y los publicarán en el directorio que elija..

4. Control de versiones

Siempre que esté trabajando en una base de código, independientemente de que sea con usted mismo o con un equipo, siempre es útil asegurarse de mantener versiones coherentes de su software..

En resumen, el control de versiones es una forma en la que puede enviar su código a un repositorio tal que, a medida que usted o sus compañeros de equipo hagan cambios, las últimas versiones del código se mantengan de tal manera que pueda ver un historial de lo que ha sido hecho y que puede revertir a algún punto de la línea de tiempo si algo sale mal.

En términos de qué El software es mejor para el control de versiones, existen herramientas como Subversion, Git y Mercurial..

Si está acostumbrado a trabajar dentro de la economía de WordPress, entonces es más probable que esté familiarizado con Subversion, ya que es lo que el núcleo utiliza para mantener los cambios que se están introduciendo en el sistema..

De manera similar, si alguna vez ha creado y lanzado un complemento, entonces ha tenido que trabajar con Subversion para confirmar su código, etiquetar su lanzamiento, etc..

Pero Git se está volviendo más y más popular. Podría decirse que los dos sitios más populares para Git hosting son GitHub y Bitbucket. De todos modos, si estás buscando un cliente Git sólido, te recomiendo Tower 2.

Aunque es mi cliente de elección, hay mucho de otras alternativas. En última instancia, el punto es asegurarse de que está agregando su código al control de código fuente, que está trabajando con un cliente que ama y, si es posible, lo tiene conectado a un sistema de implementación tal que cada vez que Presiona una característica o requisito particular, el entorno que el cliente usa para revisar el producto se actualiza con el nuevo código..

5. Herramientas de implementación

Siempre que esté trabajando en la construcción de un proyecto de WordPress, o cualquier proyecto de software, en este caso, el flujo de trabajo estándar y de alto nivel que todos seguimos es:

  • Un entorno de desarrollo en el que tenemos una máquina local donde hacemos nuestro desarrollo.
  • Un entorno de prueba en el que implementamos nuestro código para que los clientes puedan trabajar en el proyecto mientras trabajamos en nuestros requisitos..
  • Y luego el entorno de producción, que es donde se implementa el proyecto final.

En este momento, no es infrecuente tener un sistema de implementación conectado a su software de administración de código fuente, de modo que cada vez que se realice una nueva actualización en el repositorio de código fuente, se lanzará la última versión del proyecto..

Afortunadamente, hay una serie de excelentes herramientas disponibles para configurar implementaciones automatizadas.

Codigo

Codeship se posiciona a sí mismo como un servicio para la integración continua que puede ejecutar los scripts necesarios para compilar, probar y desplegar su proyecto, todo dentro de un compromiso Git..

Esto significa que puede ejecutar una serie de scripts para disparar durante la implementación y recibir notificaciones antes de distribuir algo a producción..

Dependiendo del tamaño de su equipo y / o su proyecto, Codeship es una buena solución, especialmente para organizaciones más grandes que están compuestas por propietarios, gerentes, gerentes de proyectos, etc..

Dicho esto, yo personalmente he usado esta herramienta en un equipo de dos personas y estoy satisfecho con los resultados.

DeployBot

DeployBot fue nombrado anteriormente Dploy.io. De manera similar a Codeship, DeployBot tiene como objetivo tomar el código fuente comprometido en un repositorio Git y desplegarlo en un entorno de su elección..

También tiene la capacidad de ejecutar scripts, compilar y compilar código, e implementarlo en diferentes entornos según la configuración que haya proporcionado..

Naturalmente, estas no son todas las herramientas de implementación que están disponibles, pero estas son dos que es probable que encuentre al trabajar en una capacidad de software profesional. Cada uno de ellos ofrece sus propios conjuntos de ventajas y desventajas para lo que está tratando de hacer; Sin embargo, dado que este no es un artículo de revisión o comparación, le dejaré ese ejercicio para que determine cuál es el mejor para su flujo de trabajo..

Conclusión

Como se mencionó en la introducción, estas herramientas no son más que recomendaciones para comenzar con algunas herramientas para el desarrollo de WordPress. Sé que muchos de ustedes tienen sus propias preferencias en cuanto a lo que les gusta usar para cada uno de los criterios anteriores.

Dicho esto, me encantaría que todos ustedes compartan cuáles son sus herramientas preferidas y por qué disfrutan usándolas en los comentarios. De esta manera, los lectores actuales y futuros no solo tendrán una publicación con recomendaciones, sino también comentarios que brinden alternativas..

Después de todo, el desarrollo no se trata solo de resolver problemas. Se trata de encontrar herramientas con las que también es un placer trabajar durante las aproximadamente ocho horas diarias que estamos gastando en una computadora..