Saltar al contenido

¿Qué se necesita para ser un Desarrollador de WordPress?

11 agosto, 2018
¿Qué se necesita para ser un Desarrollador de WordPress?
Follow
( 0 Followers )
X

Follow

E-mail : *

Aprender el desarrollo de WordPress puede parecer una cosa desalentadora, pero todo se reduce a empezar. Tiene tres componentes principales: el núcleo, los temas y los plugins.

El código central contiene todas las funcionalidades por defecto que componen el sistema de gestión de contenidos de WordPress. Esto incluye todo, desde el backend de administración hasta funciones como la programación de mensajes, la comprobación de la seguridad de la contraseña, la creación de usuarios, etc.

Mientras que el núcleo es responsable del backend de un sitio web y de cómo funciona, los temas son responsables del front-end y de cómo se ve y se siente el sitio web. Utilizamos el administrador de WordPress para crear mensajes, páginas y otros contenidos del sitio, pero la forma exacta en que nuestros mensajes y páginas se muestran a los visitantes está a la altura del tema. Esto le da un poder considerable sobre su sitio web. Es posible que desee instalar y activar temas predefinidos o salir de la caja completamente y seguir su propio camino con diseños personalizados.

La forma más sencilla de describir los plugins es que proporcionan funcionalidad adicional a WordPress. Para que esto suceda, un plugin puede modificar el backend y/o el front-end de un sitio web. Un buen ejemplo es un plugin que agrega un botón Tweet para Twitter. Probablemente crearía una nueva página de configuración en el menú de administración del servicio de fondo donde podría configurar algunas opciones predeterminadas para el tweet de un usuario y también se añadiría al front-end de un sitio web, lo más probable es que se muestre debajo de un mensaje.

Áreas de desarrollo
En cuanto al desarrollo de WordPress, puede desarrollar cualquiera de los tres componentes principales anteriores, además de aplicaciones independientes con la ayuda de la nueva API de REST, pero más sobre eso en un momento.

Independientemente de lo que quieras hacer con WordPress, te recomendaría que siguieras un camino establecido en tus estudios. La siguiente lista le ayudará a familiarizarse con los sistemas que necesita saber antes de aprender más sobre su área de elección:

  • Temas
  • Plugins
  • API REST
  • Núcleo

Temas
Aprender cómo funcionan los temas y cómo desarrollarlos le permitirá crear sitios web y crear sitios web de una sola página, sitios web dinámicos con mucho contenido y todo lo demás. También le permitirá mejorar/más trabajo del cliente (si eso es lo que usted está interesado en perseguir) o incluso entrar en el negocio de la venta del tema.

Hay muchos autores de temas exitosos en mercados como Themeforest y Mojo Marketplace, entre otros.

En el momento de escribir esto, el tema más popular en Themeforest vendió 1.377 la semana pasada – que es más de $ 81.000 en sólo una semana! Eso es mucho dinero si puedes desarrollar el tema perfecto.

Aunque no todos los desarrolladores de temas ganan mucho dinero, y puede que no te conviertas en un multimillonario de la noche a la mañana en la construcción de temas, todavía puedes ganarte la vida con los temas si haces las cosas bien.

Si quieres ver algunos buenos ejemplos de temas, echa un vistazo a los mercados que mencioné anteriormente, o echa un vistazo al Directorio Temático de WordPress donde todo es gratis. Muchos desarrolladores de temas por primera vez también publican su trabajo en el directorio.

Plugins
En cierto modo, los plugins son el alma de WordPress, transformándolo en todo, desde un foro hasta una red social, plataformas de comercio electrónico y mucho más con sólo pulsar un botón. Los plugins te dan control total sobre todos los aspectos del sistema WordPress, permitiéndote modificar lo que quieras. Esto puede ser de gran ayuda para hacer que WordPress sea una etiqueta blanca para los clientes, añadiendo esa pequeña función que siempre necesitas; hacer que WordPress sea tuya.

