How to choose between CMS or Framework according to the need?
Choosing between CMS and Framework is technical stuff for your website. It all depends on your needs, your users, and your long-term vision. Flexibility, Scalability, Lifespan, Maintainability, and Security all criteria that can help you make your choice. It is important to make the right choice from the start. Depending on your evolutionary maintenance (TMA), you will have a difficult site to maintain. Worse still, you risk getting to the point of no return and having to start from scratch.
CMS: CMS stands for Content Management System. It is a content manager that uses a database. There is a wide variety based on different techs. They are all organized in much the same way and integrate common functionalities.
For example, you can manage your users and their access rights, or manage content and how to display it. Concretely, a CMS allows you to create content sites, blogs, and even online stores. Still, in the PHP world, there is also Drupal, CMS that we know well, but more complex to implement and maintain.
- WordPress is above all a community. This CMS benefits from a strong community of developers in the world, since its launch in 2003. It contributes to enrich, improve or create modules(bundles) and quickly corrects flaws. It’s pretty handy because you can easily find what you need. And this is also what explains the thousands of existing modules.
- It’s also a wide variety of themes and modules. You have a number of choices for templates and modules on WP. As we do “tailor-made”, we develop our themes. As for the modules, we install the standard modules to manage the basic issues. Otherwise, we develop ours, because generally a module never meets 100% customer needs.
- A modular tool, easy to take in hand and to develop. WordPress is characterized by its flexibility and versatility. It is quick to set up, it allows the developer to focus on the development of specific modules with high added value. It is suitable for many web projects.
- It is easy to handle for the user. Its editor WYSIWYG (What You See Is What You Get) is very intuitive for users and close to a Word. No need on the webmaster’s side to know the code.
- It is scalable and modular. You can add modules to it as you need. It is also easy to maintain.
- The platform is also well-referenced if you create quality content and remember to fill in the Html tags to feed the search engines.
- The most popular CMS, like WordPress, is open source. Anyone can access sources, including hackers! These are chasing security holes. It’s up to you to make or have regular updates made to your platform.
- They offer customers a maintenance contract (TMA – Tierce Maintenance Applicative). The latter always includes the regular updating of modules to ensure the security of their site.
- We could also talk about proprietary CMS, but that we do not use, because we want to ensure the scalability of the sites we create. Without counting that the site does not belong to you, only its contents! If you want to opt-out, you have to redo your site.
- Finally, CMS cannot respond to all specific requests. If the website is very specific and if its functionality deviates significantly from the CMS specs, then it is in your best interest to start with a Framework type solution.
Framework: The framework provides the designer and the developer with a set of libraries that allow him to build a tailor-made application, by defining a framework that secures his developments. These libraries answer all the problems that can be encountered when developing an app from scratch. They are used in particular for security issues, access to files, management of HTTP exchanges, creation of forms, generation of Html pages. It is like a tool kit for developers. There are very powerful web app oriented frameworks. They allow you to build a website almost as quickly as with a CMS (for standard functionality).
Some examples of Frameworks in PHP: Symphony, Laravel, Cake PHP, Zend, etc.
- Websites developed by using PHP frameworks are more secure. Because they use custom code, it is more difficult to guess their security. Most frameworks also have built-in functions for encrypting and protecting against common vulnerabilities.
- Great flexibility to meet multiple needs.
- Among the undeniable advantages of Symfony, we note its flexibility and its scalability. It incorporates recognized and proven design patterns (modes of organizing development)
- You need more technical skills to get started in a framework because you have to program. And to make it evolve, you also need to call on a developer.
- Framework does not have a default User Interface which makes it’s little harder to operate for the user. To develop the UI you have to know the technical stuff like Bootstrap, SASS, etc.
How to Choose Which one is better:
- To make the choice, our approach is as follows. If your website is content-oriented (articles, news, etc.), we strongly recommend the use of a CMS. Indeed, if you put all your energy into the content, its presentation, it’s writing, the CMS is essential. Then, depending on your needs and your budget, you will opt for a tailor-made site or a “ready-made” site.
- On the other hand, if the website integrates very specific business rules, such as interfacing with the company’s information system, integration of business processes, the input of complex forms (Itavi project), the Framework is everything indicated. For example, if you want to set up a website to offer a service to all your customers, with access to an account (as with many software programs), then you will use a Framework.
There are also CMFs (a mix between CMS and Framework), like Drupal 8. Here you have content management with CMS and the Framework for more specific services. But it’s not that obvious, and not always well integrated.
Also besides, concerning Drupal 8, this requires dual skills: Drupal and Symfony which powers it. This has a cost.
In general, the projects are sharper: it is either one or the other. If you have to use both, you mount one and the other separately. We then create a bridge between the two environments via a Single Sign-On (SSO). If we were to use a metaphor to compare Framework and CMS, it would be like building a house. You have tools (the basic elements, that is to say, a Framework), and with them, you can build your house from A to Z, in a completely personalized way. While with a CMS, the house is already built, and you only decorate it by installing furniture (your content) and painting (the template)!