Can Wordpress be replaced by a Framework like Django or Ruby on Rails?
Asked Answered
W

8

61

I consider myself a well trained WordPress template developer, and i recently started to read books and documents about web app frameworks, particularly Django and Ruby on Rails. I didn't know any of the two languages, but i have no problems to learn another one or two. I really don't get the real benefits of using a framework, because i feel very confident about the power of WordPress. So, can anyone tell me the real benefits of using a framework? For example, Pinterest is made using Django, but i think that i can achieve the same results with a WordPress template using Javascript and CSS3. Can anyone tell me the differences/benefits of using a framework in that particular case?

Witte answered 13/12, 2012 at 14:45 Comment(2)
Django and Rails are frameworks for building things - they give you a toolset that helps make rich applications. Wordpress is an application in itself, built without a framework, from scratch, in PHP. So if you are confidant that the requirements of your application falls within the boundaries of what's possible in Wordpress then by all means go for it. Once you step outside those boundaries though you will quickly hit a wall of what's possible.Cooperstein
basically, and I know this is too late to the party, wordpress is a fat cowYellowish
H
100

You can achieve the same frontend with Wordpress, but what you will not be able to achieve is the speed and scale - and most importantly, maintainability - of an application based on a more application-oriented architecture.

Wordpress is highly flexible, but it's also slow, and needs an awful lot of TLC to be able to operate at any kind of significant scale. Its design allows for very flexible runtime modification of behavior, but this is also a bit of a Pandora's Box, since it means that code can end up running all over the place for any given page, which makes maintenance a nightmare.

Wordpress is extremely good at being a CMS, but once you start to push it outside of those bounds, you get into trouble, and find yourself having to write your own more abstract framework that runs inside of the context of Wordpress to be able to fulfill your application's needs.

That said, if you have an application that you can build in the context of Wordpress, I'd say go for it! Wordpress can be a wonderful tool for building a proof-of-concept or MVP. If it gets you up and running, then it may be the right choice over writing a full application. However, just be aware that you're going to hit some brick walls as your product design matures and your audience grows, unless your application fits within a rather narrow set of design requirements, so long-term, you may find yourself having to move to a custom application.

Credentials: I've spent the last couple of years maintaining a Wordpress install that served over 25 million monthly uniques, and we had to get very clever to keep it running. We've since replaced it with a Rails application that serves pages somewhere on the order of 10x-30x faster, and is significantly more extensible as an application, allowing us to start exploring application potential that we really couldn't get with Wordpress.

Hyperventilation answered 13/12, 2012 at 14:56 Comment(5)
that's pretty much what I was going to say myself, but said in a much better way than I could have managedSchott
Thanks for the very well balanced answer. It reflects my experience as well: WordPress gets you up and running very fast and you can bend it quite a bit to meet your needs. But over time as you app becomes more complex things start to get complicated and more and more time is spent working around WordPress's missing features.Fleischer
"and we had to get very clever to keep it running." this is a good thing, no ? This statement may mistakes people to "Go Rails, it allows you to write code that smells like spaghetti, it's fast you don't need to be clever" :-)Tanagra
With regards to programming, clever is nearly always bad. When I say "clever" I mean "esoteric, brittle hacks". If you're writing clever code, you're making someone's job harder six months down the road.Hyperventilation
"Tender Loving Care". Basically, we had to spend a lot of time and effort on it.Hyperventilation
M
20

I once made the decision while working in some start-up to choose WordPress for an advanced e-commerce, community-driven marketplace.

It was an awful decision

This is how I was feeling:

enter image description here

At the beginning, it was looking good - you have an amazing community, plugins for everything etc. But sooner than later I hit the wall - at it's root - WordPress is a blogging platform!

  • Every piece of content technically is a post.
  • It's really hard to create advanced item relationships
  • Functionalities are not consistent. Some functions work one way, while others that seems to be very similar work in a different way. Sometimes you need some weird hacks to achieve task that seem to be simple. It makes you read the docs very often to see how a function that you're using for the 1000th time is working. (However, to be honest, I need to say that the WordPress documentation is great!)

The WordPress community is doing a great job, but compared to any regular Framework there is one main difference - Frameworks are just frameworks - they're a set of tools and those tools are there to help you do your project. WordPress already is trying to be something that you might then change.

I'll never again use WordPress for anything that needs some organised, custom functionality.