Los mercados de plugins también existen y generalmente son propiedad de algunas de las mismas compañías que también administran mercados temáticos. CodeCanyon es, con mucho, el más grande con más de 4.000 plugins disponibles para comprar. Las ventas tienden a ser más bajas que con los temas, pero si encuentras el nicho adecuado puede ser muy rentable.

WordPress también tiene un directorio de plugins gratuito con más de 40.000 plugins. Es una gran fuente de herramientas, inspiración, y ejemplos de gran código (y también de mal código, lamentablemente).

API REST
El uso de la API REST llegará un poco más tarde en su carrera cuando haya dominado los temas y el desarrollo de plugins, aunque teóricamente puede ser capaz de utilizarlo si conoce otro lenguaje bastante bien, como Java o Ruby.

La API REST es relativamente nueva y le permite crear aplicaciones reales basadas en WordPress. Esto incluye aplicaciones para iPhone y Android y todo tipo de cosas locas como aplicaciones de TV, incluso, si usted sabe algunos otros lenguajes de programación.

La mejor manera de explicar esta característica es compararla con algo como Twitter o Instagram. No hay duda de que has visto la fuente de Twitter de alguien que aparece en su sitio web. Para añadir estas características a tu propio sitio, no necesitas saber cómo funciona el código central de Twitter, todo lo que necesitas es un poco de código que diga: por favor, recupera mis últimos cinco tweets. Twitter maneja la recuperación real, escupiendo los datos de los cinco tweets que pediste. A continuación, puede utilizar HTML y CSS para visualizar esos datos.

Esto es exactamente lo que la API REST hace para WordPress. Puedes conectarte a cualquier sitio web y pedirle tus últimas cinco entradas. Pero puedes hacer mucho más que eso: puedes borrar usuarios, crear usuarios, editar categorías y mucho más (lo que necesitas para autenticarte, por supuesto). Esto significa que puedes usar WordPress como un repositorio de información y construir el front-end y/o el backend usando un sistema completamente diferente.

Núcleo
WordPress es desarrollado por una comunidad de miles de voluntarios en todo el mundo. Un total de 471 personas trabajaron en WordPress 4.4, y muchas más trabajan en otros aspectos de WordPress, desde traducciones y aplicaciones móviles hasta accesibilidad y soporte.

De hecho, podrías involucrarte ahora mismo. Aunque necesitas tener un poco de experiencia para contribuir código al núcleo de WordPress, puedes empezar a identificar errores, verificarlos y enviar ideas en cualquier momento usando el WordPress Trac, el lugar a seguir junto con el desarrollo del código central de WordPress.

Si has encontrado un error, puedes adjuntar el código que se deshace de él. Después de una buena cantidad de revisión e investigación, su código será utilizado si todo se comprueba. Esta es la mejor manera de involucrarse contribuyendo al desarrollo básico.

Desarrollo de WordPress: Lo que necesita aprender

Hay un conjunto bien definido de herramientas con las que necesitas estar familiarizado para comenzar con el desarrollo de WordPress. Para cualquier buen desarrollador, sin embargo, el proceso de aprendizaje nunca termina. Te presentaré el paquete inicial aquí mismo y también algunas de las herramientas más avanzadas con las que te puedas topar eventualmente a medida que aprendas más.

El mínimo absoluto con el que tendrá que sentirse cómodo es: HTML, CSS y PHP. Además de estos lenguajes, eventualmente querrá aprender JavaScript y MySQL en algún momento. Cuando tengas un buen conocimiento de estos lenguajes, podrás pasar a cosas como LESS/SASS, Coffeescript, XML, JSON, etc. Ninguno de estos lenguajes son esenciales para el desarrollo de WordPress, pero conocerlos ampliará tus horizontes y/o hará tu vida como desarrollador mucho más fácil.

HTML y CSS
Los dos primeros idiomas que debe aprender son HTML y CSS. No importa el código que escribas, no importa el lenguaje que utilices, todo eventualmente se reduce a HTML cuando envías páginas web a un usuario, y muy probablemente algún CSS estilizó esa página.

