¿Drupal limita para un desarrollador de backend?

En absoluto, lo encuentro liberador debido a que ahorro tiempo en todo lo pequeño que Drupal hace por mí. A veces tienes que dedicar un tiempo a trabajar porque no funciona bien, pero la mayoría de las veces simplemente funciona.

Con el tiempo ahorrado, la funcionalidad básica y el marco, puede concentrarse en construir algo, en lugar de reconstruir cosas estándar.

Ahora en sus detalles (que acabo de encontrar en el comentario):

Ciclos de liberación

Después de haber trabajado con Drupal durante más de 4 años, me pareció bastante estándar tener algunos módulos que descansan en alfa / beta para siempre, esto no significa que esos módulos no estén en un estado utilizable, pero el responsable no se sentía lo suficientemente seguro para lanzar una versión estable todavía. Creo que esto es mucho mejor que terminar con números de versión> 10-20 para un módulo estable.

Control de versiones

Puede exportar casi toda la configuración utilizando las características [1]. Las características crean módulos de configuración con estructuras exportadas que permiten diff, VCS, etc. Sin embargo, todavía es difícil resolver conflictos en commits. Tenlo en cuenta.

Para todo lo demás hay ganchos de actualización [2], que le permiten escribir código, lo que le otorga un poder infinito.

Temática

Para vistas generales, puede anular todas las plantillas disponibles de las pantallas estándar según sus necesidades (hay algunas, pero no demasiadas), lo que le da un aspecto general. Fences [3] es un enfoque para reescribir todos los resultados y tener una interfaz de usuario de configuración, lo probé un par de veces, pero me pareció mejor buscar plantillas personalizadas.

En general, en realidad sigo un enfoque diferente sobre ellos juntos. Tiendo a usar modos de visualización y entidades renderizadas, lo que me permite tener plantillas reutilizables para entidades, por lo que creo mi salida de vistas utilizando entidades renderizadas que tienen un modo de visualización para listados pequeños, listados grandes, tablas, artículos destacados, etc. Tenga en cuenta Sin embargo, el rendimiento llegó a los listados grandes, ya que todas las entidades se cargarán por completo. Sin embargo, tener caché en su lugar, listados “cortos” y consultas de rendimiento no debería ser un gran problema.

Espero que esto ayude.

Notas al pie

[1] Características | Drupal.org

[2] hook_update_N | system.api.php | Drupal 7 | API de Drupal

[3] Cercas | Drupal.org

Creo que eso depende. En teoría no realmente. Como puede escribir PHP arbitrario e invocarlo desde un enrutador de menú, en teoría puede hacer lo que quiera. Puede almacenar todo lo que desee en sus propias tablas, ignorar la interfaz de usuario, diablos, puede usar su propio ORM si realmente lo desea. Puede obtener acceso temprano a la solicitud a través de hook_boot y hacer … casi cualquier cosa que desee.

En realidad, pensó, generalmente está más limitado. Después de todo, ¿por qué tener un CMS / framework si no lo vas a usar? Sí, puede escribir sus propias consultas en lugar de usar Views o EntityFieldQueries, pero esa no es la Drupal Way ™. En su lugar, podría almacenar cosas en su propio mecanismo si usa entidades, pero luego pierde toda la funcionalidad de la API de campo.

Para obtener la capacidad de ampliación de la plataforma, los resultados de innumerables horas de trabajo del desarrollador en core y contrib requieren algunos rieles. Significa que algunas cosas se vuelven más difíciles de hacer para preservar su ruta de actualización / extensión.

Creo que cualquier CMS podría necesitar hacerlo a su manera. Debe pensar si drupal es el CMS con las características que necesita y si se compromete a aprenderlo.

Recuerde que ahora hay una nueva versión de drupal (drupal 8) con una nueva forma de programar módulos con una forma orientada a objetos para crearlo. tal vez sea una buena manera de comenzar si este es el tipo de programación que te gusta.

More Interesting

Me ofrecieron un trabajo de ingeniería de software con opciones de hacer trabajos de backend o Android. ¿En cuál debería centrarme?

¿Debo continuar con JavaScript o saltar a Python?

Soy el único desarrollador de back-end de una startup web. ¿Cuánta seguridad debo saber?

¿El concepto / técnica de desarrollo de Flux encajaría en el desarrollo de back-end? ¿Puede reemplazar MVC?

¿Por qué hay una necesidad de un lenguaje front-end y back-end?

¿Qué es el desarrollo web real? ¿Alguien puede explicarme brevemente sobre todos los idiomas de back-end y front-end? ¿Qué idiomas se utilizan en front-end y back-end? ¿Cuáles son los usos y cómo puedo aprenderlos y en qué secuencia?

Cómo hacer una aplicación Java que use una base de datos en el back-end

¿Con qué trata un desarrollador web front-end?

¿Cómo usan los desarrolladores back-end C ++?

Cómo evitar que los empleados de hosting roben mi código

¿Cuáles son las razones por las que uno elegiría sumergirse en el desarrollo de iOS en lugar del desarrollo web front-end o backend? (Estoy pensando en un cambio de carrera)

¿Para cuál hay más demanda en el desarrollo de sitios web: front-end o back-end?

¿Cómo combinar front-end con el lenguaje de programación de servicios de fondo

Además de crear una API y su implementación, ¿cuál es el conocimiento más importante que necesita saber para convertirse en un desarrollador de back-end?

¿Es posible usar un mismo código de servidor de servidor web para el sitio web y la aplicación móvil sin REST?