I'm actually quite impressed with what people has created with wordpress - so if you want to, it is possible and good luck!

It however often feels like buying a truck and rebuilding it to be a house. There are better ways to build a house.

Marilla answered 5/4, 2016 at 16:13 Comment(0)
L
14

I want to offer a dissenting opinion, even though I upvoted the top answer.

Is Rails really special?

Rails was created by David Hansson who extracted it from Basecamp, software that's replicated in a free Wordpress plugin, WP Project Manager. I think that's a pretty good indicator that Rails developers are underestimating PHP and Wordpress.

MVC and WP

True, it doesn't follow an MVC pattern. But if you use hooks, separate logic (in plugins) from views (in templates), then you'll have good code separation. (Also hint: custom post types are like models.)

Framework vs Application

As you can see, Wordpress can be treated like an application or a framework. It is an application, with all the components you'd expect to find in a framework. Right out of the box you have security, authentication, and extendibility. And it's meant to be extended.

Scaling

WP powers 18% of the internet's websites, including TechCrunch, Smashing Magazine, and (parts of) CNN. Seems there are ways to make WP scale. Disclaimer: I have no experience working on megasites like these, so I'm offering mere conjecture.

WP Future

The current abition of the WP community is to shift WP from a CMS to a framework. I think it's a natural progression considering that all the pieces are in place. And the Wordpress community is going strong.

Lonni answered 25/11, 2013 at 19:43 Comment(2)
Sure you can make WordPress scale, but will it be easier to make Rails scale or WordPress scale? That is the key. Out of the box, wordpress is great, but for heavy customization, then you need to reconsider.Fideliafidelio
I agree with this. The comparison shouldn't be between Django, Rails, and WordPress. It should be between the above and a PHP framework like Laravel, for example.Teth
P
4

Not really an answer, but a hint:

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

As if you can replace it completely... I think it is mostly a matter of logic flow. It depends how much imperative (Ruby on Rails) vs. descriptive (WordPress) programming you intend to do.

Polley answered 13/12, 2012 at 14:52 Comment(0)
C
3

I don't think wordpress can replace rails, because wordpress have limited set of API and support as you compare it with RoR. Though wordpress is powerful tool for blogging application, but the same effect can be achieved with rails using gems like, Radiant CMS, Refinery CMS, Locomotive. Adding the power like ttd that can be done vary easily with rails is very difficult with wordpress.

Same with authentication and authorization mechanism like devise and cancan. There is no easy option to do the same with wordpress.

Rails make the programmer's life easier. For whole web app I will always prefer to go with the rails.

Clea answered 13/12, 2012 at 14:56 Comment(0)
F
3

Wordpress cannot replace X framework, but the two can certainly complement each other.

For example a WP front end serving up CMS content with an attractive theme is pretty hard to beat; proxy to a back end server for custom content and voila, best of both worlds. Otherwise, WP will inevitably fall short of meeting every requirement and you'll find yourself going down the square-peg-round-hole rabbit hole, a painful place indeed; that's where X framework comes in, filling in the WP gaps.

The notion that WP does not scale may have some truth to it, but for the general case, the 95%, it will handle whatever you throw at it, particularly with WP Cache or other caching plugin thrown into the mix.

Some may say, well, you can build WP with Django or RoR! Heh, heh, you first ;-)

FWIW, I avoid dynamic language frameworks in favor of their statically/strongly typed counterparts. Use WP for the bling, and static X framework for the speed/scalability/safety. Of course, that's a matter of preference, clearly some prefer runtime flexibility over compile time safety. I'm fully in the latter camp these days...

Fairspoken answered 29/12, 2012 at 5:21 Comment(0)
R
-1

In the simplest term,, I always want to put it like this...

You can use a framework to make WordPress it self and better But you can't use WordPress to make a framework

Rochellerochemont answered 14/1, 2021 at 19:7 Comment(0)
E
-3

Wordpress is a great CMS any way Pros 1. We can easily set up a website using free themes and plugins 2. There are numerous number of plugins to extend our website functionality 3. Excellent Community support 4. The CMS uses PHP and MySQL, somewhat easy to lean

Cons 1. Updating plugins and themes regularly. 2. Slow 3. Malicious files can be easily injected.

Enid answered 28/4, 2020 at 10:16 Comment(1)
This answer does not answer the OP's question. Please answer the question.Freeway

© 2022 - 2024 — McMap. All rights reserved.