Web CMS vs Framework vs Custom Build?

I am looking to build a web front-end for a database (mysql) that can add / edit / delete records. In the old days (7 years ago!) I would just knock up a ColdFusion site, connect to the database and start building pages along with a user auth, session management, logging etc. A lot of copy / paste!
This web app needs to edit content in a database which is then synced with a mobile app so in some ways its a CMS, just not a web one. A client will be editing the content so I want to make it look nice / easy to use.

I was wondering if a “custom build” is still the best approach, maybe using PHP, Python, Ruby etc rather than ColdFusion which seems to have died a death.

Would using one of the CMS (Drupal, Joomla, Wordpress) help remove a lot of the initial effort? The CMS seem to be more geared towards editing web content, and although you could get them to do anything are they really the best option. Or is there a more general web framework I should look at? Django etc.

The other thing I was wondering if there was a smart tool that could point at a database and auto create the website for you either in code or as an application ? Kind of an Access database form from the web.

Ideally the UI would nice and clean (Google etc), and was looking to find a Drupal / Joomla theme that would fit the bill but not found anything quite like what I want. So guess I would need to hand craft something.

I have spent the last few years doing a lot of mobile development, and the web world has certainly moved on so any advice would be a great help.


For blogs and general websites, a CMS is best. Since there are so many options available, it’s not worth the time or effort to build your own any more. You mentioned looking at Joomla and Drupal, but I also recommend actually taking a look at wordpress–it’s very flexible, has an uncanny amount of plugins, and a wide-range of themes.

For storefronts, you can either build on a CMS with ecommerce plugins, or go with a fully-fledged ecommerce platform.

What exactly are you trying to create?