We get this question over and over again. There are, of course, different articles talking about the cons and pros of both Framework and CMS that help to choose which one suits you best, but here, we’ve decided to discuss this question from a different perspective. First of all we want to make sure that you as a customer understand the difference between the Framework and CMS (Content Management System) and get the answers of a list of questions like “What is the CMS?”, “Why should I make a selection?”, “Can’t I choose both?”, “Aren’t they the same?” and so on.
When we use the term “Framework” it refers mostly to a software framework for a particular programming language. Programmers or web developers often choose a framework based on their favorite programming language as a backbone of the new project. Ideally one should choose the framework and programming language according to project needs.
As to CMS, it’s more of a ready-to-use content management system and unlike framework doesn’t require any coding knowledge and almost everyone can handle a CMS. Most of CMS are very flexible and reasonably extendable, allowing programmers to write new modules and add new functionality to the existing system. Most of them allow complete freedom of styling, theming and modifying the front-end of your application. Most programmers choose to use CMS to accelerate the delivery of a project. It's worth to note that most of CMS are based on a specific software framework - either a common one for a given programming language or a custom, unique one explicitly created for this CMS. Nowadays there are a lot of debates and misunderstandings about what each of those above mentioned methods can offer. Some state that CMS gives every kind of possibility, others disagree and announce that only framework can give endless possibilities. But again, what should we choose?
We can not deny the fact that CMS is more popular than Freamwork and the only reason behind, is that it’s easier to use. However, to understand which one to choose, firstly ask yourself those simple questions and get the fair answers:
- How much time can you dedicate to this project?
- What is your main goal and how flexible has to be your project in the future?
- How much money (if it matters) you will take after the end of the project.
- What will the hosting environment be?
Now let’s go deeper into the examples.
If your project is a typical news agency or a blog, and you are concerned with money and time, you should look closely to use common CMS such as Wordpress. Wordpress, that we used as an example, is the most famous type of CMS which features include a plugin architecture as well as a template system. A lot of people use it while blogging, but it also supports other types of web content such as media galleries, online stores etc. If your project is something unique with complex business logic or has a lot of custom features, or specific requirements (such as memory usage, speed, server software, etc.) then you should weight cons and pros of using web framework vs CMS in terms of flexibility and extensibility. Meanwhile, you should definitely look into frameworks when you are planning a long-term development of a big project with multiple people involved. At this stage, many people complain that it’s very slow to use and requires a lot of time. Indeed, the start may be slow, sometimes very tiring but it’ll guarantee that you won’t end up with a monstrous and slow project filled with spaghetti and dead code after years of development. At this stage, a CMS will not work and your only option will be the Framework (which in its turn, is a great solution).
As a conclusion, there is no silver bullet, and we’ll suggest to consult with competent people and weight their suggestions before starting your web project development.