HTML es responsable de dar estructura a los sitios web. En un nivel básico, esto significa que estarás decidiendo qué texto debe ser un encabezado, qué debe ser una lista, qué va en la barra lateral y qué hay en el encabezado y el pie de página. En un nivel más profundo, usted está tomando decisiones importantes de SEO y optimización. Sin embargo, no te preocupes por eso por ahora, ya que lo más importante es familiarizarse con la sintaxis.

CSS se utiliza para aplicar estilos a su estructura HTML. Definirás el color del texto, los enlaces, el espacio entre párrafos, la alineación de la imagen, los colores de los bordes, las propiedades de flotación, el grosor de los bordes y otros elementos utilizando código CSS. CSS es extremadamente fácil de aprender pero muy difícil de dominar.

PHP
PHP es un lenguaje de scripting muy popular en el lado del servidor y, según el servicio de encuestas de tecnología web W3Techs, se utiliza en el 81,6% de todos los sitios web donde se conoce el lenguaje. PHP es el lenguaje WordPress (y la mayoría de los otros sistemas de gestión de contenidos) se basan en y, como tal, un conocimiento profundo de PHP es esencial para el desarrollo de WordPress.

Sólo por conocer PHP, obtendrá más que sólo el conocimiento de código para WordPress. Aprender cualquier lenguaje del lado del servidor le dará una idea de cómo funciona la programación, y le otorgará un tipo especial de lógica, que puede utilizar para resolver todo tipo de problemas dentro y fuera de línea.

Un lenguaje del lado del servidor difiere de un lenguaje del lado del cliente – como HTML – en que se procesa primero en el servidor. En HTML, usted podría escribir código para Good Morning y ese HTML sería enviado a los navegadores como está donde sus visitantes verían “Good Morning” desplegado.

En un lenguaje del lado del servidor, podría escribir código para algo como[time_of_day]. y antes de que ese comando sea enviado al usuario, el servidor lo procesaría y averiguaría qué poner en lugar de[time_of_day]. Dependiendo de la hora del día a la que acceda al sitio, podrá ver “Buenos días” o “Buenas noches”. Tenga en cuenta que los datos que su navegador recibe siguen estando en HTML, pero han sido procesados en el servidor de antemano. Además, tenga en cuenta que el código anterior no es código PHP real, es sólo un ejemplo para mostrarle la lógica.

W3Schools también proporciona un fantástico tutorial de PHP. Vamos a ver los fundamentos de la programación PHP en el segundo tutorial de esta serie, pero vale la pena repasar sus habilidades para llegar a ser competente.

Como con todos los lenguajes de programación, es la práctica lo que hará que las cosas se asimilen y te ayudarán a mejorar. Usted podría aprender casi todo PHP en un par de días, pero aún así no tendría idea de lo que está haciendo – necesita probar las cosas, desordenar, no entender lo que está pasando. En general, ¡sigue con ello! Como dicen, la práctica hace la perfección.

Javascript
El papel de JavaScript en la web es cada vez mayor, especialmente con herramientas basadas en JavaScript que aparecen, como Node y Angular.

JavaScript se utiliza normalmente para añadir funcionalidad dinámica a los sitios web y para la carga asíncrona.

Permítanme darles un ejemplo de ambos.

Si desea que un formulario esté completamente oculto pero se desvanezca dentro de un lightbox cuando el usuario hace clic en un botón, puede utilizar JavaScript, ya que puede manejar la animación y tal vez otras funciones, como comprobar que el formulario se rellena correctamente antes de ser enviado.

La carga asíncrona se realiza a través de un mecanismo llamado AJAX. AJAX puede utilizarse para recuperar información del servidor y luego mostrarla sin recargar la página. Un buen ejemplo es el desplazamiento sin fin en el que se cargan los primeros 10 mensajes y cuando te acercas a la parte inferior de la página se recuperan los siguientes 10 mensajes y se añaden al conjunto actual.

En noviembre, Automattic lanzó Calypso, una aplicación de escritorio que permite a los usuarios administrar sitios web con WordPress.com y Jetpack. Escrito puramente en JavaScript, y aprovechando librerías como Node y React, Calypso señala un cambio potencial de la dependencia de WordPress en PHP. Como tal, el cofundador de WordPress ha animado a los desarrolladores a “Aprender JavaScript, profundamente”.

