Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Currently I'm developing the back-end of a PHP application using Recess Framework. I'm almost done and I now need to do the front-end. I have many alternatives and I prefer a CMS. The alternatives in my knowledge are Drupal or Wordpress. The problem is that I've never used Drupal and Wordpress(or any better). Thus I don't which one to choose to develop the app to interact with the REST interface.Can you help me in choosing the best CMS for interacting with the REST interface

share|improve this question
1  
CMS are not just front end, they have a lot of back end stuff too. And in any CMS back end is too tightly coupled with front end, I don't think what you're proposing is possible, you can't just replace the CMS back end with your own. –  Yannis Rizos Nov 16 '11 at 7:49
    
what if we make the back-end of the CMS interact with the RESTful architecture –  Noor Nov 16 '11 at 8:17
2  
back-end of the CMS interact with the RESTful architecture You'd have to change EVERY line of code in the CMS that deals with the database. Trust me, you don't want to do that. –  Yannis Rizos Nov 16 '11 at 9:05
1  
@YannisRizos,thanks for your comments. What do you propose? What do you is a better solution given I already have the rest Architecture in place? –  Noor Nov 16 '11 at 9:45

1 Answer 1

A typical CMS has tightly coupled back end and front end code (unfortunately). Tightly coupled means that it would be a complete waste of time to try and separate the two.

What you can do is:

  • Choose a CMS
  • Disallow access to the CMS backend (that's the easy part)
  • Modify your back end code to work with the CMS's database

The hard part is the database. Every CMS is built to work with a very specific database structure and your back end will have to adopt that structure if you want to glue it with the CMS front end. In this scenario there is no real benefit in choosing Wordpress over Drupal (or vice versa or any other CMS, like Joomla), simply because the challenges of the scenario have nothing to do with the CMS itself. Whichever one you choose, you'll have to either:

  • Modify your back end code to work with the database, or
  • Modify the CMS front end to get its data from your RESTful services (which will probably be insane - you'd have to modify all code that interacts with the database)

If your website is a typical website, and all your needs are covered by the CMS backend (and/or some plugins) then the scenario you're proposing doesn't make any sense. You should just stick with the CMS.

If your needs exceed what the CMS can offer you, and you've made sure that there isn't a plugin out there that does what you want, then the sane choice to still be able to use the CMS, would be to convert your code into a plugin for the CMS of your choice. Or you could just code the front end from scratch as you did with the back end.

I won't go into the which CMS question, since none actually makes sense. I'd advice you to evaluate all three major CMS for PHP, Wordpress, Joomla and Drupal and decide for yourself. CMSes are extremely easy to work with, and relatively easy to code for. I strongly believe that every PHP developer should be familiar if not fluent in all three major CMSes (plus a few more), as to always be able to choose the right one for the job at hand.

Kudos for choosing Recess, it's a great framework, better built than a lot of more popular frameworks.

share|improve this answer
    
Thanks, I've built the RESTful architecture using Recess itself :) and its great. But I think Recess front-end is a bit weak in the sense that we have write from scratch many user interface issues. Correc me if I'm wrong :) –  Noor Nov 16 '11 at 9:49
    
You're not wrong, most frameworks don't care much for user interface issues though, they expect you to build them for yourself. –  Yannis Rizos Nov 16 '11 at 9:56
    
What do you think of using a framework such as GWT for building the front-end. In this case, I'm suggesting GWT only because I already know it. There may be other solutions than that of GWT. Is there? –  Noor Nov 16 '11 at 10:16
1  
Oh absolutely. Building the front end from scratch doesn't mean you shouldn't use every possible framework out there to help you. (framework, not cms) GWT is great for front end stuff and will work nicely with a REST architecture. And for purely front end stuff, you can look at JS/CSS frameworks like jQuery UI and Twitter Bootstrap –  Yannis Rizos Nov 16 '11 at 10:24
1  
weps, thanks lot for your guidelines :) –  Noor Nov 16 '11 at 10:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.