benchmark - ¿Puede Wordpress reemplazar un Framework como Django o Ruby on Rails?
django vs rails 2017 (6)
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 conocía ninguno de los dos idiomas, pero no tengo problemas para aprender uno o dos. Realmente no obtengo los beneficios reales de usar un framework, porque me siento muy confiado sobre el poder de WordPress. Entonces, ¿alguien puede decirme los beneficios reales de usar un marco? Por ejemplo, Pinterest está hecho usando Django, pero creo que puedo lograr los mismos resultados con una plantilla de WordPress usando Javascript y CSS3. ¿Alguien puede decirme las diferencias / beneficios de usar un marco en ese caso particular? ¡Gracias!
No creo que WordPress pueda reemplazar los rieles, porque WordPress tiene un conjunto limitado de API y soporte a medida que lo comparas con RoR. Aunque wordpress es una poderosa herramienta para la aplicación de blogs, pero se puede lograr el mismo efecto con rieles que usan gemas como Radiant CMS, Refinery CMS, Locomotive. Agregar la potencia como ttd que se puede hacer varía fácilmente con los rieles es muy difícil con WordPress.
Lo mismo con mecanismos de autenticación y autorización como idear y cancan. No hay una opción fácil de hacer lo mismo con WordPress.
Los rieles hacen que la vida del programador sea más fácil. Para toda la aplicación web, siempre preferiré ir con los rieles.
No es realmente una respuesta, sino una pista:
http://en.wikipedia.org/wiki/Comparison_of_web_application_frameworks
Como si pudiera reemplazarlo por completo ... Creo que es principalmente una cuestión de flujo lógico. Depende de la programación imperativa (Ruby on Rails) frente a descriptiva (WordPress) que pretenda hacer.
Quiero ofrecer una opinión disidente, a pesar de que voté la respuesta superior.
¿Rails es realmente especial?
Rails fue creado por David Hansson, quien lo extrajo de Basecamp, un software que se replica en un plugin gratuito de 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
Es cierto, no sigue un patrón MVC. Pero si usa hooks , separa la lógica (en complementos) de las vistas (en plantillas), entonces tendrá una buena separación de códigos. (También consejo: los tipos de publicaciones personalizadas son como modelos).
Marco frente a aplicación
Como puede ver, Wordpress se puede tratar como una aplicación o un marco. Es una aplicación, con todos los componentes que esperarías encontrar en un marco. Desde el primer momento, tiene seguridad, autenticación y capacidad de ampliación. Y está destinado a ser extendido.
Escalada
WP otorga el 18% de los sitios web de Internet, incluidos TechCrunch, Smashing Magazine y (partes de) CNN. Parece que hay formas de hacer escala WP. Descargo de responsabilidad: no tengo ninguna experiencia trabajando en megasites como estos, así que estoy ofreciendo meras conjeturas.
WP Future
La actual tendencia de la comunidad de WP es cambiar el WP de un CMS a un marco. Creo que es una progresión natural teniendo en cuenta que todas las piezas están en su lugar. Y la comunidad de Wordpress se está fortaleciendo.
Una vez tomé la decisión de trabajar en Start-Up para elegir WordPress para el comercio electrónico avanzado, un mercado impulsado por la comunidad.
Eso. Estaba. Peor. Posible. Decisión.
Así es como me sentía:
Al principio, se veía bien, tienes una comunidad increíble, un plugin para todo, etc. Pero seamos sinceros: en su raíz, WordPress es una 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á que usar muchas
functions
comoget_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 necesitas algunos hacks extraños para lograr tareas que parecen ser simples. Te hace leer los documentos muy a menudo para ver cómo funciona la función que estás utilizando por milésima vez. (Para ser sincero, debo decir que la documentación de WordPress es genial).
La comunidad de WordPress está haciendo un gran trabajo, pero en comparación con CUALQUIER buen marco de trabajo, hay una diferencia principal: los marcos son solo marcos , son un conjunto de herramientas y esas herramientas están ahí para ayudarte a hacer tu proyecto. WordPress ya está tratando de ser algo que luego puedas cambiar.
Yo diría: si necesita un automóvil, puede comprar algunas herramientas y construirlo, o puede comprar un camión e intentar modificarlo hasta que empiece a parecer un automóvil.
Nunca usaré WordPress para nada que necesite alguna funcionalidad personalizada bien organizada.
Es bueno para blogs y algunos pequeños comercios electrónicos (solo porque algunos chicos hicieron un gran trabajo modificando el camión para convertirse en un automóvil creando funcionalidades de productos, que en realidad son publicaciones, conectándolas con promociones, que son realmente post-metas, agregando algunas promociones gerentes que de alguna manera mágica lo envuelven).
Wordpress no puede reemplazar X framework, pero los dos ciertamente pueden complementarse entre sí.
Por ejemplo, un front-end de WP que sirve contenido de 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 no cumplirá con todos los requisitos y te encontrarás yendo por el agujero de conejo de agujero cuadrado, un lugar doloroso; ahí es donde entra X framework, completando los huecos de WP.
La noción de que WP no escala puede tener algo de verdad, pero para el caso general, el 95%, manejará cualquier cosa que arroje, particularmente con WP Cache u otro complemento de caché lanzado a la mezcla.
Algunos pueden decir, bueno, ¡puedes construir WP con Django o RoR! Je, je, tú primero ;-)
FWIW, evito los marcos de lenguaje dinámicos a favor de sus contrapartes de tipo estático / fuertemente tipado. Utilice WP para el bling y el marco X estático para la velocidad / escalabilidad / seguridad. Por supuesto, eso es una cuestión de preferencia, claramente algunos prefieren la flexibilidad del tiempo de ejecución sobre la seguridad del tiempo de compilación. Estoy completamente en el último campamento en estos días ...
Puede lograr la misma interfaz 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 la aplicación.
Wordpress es muy flexible, pero también lento, y necesita una gran cantidad de TLC para poder operar en cualquier tipo de escala significativa. Su diseño permite una modificación de comportamiento en tiempo de ejecución muy flexible, pero también es una especie de caja de Pandora, ya que significa que el código puede terminar funcionando en cualquier lugar, 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 propia estructura más abstracta que se ejecuta dentro del contexto de Wordpress para poder cumplir las necesidades de su aplicación.
Dicho esto, si tienes una aplicación que puedes compilar en el contexto de Wordpress, yo diría que ¡adelante! Wordpress puede ser una herramienta maravillosa para construir una prueba de concepto o MVP. Si lo pone en funcionamiento, puede ser la elección correcta antes de escribir una solicitud completa. Sin embargo, solo tenga en cuenta que llegará a algunas paredes de ladrillo a medida que el diseño de su producto crezca y su público crezca, a menos que su aplicación se ajuste a un conjunto bastante estrecho de requisitos de diseño, por lo que a largo plazo puede tener que moverse a una aplicación personalizada.
Credenciales: he pasado los últimos años manteniendo una instalación de Wordpress que atendió más de 25 millones de exclusiones mensuales, y tuvimos que ser muy listos para mantenerla en funcionamiento. Desde entonces lo hemos reemplazado con una aplicación de 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 la aplicación que realmente no podíamos obtener con Wordpress.