visual - ¿Qué pierdo si uso Wordpress en lugar de un framework php para una aplicación web compleja pero "estándar"? ¿Vale la pena el intercambio?
wordpress para dummies pdf (3)
Es una pregunta bastante amplia, así que aquí hay una respuesta bastante amplia ...
Wordpress es un CMS. Es un CMS bueno y flexible con mucha bondad incorporada, pero su punto fuerte es la administración de un sitio que se trata principalmente de contenido, donde el contenido se define muy ampliamente como "palabras, imágenes y otros activos". El modelo de complemento le permite construir / usar funcionalidad adicional, y la amplia comunidad de usuarios proporciona mucha ayuda de estabilidad / seguridad / escalabilidad.
Code Igniter es un framework diseñado para aplicaciones web funcionales (en la práctica, esto generalmente significa aplicaciones basadas en bases de datos). Su punto dulce es la gestión de interacciones complejas con un dominio comercial. Es un marco para la construcción de cualquier tipo de aplicación (incluyendo, si fueras glotón de castigo, un CMS).
Si su dominio comercial se trata de contenido (y no creo que lo sea, según su descripción), Wordpress es un ganador obvio. En su caso, creo que probablemente podría construir la solución usando Wordpress, pero sería un caso real, y los beneficios que menciona de "seguridad, estabilidad, robustez" probablemente no apliquen, porque necesitaría construir mucho de código personalizado. Creo que llegaría muy rápido al "bueno, no es la forma en que Wordpress quiere que trabaje, sino para ofrecer esta característica, tengo que hacerlo así".
Cuando los usuarios comerciales dicen que quieren un CMS, generalmente no quieren decir que quieren Wordpress (o Drupal, o Sitecore, o Magnolia); quieren poder administrar su sitio sin tener que ir a los técnicos. Si su sitio está principalmente basado en bases de datos, eso significa pantallas para administrar los registros de la base de datos.
Sé que esto se ha preguntado mucho y he explorado las otras respuestas, pero todavía tengo preguntas, así que espero que esto arroje una nueva perspectiva sobre el debate.
Hace un año construí una aplicación web de programación de servicios desde cero en CodeIngniter con las siguientes funcionalidades:
- gestión de usuarios con diferentes roles y funcionalidades
- diferentes backends para cada usuario
- calendario interactivo y manejable para servicios de programación
- gestión y asignación del territorio
- gestión para el estado del servicio
- informes y registros
- facturación con authorize.net
- páginas informativas de front-end
Todas las cosas bastante estándar y codeIgniter funcionó muy bien. Ahora, un año después, estoy revisando el código. El cliente desea algunas características de administración diferentes, como un CMS para las páginas y agregar nuevos servicios y cambiar los puntos de precio de cálculo, etc. Necesito agregar nuevas clases y códigos para que esto funcione.
Durante el último año, me sumergí profundamente en Wordpress y me di cuenta de que podría haber construido toda esta aplicación en WordPress utilizando tipos de publicaciones personalizadas, taxonomías, campos personalizados y funcionalidad personalizada ampliada a través de un complemento personalizado. En muchos sentidos, esto parece que sería mejor.
Pros de usar Wordpress en lugar de php framework:
- base existente con CMS, administración de usuarios, backend familiar, estructura de base de datos para comenzar, ahorrando mucho tiempo de desarrollo
- seguridad constantemente actualizada
- estabilidad
- robustez (sé que Wordpress puede manejar esto a pesar de que su uso previsto es para blogs)
Razones para usar un marco:
- flexibilidad
- ORM
- MVC
- ¿otro?
Entonces ... ¿qué es mejor? ¿Realmente necesito ORM o MVC para este proyecto? Siento que mis esfuerzos de desarrollo y ux de cliente serían más fáciles si uso Wordpress.
¿Qué más puedo perder si cambio a WordPress?
¿Qué hay de combinar Wordpress en un marco, o viceversa? Recomendaciones?
¿Cuándo tiene sentido usar un framework en lugar de wordpress?
Se trata de estructura y función en mi opinión. Tanto CMS (Wordpress) como PHP Framework proporcionan estructura / funciones para construir sus propias funciones. Puede hacer las mismas cosas en CMS y Framework. No deberían tener mucha diferencia en rendimiento y seguridad entre Frameworks y CMS conocidos.
Sin embargo, CMS se enfoca en Front-end (¿contenido?), Brinda CSS listo para usar, Javascript (Front-end) para construir / administrar sitios web y aplicaciones basadas en web de manera fácil y rápida. Sin embargo, no está muy claro en la estructura en comparación con el modelo MVC.
Ambos harían el mismo trabajo si se desarrolla usted mismo, pero en un equipo, el marco podría proporcionar beneficios.
Es solo mi punto de vista, estoy usando mucho Wordpress y un poco de conocimiento sobre framework.
Utilizo CodeIgniter y mi sesgo es para eso porque ya construyó la mayor parte de su aplicación y porque parece más flexible / menos preconfigurado que Wordpress. También tengo la sensación de que CI está creciendo en uso en relación con WP con los desarrolladores, por lo que CI parece posiblemente más resistente al futuro, aunque para ser justos, ambos son populares.
¿Puedes aclarar que eres la exigencia de los jefes? La forma en que leo lo que dices es que estás al 80% del camino y luego consideras raspar (o al menos posiblemente tener que revisar en gran medida) ese 80% porque el otro 20% parece más lógicamente hecho en Wordpress.
A medida que aprendo más PHP, en realidad me estoy encontrando usando aún menos CI y escribiendo más directamente PHP o JavaScript (incluso mejor UX). Así que supongo que me sorprende escuchar que alguien quiere cambiar de un framework mínimo de PHP / ruby / Python a uno más pesado, ya que la mayor parte del trabajo está cambiando a JavaScript en estos días.
Otro punto clave para avanzar hacia PHP directo es que la cantidad de personas que conocen PHP empequeñece el número de personas que están familiarizadas con la sintaxis específica de CI o WP. Por lo tanto, es más probable que obtenga ayuda / colaboraciones / avance profesional centrándose en una base sólida en la "lengua materna" sobre estos dialectos minoritarios. Hacer esto con PHP también tiene la ventaja de ayudarme a entender otros lenguajes, como JavaScript, ya que el nivel de abstracción está en la misma página con php-ruby-python, mientras que un framework presenta una perspectiva completamente diferente (y en mi punto de vista creciente) , vocabulario extraño).