How would you explain the difference between a PHP Framework and a CMS (like Wordpress) to someone who is very technically savvy, mostly on hardware/networking, but does little or no programming?
As an amateur-to-intermediate programmer myself, I could try to answer these questions but I'd value the input of those who are more experienced with frameworks and CMS.
I've been working for years as a JOOMLA developer. You can do anything with all the most known content management systems(CMS).
MVC is the pattern there too. You can develop your own components, if you need something special.
Furthermore, you do not need to focus on developing common tasks, such as user management, Facebook co-operation, e.t.c.
Why reinvent the wheel? Anything that has been build before, can be bought or even downloaded for free from the repositories. There are so many components out there.
As for appearance, there are 1000s ready made templates that you can get and speed up your development and lower your cost.
Framework = Library CMS = System
A framework doesn't "give" you anything, it's just a skeleton. A cms will give you a functional site, and it's just a matter of themeing and adding content.
You can build a CMS with a framework, but you cannot build a framework with a CMS.
A CMS is just that - a Content Management System.
A framework is a collection of libraries to build an application.
A framework is just that.. something that you can combine pieces of to build an application.
A CMS is an application, that may or may not have been built on top of a framework.
I think this article:
A Framework or a CMS? What is better to choose?
explains the difference between a CMS and a framework. Furthermore you can see 3 examples of where to use a CMS or framework and why. Also if you read the comments below the article, you can see pretty interesting discussions about CMS and Frameworks as well.
frameworks create very good presentable web applications,whereas cms could be fast but can't create as presentable quality as frameworks can.