Un buen lugar para empezar a aprender JavaScript es, de nuevo, W3Schools. No exploraremos Javascript en esta serie para principiantes, pero vale la pena aprender, ya que conocer este lenguaje será esencial para los desarrolladores de WordPress en los próximos años.

Muchos desarrolladores aprenden primero JavaScript a través del popular marco de trabajo jQuery. Se utiliza ampliamente en WordPress y en millones de proyectos en la web. Aunque esto está muy bien, tenga en cuenta que JavaScript es más que jQuery, y aprender JavaScript por sí solo también es una buena idea.

MySQL
MySQL es un lenguaje utilizado para acceder y trabajar con datos en una base de datos. WordPress lo usa mucho para recuperar todos sus datos, pero como desarrollador, no lo necesitarás demasiado porque WordPress tiene su propio conjunto de funciones de ayuda. En algunos casos especiales, puede que necesite escribir su propia consulta de base de datos o puede que desee optimizar algo para su propio sitio, por lo que es útil tener un conocimiento básico de MySQL.

Trabajar con bases de datos es bastante sencillo. Una tabla en una base de datos es muy similar a una hoja de cálculo de Microsoft Excel. Cada columna tiene un título y los datos se almacenan en filas. MySQL se utiliza para añadir, borrar, modificar y recuperar datos. Es posible que desee escribir una consulta MySQL que devuelva todos los mensajes que contengan la palabra “impresionante” y tengan más de ocho comentarios. También puedes encontrar a todos los usuarios que se llamen “Daniel”. También puede utilizar MySQL para calcular la suma de todas sus vistas de publicidad o encontrar el anuncio más popular en su red, por ejemplo.

Una vez más, escribir código MySQL sin procesar en WordPress es raro, pero sucede y entender cómo funciona el lenguaje te ayudará a escribir mejor código en general. Vaya a W3Schools para su tutorial de SQL.

Herramientas avanzadas
Una vez que esté familiarizado con al menos los tres lenguajes esenciales – HTML, CSS y PHP – puede comenzar a explorar varias herramientas de ayuda. Una de las primeras cosas que la gente tiende a aprender es LESS y/o SASS. Ambos son superconjuntos de CSS, lo que significa que todos los códigos CSS válidos son códigos LESS y SASS válidos. Lo que ambos lenguajes añaden es la capacidad de usar variables, funciones y otras construcciones en CSS, lo que no es posible por defecto.

Construir herramientas es algo que también querrá explorar en algún momento. Los mejores son Gulp y Grunt. Éstos pueden supervisar los ficheros en busca de cambios y ejecutar varias tareas cuando se cumplen los requisitos. Por ejemplo, cada vez que cambie un archivo SASS, podrá compilarlo automáticamente en CSS y guardarlo en un archivo específico. Las imágenes pueden ser optimizadas, los archivos concatenados, los paquetes externos descargados y todo tipo de tareas útiles pueden ser realizadas con estas herramientas.

La línea de comandos, o terminal, es algo que también debería echar un vistazo. Sí, usar la línea de comandos puede parecer aterrador, pero en realidad no lo es – sólo con escribir unos pocos comandos puede ahorrarle mucho tiempo. Un simple script y una herramienta llamada WP-CLI pueden instalar WordPress en pocos segundos, incluyendo la instalación de temas, plugins y contenido de prueba, mientras que hacerlo manualmente toma mucho más tiempo e implica mucho más esfuerzo.

El control de versiones es otra de esas herramientas extremadamente útiles que no sabes que necesitas hasta que lo pruebas. Originalmente fue diseñado para trabajar con el mismo código en equipos, pero puede ser usado como una solución para gestionar proyectos, errores y hacer copias de seguridad al mismo tiempo. SVN y Git son los contendientes más populares. Git gana esta ronda conmigo debido a su flujo de trabajo ligeramente mejor y a Github, que proporciona un servicio de alojamiento de repositorios Git basado en web.

×