¿Wordpress puede ser reemplazado por un Framework como Django o Ruby on Rails?


Me considero un desarrollador de plantillas de WordPress bien entrenado, y recientemente comencé a leer libros y documentos sobre marcos de aplicaciones web, particularmente Django y Ruby on Rails. No sabía ninguno de los dos idiomas, pero no tengo problemas para aprender otro o dos. Realmente no obtengo los beneficios reales de usar un marco, porque me siento muy confiado sobre el poder de WordPress. Entonces, ¿alguien puede decirme los beneficios reales de usar un framework? Por ejemplo, Pinterest se hace usando Django, pero creo que puedo lograr los mismos resultados con una plantilla de WordPress usando Javascript y CSS3. ¿Puede alguien decirme las diferencias / beneficios de usar un framework en ese caso particular?

Author: scopchanov, 2012-12-13

6 answers

Puede lograr el mismo frontend con Wordpress, pero lo que no podrá lograr es la velocidad y la escala, y lo más importante, la capacidad de mantenimiento, de una aplicación basada en una arquitectura más orientada a las aplicaciones.

Wordpress es altamente flexible, pero también es lento, y necesita una gran cantidad de TLC para poder operar a cualquier tipo de escala significativa. Su diseño permite una modificación muy flexible del comportamiento en tiempo de ejecución, pero esto también es una caja de Pandora, ya que significa que el código puede terminar ejecutándose por todo el lugar para cualquier página dada, lo que hace que el mantenimiento sea una pesadilla.

Wordpress es extremadamente bueno para ser un CMS, pero una vez que comienzas a empujarlo fuera de esos límites, te metes en problemas y te encuentras teniendo que escribir tu propio marco más abstracto que se ejecuta dentro del contexto de Wordpress para poder satisfacer las necesidades de tu aplicación.

Dicho esto, si tiene una aplicación que puede compilar en el contexto de Wordpress, yo diría que ir a por ello! Wordpress puede ser una herramienta maravillosa para construir una prueba de concepto o MVP. Si te pone en marcha, entonces puede ser la elección correcta sobre escribir una aplicación completa. Sin embargo, solo tenga en cuenta que va a golpear algunas paredes de ladrillo a medida que el diseño de su producto madura y su audiencia crece, a menos que su aplicación se ajuste a un conjunto bastante estrecho de requisitos de diseño, por lo que a largo plazo, es posible que tenga que pasar a una costumbre aplicación.

Credenciales: He pasado el último par de años manteniendo una instalación de Wordpress que sirvió más de 25 millones de únicos mensuales, y tuvimos que ser muy inteligentes para mantenerlo funcionando. Desde entonces la hemos reemplazado por una aplicación Rails que sirve páginas en algún lugar del orden de 10x-30x más rápido, y es significativamente más extensible como una aplicación, lo que nos permite comenzar a explorar el potencial de aplicación que realmente no podíamos obtener con Wordpress.

 89
Author: Chris Heald,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-13 15:15:08

Quiero ofrecer una opinión disidente, a pesar de que voté a favor de la respuesta principal.

¿Rails es realmente especial?

Rails fue creado por David Hansson que lo extrajo de Basecamp, software que se replica en un plugin gratuito para Wordpress, WP Project Manager. Creo que es un buen indicador de que los desarrolladores de Rails están subestimando PHP y Wordpress.

MVC y WP

Verdadero, no sigue un patrón MVC. Pero si utilizas hooks, separa la lógica (en plugins) de las vistas (en plantillas), entonces tendrás una buena separación de código. (También sugerencia: los tipos de post personalizados son como modelos.)

Marco vs Aplicación

Como puede ver, Wordpress puede ser tratado como una aplicación o un marco. Es una aplicación, con todos los componentes que esperarías encontrar en un framework. Desde el primer momento, tiene seguridad, autenticación y extensibilidad. Y está destinado a ser extender.

Escalado

WP impulsa el 18% de los sitios web de Internet, incluidos TechCrunch, Smashing Magazine y (partes de) CNN. Parece que hay maneras de hacer escala WP. Descargo de responsabilidad: No tengo experiencia trabajando en megásitos como estos, así que estoy ofreciendo meras conjeturas.

WP Future

La abición actual de la comunidad WP es cambiar WP de un CMS a un framework. Creo que es una progresión natural teniendo en cuenta que todas las piezas están en su lugar. Y la comunidad de Wordpress va fuerte.

 13
Author: Kyle,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-11-25 19:43:58

