A framework, a CMS (Content Management System), and a packaged
solution do not meet the same needs or require the same investment
and/or the same expertise.
With packaged software, it's simple: aside from
changing a few parameters, businesses must be content with the
available features, which may be more limited that the initially
defined needs; or the opposite, far too large in number. Aside
from integrating it into the current information system, selecting
packaged software requires very little technical expertise.
A CMS and its add-on modules can be used to
design websites and applications that are fairly close to
businesses' needs, as long as the required modules are available
and maintained!
A framework offers all the flexibility of custom
development and can be used to design an application that
perfectly meets the expressed needs. It, however, requires
development, integration and maintenance related technical
expertise.
Whether it is handwritten or developed using a framework, a PHP
application is a PHP application. And in both cases it requires
technical expertise. Nevertheless, the presence of a framework
guarantees that an application complies with industry rules, is
well structured, maintainable and scalable. It also saves
developers time, by reusing generic modules, so they can focus on
specific business features.