6 pasos para nuevos desarrolladores en drupal 8

imagen

Esta es una traducción del artículo en inglés: 6 steps for new Drupal 8 developers escrito por Danny Sipos en su sitio web webomelette.com gracias por permitir su traducción!

Así que estas tomando el paso en aprender Drupal 8 con el propósito de desarrollar sitios web, módulos, temas, etc. Eres un gran desarrollado de drupal 7, familiarizado con muchos drupalismos pero no tienes mucha experiencia con modernos frameworks de php, principios y practicas. Bueno Drupal 8 todavía incluye muchos de los viejos drupalismos, pero intenta mantenerse en línea con los tiempos y modernizarse.

En este articulo quiero exponer 6 pasos que creo debes tomar para empezar a aprender como desarrollar módulos a la medida y temas en Drupal8. Encima de estos 6 pasos es posible construir todo lo demás.

Los tres primeros están relacionados con PHP de una manera más general, mientras que los tres últimos se enfocan más a aspectos de drupal 8.

1-. Aprende programación orientada a objetos.
Una de las mayores diferencias entre drupal 7 y 8 para los desarrolladores es el modo que el código esta escrito. Sigue siento PHP pero es ahora más orientado a objetos.  Funciones procesales globales están todavía en su lugar, pero la mayor parte de la lógica ahora ocurre en las clases.

En el caso que no tengas experiencia con la programación orientada a objetos en PHP, esto es lo primero que debes aprender. o ponerte al día (dependiendo de tu nivel). Hay muchos recursos disponibles por ahí, todos dispersos como hipervínculos en esta sección. También hay cursos que puede tomar, tanto gratuitos como de pago.


Sin una solida base en OOP no podrás entender mucho de como están construidos los módulos en Drupal 8.

2. Aprende como usar Composer
Una de las consecuencias de modernizar PHP ha sido la introducción de Composer, Gestor de paquetes. Los proyectos ya no soy construidos sin el, y a que hace un gran trabajo de instalar, actualizar, y manejar en general las librerías externas y dependencias de tu proyecto.  Por no hablar de su gran ayuda como cargador automático.

Drupal 8 usa Composer para manejar Librerías estrenas de PHP y dependencias (como componentes de Symfony, Guzzle, etc) y existe una platica sobre la capacidad de manejar también módulos contrib. Así que asegúrete de que sabe cómo funciona Composer e incluso empezar a usarlo en proyectos fuera de Drupal.

3- Familiarizarse con Symfony
Uno de los principales puntos de contención (en ese entonces) en el ciclo de desarrollo de Drupal 8 fue la introducción de componentes de Symfony. Algunas personas realmente no están de acuerdo con este gran cambio en Drupal, pero otros lo abrazaron de todo corazón. Yo estoy en el último grupo que amo Symfony y lo utilizó incluso antes de desarrollar cualquier cosa en Drupal 8.


A los desarrolladores de Drupal 7 a menudo se les dice que el conocimiento de Symfony no es necesario para desarrollar en Drupal 8. Si bien técnicamente es cierto, se termina aprendiendo mucho de él a través de la experiencia con Drupal. Dicho esto, recomiendo aprender un poco de Symfony antes. Es un gran framework modular y conocer sus conceptos realmente te ayudará en la comprensión de cómo Drupal 8 está construido (para los componentes que utiliza quiero decir).

Una vez que puedas construir un sitio web pequeño en Symfony, disfrutarás desarrollando en Drupal 8 muchos conceptos serán similares una gran parte del tiempo. Sin mencionar que puedes utilizar Symfony para construir aplicaciones por sí mismo.

4. Enrutamiento y controladores
Como en Drupal 7, cuando empiezas a aprender Drupal 8 necesitas crear el obligatorio módulo hello world  (creando una pagina con parámetros en el URL (usually world) que despliega el texto Hello + parameter) Este ejemplo te introduce a varias cosas importantes:

    •    Estructura del módulo
    •     Enrutamiento ( no más  hook_menu) a través de archivos routing.yml que mapean los métodos del controlador.
    •    Clases del controlador que tienen varios métodos que pueden ser mapeados a rutas.
    •    Acceder a argumentos para esas rutas.
    •    Renderear las etiquetas de la pagina dentro de los métodos de Controlador

Recomiendo crear uno para aprender más.

5. Plugins
Otro concepto con el que tienes que familiarizarte es el de los plugins. Admitamoslo, no es el más sencillo de entender, pero es súper importante por que esta por todos lados. No hay que preocuparse, no es ciencia de cohetes. Muchas viejas  implementaciones de Drupal 7 de diversos conceptos se han transformado en los plugins: info hooks, blocks, field formatters, views handlers, etc.  por lo tanto Entender plugins es muy importante para poder extender la funcionalidad por defecto de Drupal.


6- La inyección de dependencia y el contenedor de servicios
El ultimo paso que mencionare es la inyección de dependencias. Drupal 8 usa el contenedor de inyección de dependencias Symfony para gestionar instancias de servicio y la inyección en las clases que los necesitan. Esto ayuda a desacoplar la funcionalidad y aumenta la capacidad de prueba.

Sin embargo, muchas personas tienen miedo de este concepto, sobre todo porque no lo comprenden, Pero definitivamente debes aprender lo que significa. por qué la usamos y cómo lo usamos. Debido a que es un concepto muy simple que se utiliza todo el tiempo en la Programación por procedimientos.

Ya puedes encontrar muchos tutoriales por ahí en Drupal 8 que cargan los servicios de forma estática a través de la clase \ Drupal. Es mucho más rápido que escribir para que la gente (yo incluido) prefiero al escribir sobre D8. Por lo general también tiendo a hacer una nota que se prefiere el uso de la inyección de dependencia en estos casos.

No entender lo que el contenedor de servicios y la inyección de dependencia hará que fácilmente caigas en el hábito de solicitar solamente de modo pasivo los servicios y acoplar su código como si fuera de procedimiento. Una vez que tengas claro este punto, esto esperemos que no suceda más y la vista de un \ Drupal :: get ('some_service') te hará pensar dos veces.


Conclusiones
Ahí tienes lo que creo que son los primeros 6 pasos que debe seguir al aprender Drupal 8 por primera vez. Por supuesto que hay muchas otras cosas importantes por aprender y hacer, pero creo que estas son una base para construir. Por supuesto, este es mi escrito y otros pueden tener opiniones diferentes (muy bien recibida en los comentarios). Así que vamos a discutir.

Categorias
Versión

Como lo menciona la nota
Para "Aprender Drupal 8 con el propósito de desarrollar sitios web, módulos, temas, etc." y como vas a aprender utilizando los comandos para generar diferentes componentes de Drupal como modulo, temas, forms, plugins y tambien te puede ayudar a aprender drupal por que te permite debugear el sistema con comando para mostra listados de modulos, vistas, rutas, servicios, configuraciones, etc.

Vie, 11/09/2015 - 03:48 Enlace permanente

Añadir nuevo comentario

El contenido de este campo se mantiene privado y no se mostrará públicamente.

HTML Restringido

  • Etiquetas HTML permitidas: <a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • Saltos automáticos de líneas y de párrafos.
  • Las direcciones de correos electrónicos y páginas web se convierten en enlaces automáticamente.