Una vez tomé una decisión, trabajando en alguna Start-Up para elegir WordPress para el comercio electrónico avanzado, el mercado impulsado por la comunidad.

Eso. Ser. Peor. Posible. Decisión.

Así es como me sentía:

introduzca la descripción de la imagen aquí

Al principio, se veía bien: tiene una comunidad increíble, un complemento para todo, etc. Pero enfrentemos la verdad - en su raíz - WordPress es la plataforma de blogs !

  • Cada paz de contenido técnicamente es post.
  • Es una pesadilla crear relaciones de elementos avanzados
  • WordPress no está orientado a objetos. Tiene muchas clases, pero en general, tendrás que usar muchos functions como get_post_meta para administrar las características principales de la misma. Algo como $post->author()->comments() es solo un sueño.
  • Las funcionalidades no son consistentes. Algunas funciones funcionan de alguna manera, otras que parecen ser muy similares, funcionan de manera diferente. A veces se necesitan algunos hacks extraños para lograr la tarea que parece ser simple. Le hace leer los documentos muy a menudo para ver cómo funciona la función que está utilizando por 1000a vez. (Para ser honesto, tengo que decir sin embargo, la documentación de WordPress es genial!)

La comunidad de WordPress está haciendo un gran trabajo, pero en comparación con cualquier buen marco, hay una diferencia principal: Los marcos son solo marcos : son un conjunto de herramientas y esas herramientas están ahí para ayudarlo a hacer su proyecto . WordPress ya está tratando de ser algo que luego podrías cambiar.

Yo diría: Si necesitas un coche, puedes comprar algunas herramientas y construirlo, o puedes comprar un camión e intentar modificarlo hasta que empiece a parecerse a un coche.

Nunca usaré WordPress para nada que necesite una funcionalidad bien organizada y personalizada.

Es solo bueno para el blog y algunos pequeños e-commerce (solo porque algunos chicos hicieron un gran trabajo modificando camión para convertirse en un coche creando funcionalidades de productos, que son realmente mensajes, conectándolos con promociones, que son realmente post-metas, agregando algunos gerentes de promociones que de alguna manera mágica lo envuelven).

 12
Author: pie6k,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-05 16:21:48

No es realmente una respuesta, sino una pista:

Http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks

Como si pudiera reemplazarlo completamente... Creo que es sobre todo una cuestión de flujo lógico. Depende de cuánta programación imperativa (Ruby on Rails) vs. descriptiva (WordPress) pretendes hacer.

 3
Author: user1284631,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-13 14:52:52

No creo que wordpress pueda reemplazar rails, porque wordpress tiene un conjunto limitado de API y soporte al compararlo con RoR. Aunque wordpress es una poderosa herramienta para la aplicación de blogs, pero el mismo efecto se puede lograr con rails utilizando gemas como, Radiant CMS, CMS de REFINERÍA, Locomotora. Agregar el poder como ttd que se puede hacer variar fácilmente con rails es muy difícil con wordpress.

Lo mismo con los mecanismos de autenticación y autorización como devise y cancan. No hay una opción fácil para hacer lo mismo con wordpress.

Los rails facilitan la vida del programador. Para toda la aplicación web siempre prefiero ir con los rieles.

 2
Author: maximus ツ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-13 14:56:28

Wordpress no puede reemplazar X framework, pero los dos ciertamente pueden complementarse entre sí.

Por ejemplo, un front-end WP que sirve contenido CMS con un tema atractivo es bastante difícil de superar; proxy a un servidor back-end para contenido personalizado y listo, lo mejor de ambos mundos. De lo contrario, WP inevitablemente se quedará corto de cumplir con todos los requisitos y se encontrará bajando por el agujero de conejo cuadrado, un lugar doloroso de hecho; ahí es donde entra X framework, llenando the WP gaps.

La noción de que WP no escala puede tener algo de verdad, pero para el caso general, el 95%, manejará lo que le arrojes, particularmente con WP Cache u otro plugin de almacenamiento en caché arrojado a la mezcla.

Algunos pueden decir, bueno, ¡puedes construir WP con Django o RoR! Je, je, tú primero; -)

FWIW, evito los frameworks de lenguaje dinámico en favor de sus contrapartes estáticas/fuertemente tipeadas. Use WP para el bling, y static X framework para el velocidad / escalabilidad / seguridad. Por supuesto, eso es una cuestión de preferencia, claramente algunos prefieren la flexibilidad en tiempo de ejecución sobre la seguridad en tiempo de compilación. Estoy completamente en el último campamento estos días...

 2
Author: virtualeyes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-12-29 05:21:18